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);
}
}
}