using Microsoft.AspNetCore.Mvc; using System; using System.Threading.Tasks; using Znyc.Admin.AspNetCore.Controllers; using Znyc.Admin.AspNetCore.Entitys; using Znyc.Admin.AspNetCore.Mvc; using Znyc.Admin.Commons.Entitys; using Znyc.Admin.Commons.Mapping; using Znyc.Admin.Commons.Pages; using Znyc.Admin.Security.Dtos; using Znyc.Admin.Security.Entitys; using Znyc.Admin.Security.IServices; namespace Znyc.Admin.WebApi.Controllers { /// /// 车辆 /// [ApiController] [Route("api/Security/[controller]")] public class VehicleController : AreaApiController { private readonly IVehicleService _vehicleServices; /// /// 构造函数 /// public VehicleController( IVehicleService vehicleServices ) : base(vehicleServices) { _vehicleServices = vehicleServices; } /// /// 新增前处理数据 /// /// protected override void OnBeforeInsert(Vehicle info) { info.Id = 0; info.CreatedTime = DateTime.Now; info.CreatedUserId = CurrentUser.UserId; info.IsDeleted = false; } /// /// 在更新数据前对数据的修改操作 /// /// /// protected override void OnBeforeUpdate(Vehicle info) { info.CreatedUserId = CurrentUser.UserId; info.ModifiedUserId = CurrentUser.UserId; info.ModifiedTime = DateTime.Now; } /// /// 在软删除数据前对数据的修改操作 /// /// /// protected override void OnBeforeSoftDelete(Vehicle info) { info.IsDeleted = true; } /// /// 异步分页查询 /// /// /// [HttpPost("FindWithPagerSearchAsync")] [FunctionAuthorize("List")] public async Task FindWithPagerSearchAsync(SearchVehicleModel search) { CommonResult> result = new CommonResult> { ResData = await _vehicleServices.FindWithPagerSearchAsync(search), ErrCode = ErrCode.successCode }; return ToJsonContent(result); } /// /// 异步新增数据 /// /// /// [HttpPost("InsertAsync")] [FunctionAuthorize("Add")] public new async Task InsertAsync(VehicleInPutDto input) { CommonResult result = new CommonResult(); Vehicle vehicle = input.MapTo(); OnBeforeInsert(vehicle); result = await _vehicleServices.InsertAsync(vehicle); if (result.Success) { result.ErrCode = ErrCode.successCode; result.ErrMsg = ErrCode.err0; } else { result.ErrMsg = result.ErrMsg; result.ErrCode = "43002"; } return ToJsonContent(result); } /// /// 异步更新数据 /// /// /// [HttpPost("UpdateAsync")] [FunctionAuthorize("Edit")] public async Task UpdateAsync(VehicleUpdateInPutDto input) { CommonResult result = new CommonResult(); Vehicle vehicle = input.MapTo(); OnBeforeUpdate(vehicle); vehicle.Id = input.Id; result = await _vehicleServices.UpdateAsync(vehicle); if (result.Success) { result.ErrCode = ErrCode.successCode; result.ErrMsg = ErrCode.err0; } else { result.ErrMsg = result.ErrMsg; result.ErrCode = "43002"; } return ToJsonContent(result); } /// /// 修改车辆状态 /// /// /// /// [HttpPut("UpdateStatusAsync")] [FunctionAuthorize("")] public async Task UpdateStatusAsync(long id, int status) { CommonResult result = new CommonResult(); result = await _vehicleServices.UpdateStatusAsync(id, status); if (result.Success) { result.ErrCode = ErrCode.successCode; result.ErrMsg = ErrCode.err0; } else { result.ErrMsg = ErrCode.err43002; result.ErrCode = "43002"; } return ToJsonContent(result); } /// /// 修改车辆是否激活 /// /// /// /// [HttpPut("UpdateIsActivateAsync")] [FunctionAuthorize("")] public async Task UpdateIsActivateAsync(long id, bool isActivate) { CommonResult result = new CommonResult(); result = await _vehicleServices.UpdateIsActivateAsync(id, isActivate); if (result.Success) { result.ErrCode = ErrCode.successCode; result.ErrMsg = ErrCode.err0; } else { result.ErrMsg = ErrCode.err43002; result.ErrCode = "43002"; } return ToJsonContent(result); } /// /// 修改车辆是否开启GPS /// /// /// /// [HttpPut("UpdateIsGpsAsync")] [FunctionAuthorize("")] public async Task UpdateIsGpsAsync(long id, bool isGps) { CommonResult result = new CommonResult(); result = await _vehicleServices.UpdateIsGpsAsync(id, isGps); if (result.Success) { result.ErrCode = ErrCode.successCode; result.ErrMsg = ErrCode.err0; } else { result.ErrMsg = ErrCode.err43002; result.ErrCode = "43002"; } return ToJsonContent(result); } } }