using Microsoft.AspNetCore.Mvc; using ZR.Model.Business.Dto; using ZR.Model.Business; using ZR.Service.Business.IBusinessService; using System.Threading.Tasks; //创建时间:2025-07-30 namespace ZR.Admin.WebApi.Controllers.Business { /// /// 礼品申领表 /// [Route("business/GiftClaim")] public class GiftClaimController : BaseController { /// /// 礼品申领表接口 /// private readonly IGiftClaimService _GiftClaimService; public GiftClaimController(IGiftClaimService GiftClaimService) { _GiftClaimService = GiftClaimService; } /// /// 查询礼品申领表列表 /// /// /// [HttpGet("list")] [ActionPermissionFilter(Permission = "giftclaim:list")] public IActionResult QueryGiftClaim([FromQuery] GiftClaimQueryDto parm) { var response = _GiftClaimService.GetList(parm); return SUCCESS(response); } /// /// 查询礼品申领表列表 /// /// /// [HttpGet("statistics")] public IActionResult getGiftClaimStatistics() { var nowDate = DateTime.Now.Date; var nowCount = _GiftClaimService.AsQueryable().Count(); var shenheCount = _GiftClaimService.AsQueryable().Where(it => it.Status == 0).Count(); var shenheCount1 = _GiftClaimService.AsQueryable().Where(it => it.Status == 1).Count(); var shenheCount2 = _GiftClaimService.AsQueryable().Where(it => it.Status == 2).Count(); return SUCCESS(new { nowCount, shenheCount, shenheCount1, shenheCount2 }); } /// /// 查询礼品申领表详情 /// /// /// [HttpGet("{Id}")] [ActionPermissionFilter(Permission = "giftclaim:query")] public IActionResult GetGiftClaim(int Id) { var response = _GiftClaimService.GetInfo(Id); var info = response.Adapt(); return SUCCESS(info); } /// /// 添加礼品申领表 /// /// [HttpPost] [ActionPermissionFilter(Permission = "giftclaim:add")] [Log(Title = "礼品申领记录", BusinessType = BusinessType.INSERT)] public IActionResult AddGiftClaim([FromBody] GiftClaimDto parm) { var modal = parm.Adapt().ToCreate(HttpContext); var response = _GiftClaimService.AddGiftClaim(modal); return SUCCESS(response); } /// /// 更新礼品申领表 /// /// [HttpPut] [ActionPermissionFilter(Permission = "giftclaim:edit")] [Log(Title = "礼品申领记录", BusinessType = BusinessType.UPDATE)] public IActionResult UpdateGiftClaim([FromBody] GiftClaimDto parm) { var modal = parm.Adapt().ToUpdate(HttpContext); var response = _GiftClaimService.UpdateGiftClaim(modal); return ToResponse(response); } /// /// 更新礼品申领表 /// /// [HttpPost("editStatus")] [ActionPermissionFilter(Permission = "giftclaim:editStatus")] [Log(Title = "礼品申领记录", BusinessType = BusinessType.UPDATE, MessageKey = "giftclaim:status")] public async Task UpdateGiftClaimStatus([FromQuery] int id, [FromQuery] int status) { var model = await _GiftClaimService.AsQueryable().FirstAsync(it => it.Id == id); if (model == null) { return ToResponse(ResultCode.FAIL, "礼品申领数据不存在"); } model.Status = status; model.ReviewAt = DateTime.Now; var response = await _GiftClaimService.UpdateAsync(model); return ToResponse(new ApiResult(response ? 200 : 500, "")); } /// /// 删除礼品申领表 /// /// [HttpPost("delete/{ids}")] [ActionPermissionFilter(Permission = "giftclaim:delete")] [Log(Title = "礼品申领表", BusinessType = BusinessType.DELETE)] public IActionResult DeleteGiftClaim([FromRoute] string ids) { var idArr = Tools.SplitAndConvert(ids); return ToResponse(_GiftClaimService.Delete(idArr)); } /// /// 导出礼品申领表 /// /// [Log(Title = "礼品申领记录", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] [HttpGet("export")] [ActionPermissionFilter(Permission = "giftclaim:export")] public IActionResult Export([FromQuery] GiftClaimQueryDto parm) { var list = _GiftClaimService.ExportList(parm).Result; if (list == null || list.Count <= 0) { return ToResponse(ResultCode.FAIL, "没有要导出的数据"); } var result = ExportExcelMini(list, "礼品申领记录", "礼品申领记录"); return ExportExcel(result.Item2, result.Item1); } } }