using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Mvc; using System; using System.Threading.Tasks; using Yitter.IdGenerator; using Znyc.Cloudcar.Admin.AspNetCore.Controllers; using Znyc.Cloudcar.Admin.AspNetCore.Entitys; using Znyc.Cloudcar.Admin.AspNetCore.Mvc; using Znyc.Cloudcar.Admin.Commons.Entitys; using Znyc.Cloudcar.Admin.Commons.Pages; using Znyc.Cloudcar.Admin.Security.Dtos; using Znyc.Cloudcar.Admin.Security.Entitys; using Znyc.Cloudcar.Admin.Security.IServices; namespace Znyc.Cloudcar.Admin.WebApi.Controllers { /// <summary> /// 设备 /// </summary> [ApiController] [Route("api/Security/[controller]")] public class EquipmentController : AreaApiController<EquipmentEntity, EquipmentOutputDto, EquipmentAddInput, IEquipmentService, long> { /// <summary> /// 设备管理 /// </summary> /// <param name="service"></param> public EquipmentController(IEquipmentService service) : base(service) { } /// <summary> /// 新增前处理数据 /// </summary> /// <param name="info"></param> protected override void OnBeforeInsert(EquipmentEntity info) { info.Id = YitIdHelper.NextId(); info.CreatedTime = DateTime.Now; info.CreatedUserId = CurrentUser.UserId; info.IsDeleted = false; } /// <summary> /// 在更新数据前对数据的修改操作 /// </summary> /// <param name="info"></param> /// <returns></returns> protected override void OnBeforeUpdate(EquipmentEntity info) { info.ModifiedUserId = CurrentUser.UserId; info.ModifiedTime = DateTime.Now; } /// <summary> /// 在软删除数据前对数据的修改操作 /// </summary> /// <param name="info"></param> /// <returns></returns> protected override void OnBeforeSoftDelete(EquipmentEntity info) { info.IsDeleted = true; } /// <summary> /// 分页查询 /// </summary> /// <param name="search"></param> /// <returns></returns> [HttpPost("FindWithPagerSearchAsync")] [FunctionAuthorize("List")] [AllowAnonymous] public async Task<IActionResult> FindWithPagerSearchAsync(SearchEquipmentModel search) { var result = new CommonResult<PageResult<EquipmentOutputDto>> { ResData = await _service.FindWithPagerSearchAsync(search), ErrCode = ErrCode.successCode }; return ToJsonContent(result); } /// <summary> /// 下架 /// </summary> /// <returns></returns> [HttpPut] public async Task<IActionResult> CancelAsync(long id) { CommonResult result = new CommonResult(); result= await _service.CancelAsync(id); if (result.Success) { result.ErrCode = ErrCode.successCode; result.ErrMsg = ErrCode.err0; } else { result.ErrMsg = ErrCode.err43002; result.ErrCode = "43002"; } return ToJsonContent(result); } /// <summary> /// 成交 /// </summary> /// <returns></returns> [HttpPut("CompleteAsync")] public async Task<IActionResult> CompleteAsync(long id) { CommonResult result = new CommonResult(); result = await _service.CompleteAsync(id); if (result.Success) { result.ErrCode = ErrCode.successCode; result.ErrMsg = ErrCode.err0; } else { result.ErrMsg = ErrCode.err43002; result.ErrCode = "43002"; } return ToJsonContent(result); } } }