This commit is contained in:
zpc 2025-08-18 23:37:08 +08:00
parent 7f0cd141a5
commit 7a20e2f53e
13 changed files with 82 additions and 24 deletions

View File

@ -14,6 +14,7 @@ using ZR.ServiceCore.Resources;
using ZR.Service.Business.IBusinessService;
using ZR.Service.Business;
using System.Threading.Tasks;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressIntracityUpdateStoreRequest.Types;
namespace ZR.Admin.WebApi.Controllers
{
@ -32,6 +33,8 @@ namespace ZR.Admin.WebApi.Controllers
private readonly IStringLocalizer<SharedResource> _localizer;
public readonly ISysDeptService _deptService;
public readonly ISysDictDataService sysDictDataService;
private string domainUrl = AppSettings.GetConfig("Upload:uploadUrl");
/// <summary>
/// 工作记录接口
/// </summary>
@ -253,6 +256,7 @@ namespace ZR.Admin.WebApi.Controllers
/// <returns></returns>
[HttpPost]
[Route("/addworkrecord")]
[AllowAnonymous]
public async Task<IActionResult> AddCamWorkRecord([FromBody] CamRecordWorkDto parm)
{
if (parm.Workers == null || parm.Workers.Count == 0)
@ -263,40 +267,77 @@ namespace ZR.Admin.WebApi.Controllers
{
return ToResponse(ResultCode.PARAM_ERROR, "请上传图片");
}
// -当日所有照片
//-当日所有照片
//- 当日根据【人名】分类的照片
//- 当日根据【工作内容】分类的照片
//- 当日根据【部门】分类的照片
var imageprx = ImageConverter.GetFileExtensionFromBase64(parm.Image);
var imageName = ImageConverter.GenerateImageFileName(imageprx);
var filePath = "files/" + DateTime.Now.ToString("yyyyMMdd");
var path = Path.GetFullPath(filePath);
//try
//{
// var path = Path.GetFullPath(filePath);
if (!Directory.Exists(path))
var filePath = "/workfiles/" + DateTime.Now.ToString("yyyy/yyyyMMdd");
string savePath = Path.Combine(WebHostEnvironment.WebRootPath);
var path = savePath + filePath;
var images = ImageConverter.Base64ToImageBytes(parm.Image);
if (images.Length == 0)
{
Directory.CreateDirectory(path);
return ToResponse(ResultCode.CUSTOM_ERROR, "图片上传失败");
}
var participantsUrl = $"{path}/参与人员/";
var photosDay = $"{path}/当日照片/";
var jobContent = $"{path}/工作内容/";
var department = $"{path}/部门/";
//添加当日照片
if (!Directory.Exists(photosDay))
{
Directory.CreateDirectory(photosDay);
}
var photosDayFileName = $"{photosDay}/{imageName}";
using (var stream = new FileStream(photosDayFileName, FileMode.Create))
{
await stream.WriteAsync(images, 0, images.Length);
}
//添加当日根据【人名】分类的照片
foreach (var work in parm.Workers)
{
var participantsUrlFIleName = $"{participantsUrl}/{work}/";
if (!Directory.Exists(participantsUrlFIleName))
{
Directory.CreateDirectory(participantsUrlFIleName);
}
participantsUrlFIleName += imageName;
using (var stream = new FileStream(participantsUrlFIleName, FileMode.Create))
{
await stream.WriteAsync(images, 0, images.Length);
}
}
//添加当日根据【工作内容】分类的照片
var jobContentUrl = $"{jobContent}/{parm.Content}/";
if (!Directory.Exists(jobContentUrl))
{
Directory.CreateDirectory(jobContentUrl);
}
jobContentUrl += imageName;
using (var stream = new FileStream(jobContentUrl, FileMode.Create))
{
await stream.WriteAsync(images, 0, images.Length);
}
//添加当日根据【部门】分类的照片
var departmentUrl = $"{department}{parm.DeptName}/";
if (!Directory.Exists(departmentUrl))
{
Directory.CreateDirectory(departmentUrl);
}
departmentUrl += imageName;
using (var stream = new FileStream(departmentUrl, FileMode.Create))
{
await stream.WriteAsync(images, 0, images.Length);
}
// using (var stream = new FileStream(finalPath, FileMode.Create))
// {
// await stream.WriteAsync(images, 0, images.Length);
// }
//}
//catch (Exception ex)
//{
//}
//if (!string.IsNullOrEmpty(domainUrl))
//{
// finalPath = domainUrl + "/" + finalPath;
//}
//备份一下本地
var modal = parm.Adapt<CamWorkrecord>().ToCreate(HttpContext);
modal.CreateTime = DateTime.Now;
modal.UpdateTime = DateTime.Now;
modal.ImageUrl = $"{domainUrl}{filePath}/当日照片/{imageName}";
modal = await _CamWorkrecordService.Insertable(modal).ExecuteReturnEntityAsync();
var response = _CamWorkrecordService.AddCamWorkrecord(modal);
var workid = response.Id;
var workid = modal.Id;
var workers = new List<CamWorker>();
foreach (var item in parm.Workers)
{
@ -310,7 +351,7 @@ namespace ZR.Admin.WebApi.Controllers
workers.Add(worker);
}
_CamWorkerService.AsInsertable(workers).ExecuteCommand();
return SUCCESS(response);
return SUCCESS(1);
}
}
}

View File

@ -48,7 +48,7 @@
"DemoMode": false, //
"SingleLogin": false, ///
"workId": 1, //id
"sqlExecutionTime": 5, //Sql
"sqlExecutionTime": 5, //Sql
"Upload": {
"uploadUrl": "http://localhost:8888", //访
"localSavePath": "file", // wwwroot

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 994 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1002 KiB

View File

@ -88,7 +88,24 @@ public static class ImageConverter
// 拼接文件名
return $"{timestamp}_{randomNumber}{extension}";
}
/// <summary>
/// 生成图片名称:时间戳(秒)+4位随机数字
/// 示例16907832451234.png
/// </summary>
/// <param name="extension">文件扩展名(例如 .png、.jpg可选默认值为 .png</param>
/// <returns>生成的图片文件名</returns>
public static string GenerateImageFileNameTime(string extension = ".png")
{
// 获取当前时间戳(秒)
string now = DateTime.Now.ToString("yyyyMMddHHmmssfff");
// 生成 4 位随机数1000 - 9999
Random random = new Random();
int randomNumber = random.Next(1000, 10000);
// 拼接文件名
return $"{now}_{randomNumber}{extension}";
}
}