feat 设备人员上传

This commit is contained in:
2025-09-29 16:04:33 +08:00
parent f71e58dfc1
commit d84d8cd809
5 changed files with 109 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
using Kurisu.AspNetCore.DataAccess.Entity;
using Kurisu.AspNetCore.DataAccess.SqlSugar;
using SqlSugar;
namespace Dlhis.Entity.Device.Entities;
/// <summary>
///
/// </summary>
[SugarTable(TableName = "DeviceUsers")]
public class DeviceUserEntity : SugarBaseEntity, ISoftDeleted
{
/// <summary>
/// 设备唯一号
/// </summary>
[SugarColumn(IsNullable = false, UniqueGroupNameList = new[] { "idx_deviceUsers_deviceUniqueNo" })]
public string DeviceUniqueNo { get; set; }
/// <summary>
/// 用户工号
/// </summary>
[SugarColumn(IsNullable = false)]
public string UserCode { get; set; }
public bool IsDeleted { get; set; }
}

View File

@@ -0,0 +1,32 @@
using Dlhis.ScheduledTask.DeviceUploadLog.Request;
using Dlhis.ScheduledTask.DeviceUploadLog.Services;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace Dlhis.ScheduledTask.DeviceUploadLog.Controllers;
/// <summary>
/// 设备人员
/// </summary>
[Authorize]
[Route("api/[controller]")]
[ApiController]
public class DeviceUserController
{
private readonly IDeviceUserService _deviceUserService;
public DeviceUserController(IDeviceUserService deviceUserService)
{
_deviceUserService = deviceUserService;
}
/// <summary>
/// 上传人员信息
/// </summary>
/// <param name="request"></param>
[HttpPost("upload")]
public async Task UploadAsync([FromBody] DeviceUploadUserCodeRequest request)
{
await _deviceUserService.UploadAsync(request);
}
}

View File

@@ -0,0 +1,11 @@
using System.ComponentModel.DataAnnotations;
namespace Dlhis.ScheduledTask.DeviceUploadLog.Request;
public class DeviceUploadUserCodeRequest
{
[Required]
public string DeviceUniqueNo { get; set; }
public List<string> UserCodes { get; set; }
}

View File

@@ -0,0 +1,8 @@
using Dlhis.ScheduledTask.DeviceUploadLog.Request;
namespace Dlhis.ScheduledTask.DeviceUploadLog.Services;
public interface IDeviceUserService : IScopeDependency
{
Task UploadAsync(DeviceUploadUserCodeRequest request);
}

View File

@@ -0,0 +1,32 @@
using Dlhis.Entity.Device.Entities;
using Dlhis.ScheduledTask.DeviceUploadLog.Request;
using Kurisu.AspNetCore.DataAccess.SqlSugar.Services;
namespace Dlhis.ScheduledTask.DeviceUploadLog.Services.Implements;
public class DeviceUserService : IDeviceUserService
{
private readonly IDbContext _dbContext;
public DeviceUserService(IDbContext dbContext)
{
_dbContext = dbContext;
}
public async Task UploadAsync(DeviceUploadUserCodeRequest request)
{
if (!await _dbContext.Queryable<DeviceUserEntity>().Where(x => x.DeviceUniqueNo == request.DeviceUniqueNo).AnyAsync())
{
var userCodes = request.UserCodes.Distinct().ToList();
var entities = userCodes.Select(userCode => new DeviceUserEntity
{
DeviceUniqueNo = request.DeviceUniqueNo,
UserCode = userCode,
IsDeleted = false
}).ToList();
await _dbContext.InsertAsync(entities);
}
}
}