.NETAdmin/ZR.Admin.WebApi/Controllers/Business/GiftClaimController.cs
2025-08-01 13:57:31 +08:00

154 lines
5.5 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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
{
/// <summary>
/// 礼品申领表
/// </summary>
[Route("business/GiftClaim")]
public class GiftClaimController : BaseController
{
/// <summary>
/// 礼品申领表接口
/// </summary>
private readonly IGiftClaimService _GiftClaimService;
public GiftClaimController(IGiftClaimService GiftClaimService)
{
_GiftClaimService = GiftClaimService;
}
/// <summary>
/// 查询礼品申领表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[HttpGet("list")]
[ActionPermissionFilter(Permission = "giftclaim:list")]
public IActionResult QueryGiftClaim([FromQuery] GiftClaimQueryDto parm)
{
var response = _GiftClaimService.GetList(parm);
return SUCCESS(response);
}
/// <summary>
/// 查询礼品申领表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
[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 });
}
/// <summary>
/// 查询礼品申领表详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
[HttpGet("{Id}")]
[ActionPermissionFilter(Permission = "giftclaim:query")]
public IActionResult GetGiftClaim(int Id)
{
var response = _GiftClaimService.GetInfo(Id);
var info = response.Adapt<GiftClaimDto>();
return SUCCESS(info);
}
/// <summary>
/// 添加礼品申领表
/// </summary>
/// <returns></returns>
[HttpPost]
[ActionPermissionFilter(Permission = "giftclaim:add")]
[Log(Title = "礼品申领记录", BusinessType = BusinessType.INSERT)]
public IActionResult AddGiftClaim([FromBody] GiftClaimDto parm)
{
var modal = parm.Adapt<GiftClaim>().ToCreate(HttpContext);
var response = _GiftClaimService.AddGiftClaim(modal);
return SUCCESS(response);
}
/// <summary>
/// 更新礼品申领表
/// </summary>
/// <returns></returns>
[HttpPut]
[ActionPermissionFilter(Permission = "giftclaim:edit")]
[Log(Title = "礼品申领记录", BusinessType = BusinessType.UPDATE)]
public IActionResult UpdateGiftClaim([FromBody] GiftClaimDto parm)
{
var modal = parm.Adapt<GiftClaim>().ToUpdate(HttpContext);
var response = _GiftClaimService.UpdateGiftClaim(modal);
return ToResponse(response);
}
/// <summary>
/// 更新礼品申领表
/// </summary>
/// <returns></returns>
[HttpPost("editStatus")]
[ActionPermissionFilter(Permission = "giftclaim:editStatus")]
[Log(Title = "礼品申领记录", BusinessType = BusinessType.UPDATE, MessageKey = "giftclaim:status")]
public async Task<IActionResult> 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, ""));
}
/// <summary>
/// 删除礼品申领表
/// </summary>
/// <returns></returns>
[HttpPost("delete/{ids}")]
[ActionPermissionFilter(Permission = "giftclaim:delete")]
[Log(Title = "礼品申领表", BusinessType = BusinessType.DELETE)]
public IActionResult DeleteGiftClaim([FromRoute] string ids)
{
var idArr = Tools.SplitAndConvert<int>(ids);
return ToResponse(_GiftClaimService.Delete(idArr));
}
/// <summary>
/// 导出礼品申领表
/// </summary>
/// <returns></returns>
[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);
}
}
}