151 lines
5.3 KiB
C#
151 lines
5.3 KiB
C#
using LMS.Repository.DTO;
|
|
using LMS.Repository.Models.DB;
|
|
using LMS.Repository.Models.Machine;
|
|
using LMS.service.Service;
|
|
using LMS.Tools.Extensions;
|
|
using Microsoft.AspNetCore.Authorization;
|
|
using Microsoft.AspNetCore.Mvc;
|
|
using System.ComponentModel.DataAnnotations;
|
|
using static LMS.Common.Enums.MachineEnum;
|
|
using static LMS.Common.Enums.ResponseCodeEnum;
|
|
using static LMS.Repository.DTO.MachineResponse.MachineDto;
|
|
|
|
namespace LMS.service.Controllers
|
|
{
|
|
[Route("lms/[controller]/[action]")]
|
|
[ApiController]
|
|
public class MachineController(MachineService machineService) : ControllerBase
|
|
{
|
|
private readonly MachineService _machineService = machineService;
|
|
|
|
#region 获取指定机器码的状态
|
|
/// <summary>
|
|
/// 获取指定机器码的状态
|
|
/// </summary>
|
|
/// <param name="machineId"></param>
|
|
/// <returns></returns>
|
|
[HttpGet("{machineId}")]
|
|
public async Task<ActionResult<APIResponseModel<MachineStatusResponse>>> GetMachineStatus(string machineId)
|
|
{
|
|
return await _machineService.GetMachineStatus(machineId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 修改机器码数据
|
|
/// <summary>
|
|
/// 修改当前机器码
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpPost("{id}")]
|
|
[Authorize]
|
|
public async Task<ActionResult<APIResponseModel<string>>> ModifyMachine(string id, [FromBody] MachineModel request)
|
|
{
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return APIResponseModel<string>.CreateErrorResponseModel(ResponseCode.ParameterError);
|
|
}
|
|
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
|
return await _machineService.ModifyMachine(id, request, userId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 添加机器码
|
|
/// <summary>
|
|
/// 添加机器码
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
[HttpPost]
|
|
[Authorize]
|
|
public async Task<ActionResult<APIResponseModel<string>>> AddMachine([FromBody] MachineModel request)
|
|
{
|
|
if (!ModelState.IsValid)
|
|
{
|
|
return APIResponseModel<string>.CreateErrorResponseModel(ResponseCode.ParameterError);
|
|
}
|
|
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
|
return await _machineService.AddMachine(request, userId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 获取机器码列表
|
|
|
|
/// <summary>
|
|
/// 通过查询条件获取机器码列表
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
/// <param name="machineId"></param>
|
|
/// <param name="CreatedUserName"></param>
|
|
/// <param name="status"></param>
|
|
/// <param name="useStatus"></param>
|
|
/// <param name="Remark"></param>
|
|
/// <param name="ownUserName"></param>
|
|
/// <returns></returns>
|
|
[HttpGet]
|
|
[Authorize]
|
|
public async Task<ActionResult<APIResponseModel<CollectionResponse<Machine>>>> QueryMachineCollection([Required] int page, [Required] int pageSize, string? machineId, string? createdUserName, MachineStatus? status, MachineUseStatus? useStatus, string? remark, string? ownUserName)
|
|
{
|
|
long requestUserId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
|
return await _machineService.QueryMachineCollection(page, pageSize, machineId, createdUserName, status, useStatus, remark, ownUserName, requestUserId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 获取指定的机器码详情
|
|
|
|
[HttpGet("{Id}")]
|
|
[Authorize]
|
|
public async Task<ActionResult<APIResponseModel<MachineDetailDto>>> GetMachineDetail(string Id)
|
|
{
|
|
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
|
return await _machineService.GetMachineDetail(Id, userId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 将机器码停用
|
|
|
|
[HttpPost("{Id}")]
|
|
[Authorize]
|
|
public async Task<ActionResult<APIResponseModel<string>>> DeactivateMachine(string Id)
|
|
{
|
|
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
|
return await _machineService.DeactivateMachine(Id, userId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 将机器码升级
|
|
|
|
[HttpPost("{Id}")]
|
|
[Authorize]
|
|
public async Task<ActionResult<APIResponseModel<string>>> UpgradeMachine(string Id)
|
|
{
|
|
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
|
return await _machineService.UpgradeMachine(Id, userId);
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region 删除机器码
|
|
/// <summary>
|
|
/// 删除机器码
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
[HttpDelete("{id}")]
|
|
[Authorize]
|
|
public async Task<ActionResult<APIResponseModel<object>>> DeleteMachine(string id)
|
|
{
|
|
long userId = ConvertExtension.ObjectToLong(HttpContext.Items["UserId"] ?? 0);
|
|
return await _machineService.DeleteMachine(id, userId);
|
|
}
|
|
#endregion
|
|
}
|
|
}
|