feat 设备人员上传
This commit is contained in:
26
Src/Dlhis.Entity/Device/Entities/DeviceUserEntity.cs
Normal file
26
Src/Dlhis.Entity/Device/Entities/DeviceUserEntity.cs
Normal 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; }
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -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; }
|
||||||
|
}
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
using Dlhis.ScheduledTask.DeviceUploadLog.Request;
|
||||||
|
|
||||||
|
namespace Dlhis.ScheduledTask.DeviceUploadLog.Services;
|
||||||
|
|
||||||
|
public interface IDeviceUserService : IScopeDependency
|
||||||
|
{
|
||||||
|
Task UploadAsync(DeviceUploadUserCodeRequest request);
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user