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