v 1.0.7
新增软件授权和数据信息
This commit is contained in:
@@ -46,7 +46,7 @@ namespace LMS.service.Configuration
|
||||
q.AddTrigger(opts => opts
|
||||
.ForJob(jobKey)
|
||||
.WithIdentity("MonthlyTaskTrigger", "DefaultGroup")
|
||||
.WithCronSchedule("0 0 18 24 * ?")); // 每月1号凌晨0点
|
||||
.WithCronSchedule("0 0 0 1 * ?")); // 每月1号凌晨0点
|
||||
});
|
||||
|
||||
// 添加 Quartz 托管服务
|
||||
|
||||
@@ -5,6 +5,7 @@ using LMS.DAO.UserDAO;
|
||||
using LMS.service.Configuration.InitConfiguration;
|
||||
using LMS.service.Extensions.Mail;
|
||||
using LMS.service.Service;
|
||||
using LMS.service.Service.Other;
|
||||
using LMS.service.Service.PermissionService;
|
||||
using LMS.service.Service.PromptService;
|
||||
using LMS.service.Service.RoleService;
|
||||
@@ -35,8 +36,8 @@ namespace Lai_server.Configuration
|
||||
services.AddScoped<ForwardWordService>();
|
||||
services.AddScoped<SoftwareControlService>();
|
||||
services.AddScoped<SoftwareService>();
|
||||
|
||||
|
||||
services.AddScoped<MachineAuthorizationService>();
|
||||
services.AddScoped<DataInfoService>();
|
||||
|
||||
// 注入 DAO
|
||||
services.AddScoped<UserBasicDao>();
|
||||
|
||||
@@ -0,0 +1,132 @@
|
||||
using LMS.Common.Extensions;
|
||||
using LMS.Repository.DB;
|
||||
using LMS.Repository.DTO;
|
||||
using LMS.Repository.DTO.OtherDto;
|
||||
using LMS.Repository.Other;
|
||||
using LMS.service.Service.Other;
|
||||
using Microsoft.AspNetCore.Authorization;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using static LMS.Common.Enums.ResponseCodeEnum;
|
||||
|
||||
namespace LMS.service.Controllers
|
||||
{
|
||||
[Route("lms/[controller]/[action]")]
|
||||
[ApiController]
|
||||
public class OtherController(MachineAuthorizationService machineAuthorizationService, DataInfoService dataInfoService) : Controller
|
||||
{
|
||||
private readonly MachineAuthorizationService _machineAuthorizationService = machineAuthorizationService;
|
||||
private readonly DataInfoService _dataInfoService = dataInfoService;
|
||||
|
||||
#region 新增机器码/指定授权码
|
||||
|
||||
/// <summary>
|
||||
/// 新增机器码/指定授权码
|
||||
/// </summary>
|
||||
/// <param name="addMachineAuthorization"></param>
|
||||
/// <returns></returns>
|
||||
[HttpPost]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<APIResponseModel<object>>> AddMachineAuthorization(AddMachineAuthorization addMachineAuthorization)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.ParameterError);
|
||||
}
|
||||
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _machineAuthorizationService.AddMachineAuthorization(addMachineAuthorization, userId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 修改机器码/指定授权码
|
||||
[HttpPost("{id}")]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<APIResponseModel<object>>> ModifyMachineAuthorization(string id, AddMachineAuthorization addMachineAuthorization)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.ParameterError);
|
||||
}
|
||||
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _machineAuthorizationService.ModifyMachineAuthorization(id, addMachineAuthorization, userId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取指定的机器授权码
|
||||
|
||||
[HttpGet("{id}")]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<APIResponseModel<MachineAuthorizationDto>>> GetMachineAuthorization(string id)
|
||||
{
|
||||
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _machineAuthorizationService.GetMachineAuthorization(id, userId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取指定的机器码授权码列表
|
||||
|
||||
[HttpGet]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<APIResponseModel<CollectionResponse<MachineAuthorizationDto>>>> QueryMachineAuthorizationCollection([Required] int page, [Required] int pageSize, string? machineId, string? AuthorizationCode, int? type)
|
||||
{
|
||||
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _machineAuthorizationService.QueryMachineAuthorizationCollection(page, pageSize, machineId, AuthorizationCode, type, userId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除指定的机器码授权码
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<APIResponseModel<object>>> DeleteMachineAuthorization(string id)
|
||||
{
|
||||
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _machineAuthorizationService.DeleteMachineAuthorization(id, userId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
#region 新增数据信息
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult<APIResponseModel<object>>> AddDataInfo(AddDataInfo addDataInfo)
|
||||
{
|
||||
if (!ModelState.IsValid)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.ParameterError);
|
||||
}
|
||||
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _dataInfoService.AddDataInfo(addDataInfo);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 查询指定类型的数据信息
|
||||
|
||||
[HttpGet]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<APIResponseModel<CollectionResponse<DataInfo>>>> QueryDataInfoCollection([Required] int page, [Required] int pageSize, int? type)
|
||||
{
|
||||
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _dataInfoService.QueryDataInfoCollection(page, pageSize, type, userId);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除指定的数据信息
|
||||
|
||||
[HttpDelete("{id}")]
|
||||
[Authorize]
|
||||
public async Task<ActionResult<APIResponseModel<object>>> DeleteDataInfo(string id)
|
||||
{
|
||||
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
||||
return await _dataInfoService.DeleteDataInfo(id, userId);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
using LMS.Common.Enums;
|
||||
using LMS.Common.Extensions;
|
||||
using LMS.DAO;
|
||||
using LMS.DAO.UserDAO;
|
||||
using LMS.Repository.DB;
|
||||
using LMS.Repository.DTO;
|
||||
using LMS.Repository.DTO.UserDto;
|
||||
using LMS.Repository.Other;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using static LMS.Common.Enums.ResponseCodeEnum;
|
||||
|
||||
namespace LMS.service.Service.Other
|
||||
{
|
||||
public class DataInfoService(ApplicationDbContext dbContext, UserBasicDao userBasicDao)
|
||||
{
|
||||
private readonly ApplicationDbContext _context = dbContext;
|
||||
private readonly UserBasicDao _userBasicDao = userBasicDao;
|
||||
|
||||
#region 新增数据信息
|
||||
/// <summary>
|
||||
/// 新增数据信息
|
||||
/// </summary>
|
||||
/// <param name="addDataInfo"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ActionResult<APIResponseModel<object>>> AddDataInfo(AddDataInfo addDataInfo)
|
||||
{
|
||||
try
|
||||
{
|
||||
// 判断类型是不是存在
|
||||
if (!Enum.IsDefined(typeof(DataInfoTypeEnum), addDataInfo.Type))
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.ParameterError, "授权类型不存在");
|
||||
}
|
||||
// 直接开始添加
|
||||
DataInfo dataInfo = new DataInfo
|
||||
{
|
||||
ID = Guid.NewGuid().ToString(),
|
||||
Type = addDataInfo.Type,
|
||||
DataString = addDataInfo.DataString,
|
||||
CreatedTime = BeijingTimeExtension.GetBeijingTime()
|
||||
};
|
||||
await _context.DataInfo.AddAsync(dataInfo);
|
||||
await _context.SaveChangesAsync();
|
||||
return APIResponseModel<object>.CreateSuccessResponseModel("数据新增成功");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.SystemError, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取数据信息
|
||||
/// <summary>
|
||||
/// 获取数据信息
|
||||
/// </summary>
|
||||
/// <param name="page"></param>
|
||||
/// <param name="pageSize"></param>
|
||||
/// <param name="type"></param>
|
||||
/// <param name="requestUserId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ActionResult<APIResponseModel<CollectionResponse<DataInfo>>>> QueryDataInfoCollection(int page, int pageSize, int? type, long requestUserId)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool isSuperAdmin = await _userBasicDao.CheckUserIsSuperAdmin(requestUserId);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
return APIResponseModel<CollectionResponse<DataInfo>>.CreateErrorResponseModel(ResponseCode.NotPermissionAction);
|
||||
}
|
||||
|
||||
IQueryable<DataInfo> query = _context.DataInfo;
|
||||
|
||||
if (type.HasValue)
|
||||
{
|
||||
query = query.Where(x => x.Type == (DataInfoTypeEnum)type);
|
||||
}
|
||||
|
||||
// 总数
|
||||
int total = await query.CountAsync();
|
||||
|
||||
// 分页
|
||||
query = query.OrderByDescending(x => x.CreatedTime).Skip((page - 1) * pageSize).Take(pageSize);
|
||||
|
||||
List<DataInfo> dataInfos = await query.ToListAsync();
|
||||
|
||||
CollectionResponse<DataInfo> collectionResponse = new CollectionResponse<DataInfo>
|
||||
{
|
||||
Total = total,
|
||||
Collection = dataInfos,
|
||||
Current = page,
|
||||
};
|
||||
return APIResponseModel<CollectionResponse<DataInfo>>.CreateSuccessResponseModel(collectionResponse);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return APIResponseModel<CollectionResponse<DataInfo>>.CreateErrorResponseModel(ResponseCode.SystemError, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除指定的数据信息
|
||||
/// <summary>
|
||||
/// 删除指定的数据信息
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ActionResult<APIResponseModel<object>>> DeleteDataInfo(string id, long userId)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool isSuperAdmin = await _userBasicDao.CheckUserIsSuperAdmin(userId);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.NotPermissionAction);
|
||||
}
|
||||
|
||||
DataInfo? dataInfo = await _context.DataInfo.FirstOrDefaultAsync(x => x.ID == id);
|
||||
if (dataInfo == null)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.IdDateNotFound);
|
||||
}
|
||||
|
||||
_context.DataInfo.Remove(dataInfo);
|
||||
await _context.SaveChangesAsync();
|
||||
return APIResponseModel<object>.CreateSuccessResponseModel("删除成功");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.SystemError, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,323 @@
|
||||
using AutoMapper;
|
||||
using LMS.Common.Enums;
|
||||
using LMS.Common.Extensions;
|
||||
using LMS.DAO;
|
||||
using LMS.DAO.UserDAO;
|
||||
using LMS.Repository.DB;
|
||||
using LMS.Repository.DTO;
|
||||
using LMS.Repository.DTO.OtherDto;
|
||||
using LMS.Repository.DTO.UserDto;
|
||||
using LMS.Repository.Models.DB;
|
||||
using LMS.Repository.Other;
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using static LMS.Common.Enums.ResponseCodeEnum;
|
||||
|
||||
namespace LMS.service.Service.Other
|
||||
{
|
||||
public class MachineAuthorizationService(UserBasicDao userBasicDao, ApplicationDbContext dbContext, IMapper mapper)
|
||||
{
|
||||
private readonly UserBasicDao _userBasicDao = userBasicDao;
|
||||
private readonly ApplicationDbContext _dbContext = dbContext;
|
||||
private readonly IMapper _mapper = mapper;
|
||||
|
||||
|
||||
#region 新增机器码/指定授权码
|
||||
/// <summary>
|
||||
/// 新增机器码/指定授权码
|
||||
/// </summary>
|
||||
/// <param name="addMachineAuthorization"></param>
|
||||
/// <param name="requestUserId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ActionResult<APIResponseModel<object>>> AddMachineAuthorization(AddMachineAuthorization addMachineAuthorization, long requestUserId)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool isSuperAdmin = await _userBasicDao.CheckUserIsSuperAdmin(requestUserId);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.NotPermissionAction);
|
||||
}
|
||||
|
||||
// 判断类型是不是存在
|
||||
if (!Enum.IsDefined(typeof(MachineAuthorizationEnum), addMachineAuthorization.Type))
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.ParameterError, "授权类型不存在");
|
||||
}
|
||||
|
||||
// 判断相同的机器码和对应的类型的授权的是不是存在
|
||||
MachineAuthorization? machineAuthorizationExist = await _dbContext.MachineAuthorization.FirstOrDefaultAsync(x => x.MachineID == addMachineAuthorization.MachineID && x.Type == addMachineAuthorization.Type);
|
||||
if (machineAuthorizationExist != null)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.ParameterError, "相同的机器码和对应的类型的授权已经存在");
|
||||
}
|
||||
|
||||
// 业务逻辑
|
||||
MachineAuthorization machineAuthorization = new MachineAuthorization
|
||||
{
|
||||
ID = Guid.NewGuid().ToString(),
|
||||
MachineID = addMachineAuthorization.MachineID,
|
||||
AuthorizationCode = addMachineAuthorization.AuthorizationCode,
|
||||
AuthorizedDate = addMachineAuthorization.AuthorizedDate,
|
||||
ExpiryDate = addMachineAuthorization.ExpiryDate,
|
||||
Type = addMachineAuthorization.Type,
|
||||
CreatedUserID = requestUserId,
|
||||
CreatedDate = BeijingTimeExtension.GetBeijingTime(),
|
||||
UpdatedUserID = requestUserId,
|
||||
UpdatedDate = BeijingTimeExtension.GetBeijingTime()
|
||||
};
|
||||
|
||||
await _dbContext.MachineAuthorization.AddAsync(machineAuthorization);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
|
||||
return APIResponseModel<object>.CreateSuccessResponseModel("新增成功");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.SystemError, ex.Message);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 修改机器码/指定授权码
|
||||
|
||||
/// <summary>
|
||||
/// 修改机器码/指定授权码
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="addMachineAuthorization"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public async Task<ActionResult<APIResponseModel<object>>> ModifyMachineAuthorization(string id, AddMachineAuthorization addMachineAuthorization, long userId)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool isSuperAdmin = await _userBasicDao.CheckUserIsSuperAdmin(userId);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.NotPermissionAction);
|
||||
}
|
||||
|
||||
// 判断类型是不是存在
|
||||
if (!Enum.IsDefined(typeof(MachineAuthorizationEnum), addMachineAuthorization.Type))
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.ParameterError, "授权类型不存在");
|
||||
}
|
||||
|
||||
MachineAuthorization? machineAuthorization = await _dbContext.MachineAuthorization.FirstOrDefaultAsync(x => x.ID == id);
|
||||
if (machineAuthorization == null)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.IdDateNotFound);
|
||||
}
|
||||
|
||||
|
||||
// 排除对应的机器码和类型,排除自己
|
||||
MachineAuthorization? machineAuthorizationExist = await _dbContext.MachineAuthorization.FirstOrDefaultAsync(x => x.MachineID == addMachineAuthorization.MachineID && x.Type == addMachineAuthorization.Type && x.ID != id);
|
||||
if (machineAuthorizationExist != null)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.ParameterError, "相同的机器码和对应的类型的授权已经存在");
|
||||
}
|
||||
|
||||
// 开始修改
|
||||
machineAuthorization.MachineID = addMachineAuthorization.MachineID;
|
||||
machineAuthorization.AuthorizationCode = addMachineAuthorization.AuthorizationCode;
|
||||
machineAuthorization.Type = addMachineAuthorization.Type;
|
||||
machineAuthorization.UpdatedUserID = userId;
|
||||
machineAuthorization.UpdatedDate = BeijingTimeExtension.GetBeijingTime();
|
||||
machineAuthorization.AuthorizedDate = addMachineAuthorization.AuthorizedDate;
|
||||
machineAuthorization.ExpiryDate = addMachineAuthorization.ExpiryDate;
|
||||
|
||||
_dbContext.MachineAuthorization.Update(machineAuthorization);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return APIResponseModel<object>.CreateSuccessResponseModel("修改成功");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.SystemError, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取指定的机器授权码
|
||||
/// <summary>
|
||||
/// 获取指定的机器授权码
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="NotImplementedException"></exception>
|
||||
public async Task<ActionResult<APIResponseModel<MachineAuthorizationDto>>> GetMachineAuthorization(string id, long userId)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool isSuperAdmin = await _userBasicDao.CheckUserIsSuperAdmin(userId);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
return APIResponseModel<MachineAuthorizationDto>.CreateErrorResponseModel(ResponseCode.NotPermissionAction);
|
||||
}
|
||||
MachineAuthorization? machineAuthorization = await _dbContext.MachineAuthorization.FirstOrDefaultAsync(x => x.ID == id);
|
||||
if (machineAuthorization == null)
|
||||
{
|
||||
return APIResponseModel<MachineAuthorizationDto>.CreateErrorResponseModel(ResponseCode.IdDateNotFound);
|
||||
}
|
||||
|
||||
User? createdUser = await _dbContext.Users.FirstOrDefaultAsync(x => x.Id == machineAuthorization.CreatedUserID);
|
||||
User? updatedUser = await _dbContext.Users.FirstOrDefaultAsync(x => x.Id == machineAuthorization.UpdatedUserID);
|
||||
UserBaseDto createdUserBasic = _mapper.Map<UserBaseDto>(createdUser);
|
||||
UserBaseDto updatedUserBasic = _mapper.Map<UserBaseDto>(updatedUser);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
createdUserBasic.HideContactInfo();
|
||||
updatedUserBasic.HideContactInfo();
|
||||
}
|
||||
MachineAuthorizationDto machineAuthorizationDto = new MachineAuthorizationDto
|
||||
{
|
||||
ID = machineAuthorization.ID,
|
||||
MachineID = machineAuthorization.MachineID,
|
||||
AuthorizationCode = machineAuthorization.AuthorizationCode,
|
||||
AuthorizedDate = machineAuthorization.AuthorizedDate,
|
||||
ExpiryDate = machineAuthorization.ExpiryDate,
|
||||
Type = machineAuthorization.Type,
|
||||
CreatedUser = createdUserBasic,
|
||||
CreatedDate = machineAuthorization.CreatedDate,
|
||||
UpdatedUser = updatedUserBasic,
|
||||
UpdatedDate = machineAuthorization.UpdatedDate
|
||||
};
|
||||
return APIResponseModel<MachineAuthorizationDto>.CreateSuccessResponseModel(ResponseCode.Success, machineAuthorizationDto);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return APIResponseModel<MachineAuthorizationDto>.CreateErrorResponseModel(ResponseCode.SystemError, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 获取指定的机器码授权码列表
|
||||
|
||||
/// <summary>
|
||||
/// 获取指定的机器码授权码列表
|
||||
/// </summary>
|
||||
/// <param name="page"></param>
|
||||
/// <param name="pageSize"></param>
|
||||
/// <param name="machineId"></param>
|
||||
/// <param name="authorizationCode"></param>
|
||||
/// <param name="requestUserId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ActionResult<APIResponseModel<CollectionResponse<MachineAuthorizationDto>>>> QueryMachineAuthorizationCollection(int page, int pageSize, string? machineId, string? authorizationCode, int? type, long requestUserId)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool isSuperAdmin = await _userBasicDao.CheckUserIsSuperAdmin(requestUserId);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
return APIResponseModel<CollectionResponse<MachineAuthorizationDto>>.CreateErrorResponseModel(ResponseCode.NotPermissionAction);
|
||||
}
|
||||
|
||||
IQueryable<MachineAuthorization> query = _dbContext.MachineAuthorization;
|
||||
if (!string.IsNullOrWhiteSpace(machineId))
|
||||
{
|
||||
query = query.Where(x => x.MachineID.Contains(machineId));
|
||||
}
|
||||
|
||||
if (!string.IsNullOrWhiteSpace(authorizationCode))
|
||||
{
|
||||
query = query.Where(x => x.AuthorizationCode.Contains(authorizationCode));
|
||||
}
|
||||
|
||||
if (type != null)
|
||||
{
|
||||
query = query.Where(x => x.Type == (MachineAuthorizationEnum)type);
|
||||
}
|
||||
|
||||
// 总数
|
||||
int total = await query.CountAsync();
|
||||
|
||||
// 降序/分页
|
||||
List<MachineAuthorization> machineAuthorizations = await query.OrderByDescending(x => x.CreatedDate).Skip((page - 1) * pageSize).Take(pageSize).ToListAsync();
|
||||
|
||||
List<MachineAuthorizationDto> machineAuthorizationDtos = new List<MachineAuthorizationDto>();
|
||||
for (int i = 0; i < machineAuthorizations.Count; i++)
|
||||
{
|
||||
var machineAuthorization = machineAuthorizations[i];
|
||||
User? createdUser = await _dbContext.Users.FirstOrDefaultAsync(x => x.Id == machineAuthorization.CreatedUserID);
|
||||
User? updatedUser = await _dbContext.Users.FirstOrDefaultAsync(x => x.Id == machineAuthorization.UpdatedUserID);
|
||||
UserBaseDto createdUserBasic = _mapper.Map<UserBaseDto>(createdUser);
|
||||
UserBaseDto updatedUserBasic = _mapper.Map<UserBaseDto>(updatedUser);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
createdUserBasic.HideContactInfo();
|
||||
updatedUserBasic.HideContactInfo();
|
||||
}
|
||||
MachineAuthorizationDto machineAuthorizationDto = new MachineAuthorizationDto
|
||||
{
|
||||
ID = machineAuthorization.ID,
|
||||
MachineID = machineAuthorization.MachineID,
|
||||
AuthorizationCode = machineAuthorization.AuthorizationCode,
|
||||
AuthorizedDate = machineAuthorization.AuthorizedDate,
|
||||
ExpiryDate = machineAuthorization.ExpiryDate,
|
||||
Type = machineAuthorization.Type,
|
||||
CreatedUser = createdUserBasic,
|
||||
CreatedDate = machineAuthorization.CreatedDate,
|
||||
UpdatedUser = updatedUserBasic,
|
||||
UpdatedDate = machineAuthorization.UpdatedDate
|
||||
};
|
||||
machineAuthorizationDtos.Add(machineAuthorizationDto);
|
||||
}
|
||||
|
||||
CollectionResponse<MachineAuthorizationDto> collectionResponse = new CollectionResponse<MachineAuthorizationDto>
|
||||
{
|
||||
Total = total,
|
||||
Collection = machineAuthorizationDtos,
|
||||
Current = page,
|
||||
};
|
||||
return APIResponseModel<CollectionResponse<MachineAuthorizationDto>>.CreateSuccessResponseModel(ResponseCode.Success, collectionResponse);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return APIResponseModel<CollectionResponse<MachineAuthorizationDto>>.CreateErrorResponseModel(ResponseCode.SystemError, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region 删除指定的机器码授权码
|
||||
/// <summary>
|
||||
/// 删除指定的机器码授权码
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <param name="requestUserId"></param>
|
||||
/// <returns></returns>
|
||||
public async Task<ActionResult<APIResponseModel<object>>> DeleteMachineAuthorization(string id, long requestUserId)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool isSuperAdmin = await _userBasicDao.CheckUserIsSuperAdmin(requestUserId);
|
||||
if (!isSuperAdmin)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.NotPermissionAction);
|
||||
}
|
||||
|
||||
MachineAuthorization? machineAuthorization = await _dbContext.MachineAuthorization.FirstOrDefaultAsync(x => x.ID == id);
|
||||
if (machineAuthorization == null)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.IdDateNotFound);
|
||||
}
|
||||
|
||||
_dbContext.MachineAuthorization.Remove(machineAuthorization);
|
||||
await _dbContext.SaveChangesAsync();
|
||||
return APIResponseModel<object>.CreateSuccessResponseModel("删除成功");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return APIResponseModel<object>.CreateErrorResponseModel(ResponseCode.SystemError, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,6 @@
|
||||
],
|
||||
"Enrich": [ "FromLogContext" ]
|
||||
},
|
||||
"Version": "1.0.6",
|
||||
"Version": "1.0.7",
|
||||
"AllowedHosts": "*"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user