From c925f697d2c9b7ae4279780026994d6d16a69bf0 Mon Sep 17 00:00:00 2001 From: lwh <2679599887@qq.com> Date: Tue, 29 Aug 2023 18:36:32 +0800 Subject: [PATCH] =?UTF-8?q?init=20=E5=88=9D=E5=A7=8B=E5=8C=96=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E5=94=AE=E5=90=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OrderRefunds/OrderRefundDto.cs | 96 +++++++++ .../OrderManage/OrderRefunds/OrderRefund.cs | 191 ++++++++++++++++++ .../OrderManage/OrderRefunds/OrderRefundVo.cs | 149 ++++++++++++++ .../OrderRefunds/OrderRefundRepository.cs | 20 ++ .../OrderRefunds/OrderRefundService.cs | 119 +++++++++++ .../OrderRefunds/IOrderRefundService.cs | 45 +++++ .../OrderRefunds/OrderRefundController.cs | 132 ++++++++++++ 7 files changed, 752 insertions(+) create mode 100644 ARW.Model/Dto/Business/OrderManage/OrderRefunds/OrderRefundDto.cs create mode 100644 ARW.Model/Models/Business/OrderManage/OrderRefunds/OrderRefund.cs create mode 100644 ARW.Model/Vo/Business/OrderManage/OrderRefunds/OrderRefundVo.cs create mode 100644 ARW.Repository/Business/OrderManage/OrderRefunds/OrderRefundRepository.cs create mode 100644 ARW.Service/Business/BusinessService/OrderManage/OrderRefunds/OrderRefundService.cs create mode 100644 ARW.Service/Business/IBusinessService/OrderManage/OrderRefunds/IOrderRefundService.cs create mode 100644 ARW.WebApi/Controllers/Business/OrderManage/OrderRefunds/OrderRefundController.cs diff --git a/ARW.Model/Dto/Business/OrderManage/OrderRefunds/OrderRefundDto.cs b/ARW.Model/Dto/Business/OrderManage/OrderRefunds/OrderRefundDto.cs new file mode 100644 index 0000000..c2ded52 --- /dev/null +++ b/ARW.Model/Dto/Business/OrderManage/OrderRefunds/OrderRefundDto.cs @@ -0,0 +1,96 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using ARW.Model.Models.Business.OrderManage.OrderRefunds; + +namespace ARW.Model.Dto.Business.OrderManage.OrderRefunds +{ + /// + /// 售后单记录表输入对象 + /// + /// @author lwh + /// @date 2023-08-29 + /// + public class OrderRefundDto + { + + public int OrderRefundId { get; set; } + + public long OrderRefundGuid { get; set; } + + [Required(ErrorMessage = "订单guid不能为空")] + public long OrderGuid { get; set; } + + [Required(ErrorMessage = "客户guid不能为空")] + public long CustomerGuid { get; set; } + + [Required(ErrorMessage = "售后类型(1退货退款 2退货(无需退款) 3换货)不能为空")] + public int RefundType { get; set; } + + [Required(ErrorMessage = "客户退货原因不能为空")] + public int RefundReason { get; set; } + + public string CustomerRefundDesc { get; set; } + + public string CustomerRefundImg { get; set; } + + [Required(ErrorMessage = "商品收货状态(1未收到货 2已收到货)不能为空")] + public int GoodsReceiveStatus { get; set; } + + [Required(ErrorMessage = "商家审核状态(1待审核 2已同意 3已拒绝)不能为空")] + public int MerchantAuditStatus { get; set; } + + public string MerchantRefuseDesc { get; set; } + + [Required(ErrorMessage = "实际退款金额不能为空")] + public decimal RefundMoney { get; set; } + + public long? ShopRefundAddressGuid { get; set; } + + [Required(ErrorMessage = "用户是否发货(1未发货 2已发货)不能为空")] + public int IsCustomerSend { get; set; } + + public DateTime? CustomerSendTime { get; set; } + + public long? LogisticsCompanyGuid { get; set; } + + public string ExpressNo { get; set; } + + [Required(ErrorMessage = "售后单状态(1进行中 2已拒绝 3已完成 4已取消)不能为空")] + public int OrderRefundStatus { get; set; } + + + + + + } + + + /// + /// 售后单记录表查询对象 + /// + /// @author lwh + /// @date 2023-08-29 + /// + public class OrderRefundQueryDto : PagerInfo + { + + public int? RefundType { get; set; } + + public int? RefundReason { get; set; } + + public int? GoodsReceiveStatus { get; set; } + + public int? MerchantAuditStatus { get; set; } + + public int? IsCustomerSend { get; set; } + + public int? OrderRefundStatus { get; set; } + + public string ids { get; set; } + } + + + + +} diff --git a/ARW.Model/Models/Business/OrderManage/OrderRefunds/OrderRefund.cs b/ARW.Model/Models/Business/OrderManage/OrderRefunds/OrderRefund.cs new file mode 100644 index 0000000..af3ee32 --- /dev/null +++ b/ARW.Model/Models/Business/OrderManage/OrderRefunds/OrderRefund.cs @@ -0,0 +1,191 @@ +using System; +using System.Collections.Generic; +using SqlSugar; +using OfficeOpenXml.Attributes; +using Newtonsoft.Json; + +namespace ARW.Model.Models.Business.OrderManage.OrderRefunds +{ + /// + /// 售后单记录表,数据实体对象 + /// + /// @author lwh + /// @date 2023-08-29 + /// + [SugarTable("tb_order_refund")] + public class OrderRefund : BusinessBase + { + + /// + /// 描述 : + /// 空值 : false + /// + [EpplusTableColumn(Header = "OrderRefundId")] + [SugarColumn(IsPrimaryKey = true, IsIdentity = true, ColumnName = "order_refund_id")] + public int OrderRefundId { get; set; } + + + /// + /// 描述 : + /// 空值 : false + /// + [EpplusTableColumn(Header = "OrderRefundGuid")] + [JsonConverter(typeof(ValueToStringConverter))] + [SugarColumn(IsPrimaryKey = true, IsIdentity = false, ColumnName = "order_refund_guid")] + public long OrderRefundGuid { get; set; } + + + /// + /// 描述 :订单guid + /// 空值 : false + /// + [EpplusTableColumn(Header = "订单guid")] + [JsonConverter(typeof(ValueToStringConverter))] + [SugarColumn(ColumnName = "order_guid")] + public long OrderGuid { get; set; } + + + /// + /// 描述 :客户guid + /// 空值 : false + /// + [EpplusTableColumn(Header = "客户guid")] + [JsonConverter(typeof(ValueToStringConverter))] + [SugarColumn(ColumnName = "customer_guid")] + public long CustomerGuid { get; set; } + + + /// + /// 描述 :售后类型(1退货退款 2退货(无需退款) 3换货) + /// 空值 : false + /// + [EpplusTableColumn(Header = "售后类型(1退货退款 2退货(无需退款) 3换货)")] + [SugarColumn(ColumnName = "refund_type")] + public int RefundType { get; set; } + + + /// + /// 描述 :客户退货原因 + /// 空值 : false + /// + [EpplusTableColumn(Header = "客户退货原因")] + [SugarColumn(ColumnName = "refund_reason")] + public int RefundReason { get; set; } + + + /// + /// 描述 :客户退款说明 + /// 空值 : true + /// + [EpplusTableColumn(Header = "客户退款说明")] + [SugarColumn(ColumnName = "customer_refund_desc")] + public string CustomerRefundDesc { get; set; } + + + /// + /// 描述 :客户退款凭证 + /// 空值 : true + /// + [EpplusTableColumn(Header = "客户退款凭证")] + [SugarColumn(ColumnName = "customer_refund_img")] + public string CustomerRefundImg { get; set; } + + + /// + /// 描述 :商品收货状态(1未收到货 2已收到货) + /// 空值 : false + /// + [EpplusTableColumn(Header = "商品收货状态(1未收到货 2已收到货)")] + [SugarColumn(ColumnName = "goods_receive_status")] + public int GoodsReceiveStatus { get; set; } + + + /// + /// 描述 :商家审核状态(1待审核 2已同意 3已拒绝) + /// 空值 : false + /// + [EpplusTableColumn(Header = "商家审核状态(1待审核 2已同意 3已拒绝)")] + [SugarColumn(ColumnName = "merchant_audit_status")] + public int MerchantAuditStatus { get; set; } + + + /// + /// 描述 :商家拒绝原因(说明) + /// 空值 : true + /// + [EpplusTableColumn(Header = "商家拒绝原因(说明)")] + [SugarColumn(ColumnName = "merchant_refuse_desc")] + public string MerchantRefuseDesc { get; set; } + + + /// + /// 描述 :实际退款金额 + /// 空值 : false + /// + [EpplusTableColumn(Header = "实际退款金额")] + [SugarColumn(ColumnName = "refund_money")] + public decimal RefundMoney { get; set; } + + + /// + /// 描述 :商家退货地址guid + /// 空值 : true + /// + [EpplusTableColumn(Header = "商家退货地址guid")] + [JsonConverter(typeof(ValueToStringConverter))] + [SugarColumn(ColumnName = "shop_refund_address_guid")] + public long? ShopRefundAddressGuid { get; set; } + + + /// + /// 描述 :用户是否发货(1未发货 2已发货) + /// 空值 : false + /// + [EpplusTableColumn(Header = "用户是否发货(1未发货 2已发货)")] + [SugarColumn(ColumnName = "is_customer_send")] + public int IsCustomerSend { get; set; } + + + /// + /// 描述 :客户发货时间 + /// 空值 : true + /// + [EpplusTableColumn(Header = "客户发货时间", NumberFormat = "yyyy-MM-dd HH:mm:ss")] + [SugarColumn(ColumnName = "customer_send_time")] + public DateTime? CustomerSendTime { get; set; } + + + /// + /// 描述 :客户发货物流公司guid + /// 空值 : true + /// + [EpplusTableColumn(Header = "客户发货物流公司guid")] + [JsonConverter(typeof(ValueToStringConverter))] + [SugarColumn(ColumnName = "logistics_company_guid")] + public long? LogisticsCompanyGuid { get; set; } + + + /// + /// 描述 :客户发货物流单号 + /// 空值 : true + /// + [EpplusTableColumn(Header = "客户发货物流单号")] + [SugarColumn(ColumnName = "express_no")] + public string ExpressNo { get; set; } + + + /// + /// 描述 :售后单状态(1进行中 2已拒绝 3已完成 4已取消) + /// 空值 : false + /// + [EpplusTableColumn(Header = "售后单状态(1进行中 2已拒绝 3已完成 4已取消)")] + [SugarColumn(ColumnName = "order_refund_status")] + public int OrderRefundStatus { get; set; } + + + + + + + } +} \ No newline at end of file diff --git a/ARW.Model/Vo/Business/OrderManage/OrderRefunds/OrderRefundVo.cs b/ARW.Model/Vo/Business/OrderManage/OrderRefunds/OrderRefundVo.cs new file mode 100644 index 0000000..f8c2aed --- /dev/null +++ b/ARW.Model/Vo/Business/OrderManage/OrderRefunds/OrderRefundVo.cs @@ -0,0 +1,149 @@ +using Newtonsoft.Json; +using OfficeOpenXml.Attributes; +using SqlSugar; +using System; + +namespace ARW.Model.Vo.Business.OrderManage.OrderRefunds +{ + /// + /// 售后单记录表展示对象 + /// + /// @author lwh + /// @date 2023-08-29 + /// + public class OrderRefundVo + { + + + /// + /// 描述 : + /// + [EpplusIgnore] + public int OrderRefundId { get; set; } + + + /// + /// 描述 : + /// + [JsonConverter(typeof(ValueToStringConverter))] + [EpplusIgnore] + public long OrderRefundGuid { get; set; } + + + /// + /// 描述 :订单guid + /// + [JsonConverter(typeof(ValueToStringConverter))] + [EpplusTableColumn(Header = "订单guid")] + public long OrderGuid { get; set; } + + + /// + /// 描述 :客户guid + /// + [JsonConverter(typeof(ValueToStringConverter))] + [EpplusTableColumn(Header = "客户guid")] + public long CustomerGuid { get; set; } + + + /// + /// 描述 :售后类型(1退货退款 2退货(无需退款) 3换货) + /// + [EpplusTableColumn(Header = "售后类型(1退货退款 2退货(无需退款) 3换货)")] + public int RefundType { get; set; } + + + /// + /// 描述 :客户退货原因 + /// + [EpplusTableColumn(Header = "客户退货原因")] + public int RefundReason { get; set; } + + + /// + /// 描述 :客户退款说明 + /// + [EpplusIgnore] + public string CustomerRefundDesc { get; set; } + + + /// + /// 描述 :客户退款凭证 + /// + [EpplusIgnore] + public string CustomerRefundImg { get; set; } + + + /// + /// 描述 :商品收货状态(1未收到货 2已收到货) + /// + [EpplusTableColumn(Header = "商品收货状态(1未收到货 2已收到货)")] + public int GoodsReceiveStatus { get; set; } + + + /// + /// 描述 :商家审核状态(1待审核 2已同意 3已拒绝) + /// + [EpplusTableColumn(Header = "商家审核状态(1待审核 2已同意 3已拒绝)")] + public int MerchantAuditStatus { get; set; } + + + /// + /// 描述 :商家拒绝原因(说明) + /// + [EpplusIgnore] + public string MerchantRefuseDesc { get; set; } + + + /// + /// 描述 :实际退款金额 + /// + [EpplusTableColumn(Header = "实际退款金额")] + public decimal RefundMoney { get; set; } + + + /// + /// 描述 :商家退货地址guid + /// + [JsonConverter(typeof(ValueToStringConverter))] + [EpplusIgnore] + public long? ShopRefundAddressGuid { get; set; } + + + /// + /// 描述 :用户是否发货(1未发货 2已发货) + /// + [EpplusTableColumn(Header = "用户是否发货(1未发货 2已发货)")] + public int IsCustomerSend { get; set; } + + + /// + /// 描述 :客户发货时间 + /// + [EpplusIgnore] + public DateTime? CustomerSendTime { get; set; } + + + /// + /// 描述 :客户发货物流公司guid + /// + [JsonConverter(typeof(ValueToStringConverter))] + [EpplusIgnore] + public long? LogisticsCompanyGuid { get; set; } + + + /// + /// 描述 :客户发货物流单号 + /// + [EpplusIgnore] + public string ExpressNo { get; set; } + + + /// + /// 描述 :售后单状态(1进行中 2已拒绝 3已完成 4已取消) + /// + [EpplusTableColumn(Header = "售后单状态(1进行中 2已拒绝 3已完成 4已取消)")] + public int OrderRefundStatus { get; set; } + + } +} diff --git a/ARW.Repository/Business/OrderManage/OrderRefunds/OrderRefundRepository.cs b/ARW.Repository/Business/OrderManage/OrderRefunds/OrderRefundRepository.cs new file mode 100644 index 0000000..40fed48 --- /dev/null +++ b/ARW.Repository/Business/OrderManage/OrderRefunds/OrderRefundRepository.cs @@ -0,0 +1,20 @@ +using System; +using Infrastructure.Attribute; +using ARW.Repository.System; +using ARW.Model.Models.Business.OrderManage.OrderRefunds; + +namespace ARW.Repository.Business.OrderManage.OrderRefunds +{ + /// + /// 售后单记录表仓储 + /// + /// @author lwh + /// @date 2023-08-29 + /// + [AppService(ServiceLifetime = LifeTime.Transient)] + public class OrderRefundRepository : BaseRepository + { + #region 业务逻辑代码 + #endregion + } +} \ No newline at end of file diff --git a/ARW.Service/Business/BusinessService/OrderManage/OrderRefunds/OrderRefundService.cs b/ARW.Service/Business/BusinessService/OrderManage/OrderRefunds/OrderRefundService.cs new file mode 100644 index 0000000..0c16d93 --- /dev/null +++ b/ARW.Service/Business/BusinessService/OrderManage/OrderRefunds/OrderRefundService.cs @@ -0,0 +1,119 @@ +using Infrastructure.Attribute; +using Microsoft.AspNetCore.Http; +using SqlSugar; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Infrastructure; +using ARW.Model; +using ARW.Repository; +using ARW.Repository.Business.OrderManage.OrderRefunds; +using ARW.Service.Business.IBusinessService.OrderManage.OrderRefunds; +using ARW.Model.Dto.Business.OrderManage.OrderRefunds; +using ARW.Model.Models.Business.OrderManage.OrderRefunds; +using ARW.Model.Vo.Business.OrderManage.OrderRefunds; + +namespace ARW.Service.Business.BusinessService.OrderManage.OrderRefunds +{ + /// + /// 售后单记录表接口实现类 + /// + /// @author lwh + /// @date 2023-08-29 + /// + [AppService(ServiceType = typeof(IOrderRefundService), ServiceLifetime = LifeTime.Transient)] + public class OrderRefundServiceImpl : BaseService, IOrderRefundService + { + private readonly OrderRefundRepository _OrderRefundRepository; + + public OrderRefundServiceImpl(OrderRefundRepository OrderRefundRepository) + { + this._OrderRefundRepository = OrderRefundRepository; + } + + #region 业务逻辑代码 + + + /// + /// 查询售后单记录表分页列表 + /// + public async Task> GetOrderRefundList(OrderRefundQueryDto parm) + { + //开始拼装查询条件d + var predicate = Expressionable.Create(); + + predicate = predicate.AndIF(parm.RefundType != null, s => s.RefundType == parm.RefundType); + predicate = predicate.AndIF(parm.RefundReason != null, s => s.RefundReason == parm.RefundReason); + predicate = predicate.AndIF(parm.GoodsReceiveStatus != null, s => s.GoodsReceiveStatus == parm.GoodsReceiveStatus); + predicate = predicate.AndIF(parm.MerchantAuditStatus != null, s => s.MerchantAuditStatus == parm.MerchantAuditStatus); + predicate = predicate.AndIF(parm.IsCustomerSend != null, s => s.IsCustomerSend == parm.IsCustomerSend); + predicate = predicate.AndIF(parm.OrderRefundStatus != null, s => s.OrderRefundStatus == parm.OrderRefundStatus); + var query = _OrderRefundRepository + .Queryable() + .Where(predicate.ToExpression()) + .OrderBy(s => s.Create_time,OrderByType.Desc) + .Select(s => new OrderRefundVo + { + OrderRefundId = s.OrderRefundId, + OrderRefundGuid = s.OrderRefundGuid, + OrderGuid = s.OrderGuid, + CustomerGuid = s.CustomerGuid, + RefundType = s.RefundType, + RefundReason = s.RefundReason, + CustomerRefundDesc = s.CustomerRefundDesc, + CustomerRefundImg = s.CustomerRefundImg, + GoodsReceiveStatus = s.GoodsReceiveStatus, + MerchantAuditStatus = s.MerchantAuditStatus, + MerchantRefuseDesc = s.MerchantRefuseDesc, + RefundMoney = s.RefundMoney, + ShopRefundAddressGuid = s.ShopRefundAddressGuid, + IsCustomerSend = s.IsCustomerSend, + CustomerSendTime = s.CustomerSendTime, + LogisticsCompanyGuid = s.LogisticsCompanyGuid, + ExpressNo = s.ExpressNo, + OrderRefundStatus = s.OrderRefundStatus, + }); + + + return await query.ToPageAsync(parm); + } + + /// + /// 添加或修改售后单记录表 + /// + public async Task AddOrUpdateOrderRefund(OrderRefund model) + { + if (model.OrderRefundId != 0) + { + var response = await _OrderRefundRepository.UpdateAsync(model); + return "修改成功!"; + } + else + { + + var response = await _OrderRefundRepository.InsertReturnSnowflakeIdAsync(model); + return "添加成功!"; + } + } + + #region Excel处理 + + + /// + /// Excel数据导出处理 + /// + public async Task> HandleExportData(List data) + { + return data; + } + + #endregion + + + +#endregion + + } +} diff --git a/ARW.Service/Business/IBusinessService/OrderManage/OrderRefunds/IOrderRefundService.cs b/ARW.Service/Business/IBusinessService/OrderManage/OrderRefunds/IOrderRefundService.cs new file mode 100644 index 0000000..4a48097 --- /dev/null +++ b/ARW.Service/Business/IBusinessService/OrderManage/OrderRefunds/IOrderRefundService.cs @@ -0,0 +1,45 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ARW.Model; +using ARW.Model.Dto.Business.OrderManage.OrderRefunds; +using ARW.Model.Models.Business.OrderManage.OrderRefunds; +using ARW.Model.Vo.Business.OrderManage.OrderRefunds; + +namespace ARW.Service.Business.IBusinessService.OrderManage.OrderRefunds +{ + /// + /// 售后单记录表接口类 + /// + /// @author lwh + /// @date 2023-08-29 + /// + public interface IOrderRefundService : IBaseService + { + /// + /// 获取售后单记录表分页列表 + /// + /// + /// + Task> GetOrderRefundList(OrderRefundQueryDto parm); + + + /// + /// 添加或修改售后单记录表 + /// + /// + /// + Task AddOrUpdateOrderRefund(OrderRefund parm); + + + + /// + /// Excel导出 + /// + Task> HandleExportData(List data); + + + } +} diff --git a/ARW.WebApi/Controllers/Business/OrderManage/OrderRefunds/OrderRefundController.cs b/ARW.WebApi/Controllers/Business/OrderManage/OrderRefunds/OrderRefundController.cs new file mode 100644 index 0000000..8d4034b --- /dev/null +++ b/ARW.WebApi/Controllers/Business/OrderManage/OrderRefunds/OrderRefundController.cs @@ -0,0 +1,132 @@ +using Infrastructure; +using Infrastructure.Attribute; +using Infrastructure.Enums; +using Infrastructure.Model; +using Mapster; +using Microsoft.AspNetCore.Http; +using Microsoft.AspNetCore.Mvc; +using ARW.Admin.WebApi.Extensions; +using ARW.Admin.WebApi.Filters; +using ARW.Common; +using ARW.Model.Dto.Business.OrderManage.OrderRefunds; +using ARW.Service.Business.IBusinessService.OrderManage.OrderRefunds; +using ARW.Admin.WebApi.Controllers; +using ARW.Model.Models.Business.OrderManage.OrderRefunds; +using ARW.Model.Vo.Business.OrderManage.OrderRefunds; +using Microsoft.AspNetCore.Authorization; +using ARW.Admin.WebApi.Framework; + + +namespace ARW.WebApi.Controllers.Business.OrderManage.OrderRefunds +{ + /// + /// 售后单记录表控制器 + /// + /// @author lwh + /// @date 2023-08-29 + /// + [Verify] + [Route("business/[controller]")] + public class OrderRefundController : BaseController + { + private readonly IOrderRefundService _OrderRefundService; + + /// + /// 依赖注入 + /// + /// 售后单记录表服务 + public OrderRefundController(IOrderRefundService OrderRefundService) + { + _OrderRefundService = OrderRefundService; + } + + + /// + /// 获取售后单记录表列表 + /// + /// 查询参数 + /// + [HttpGet("getOrderRefundList")] + [ActionPermissionFilter(Permission = "business:orderrefund:list")] + public async Task GetOrderRefundList([FromQuery] OrderRefundQueryDto parm) + { + var res = await _OrderRefundService.GetOrderRefundList(parm); + return SUCCESS(res); + } + + /// + /// 添加或修改售后单记录表 + /// + /// + /// + [HttpPost("addOrUpdateOrderRefund")] + [ActionPermissionFilter(Permission = "business:orderrefund:addOrUpdate")] + [Log(Title = "添加或修改售后单记录表", BusinessType = BusinessType.ADDORUPDATE)] + public async Task AddOrUpdateOrderRefund([FromBody] OrderRefundDto parm) + { + if (parm == null) { throw new CustomException("请求参数错误"); } + + var modal = new OrderRefund(); + if (parm.OrderRefundId != 0) modal = parm.Adapt().ToUpdate(HttpContext); + else modal = parm.Adapt().ToCreate(HttpContext); + + var res = await _OrderRefundService.AddOrUpdateOrderRefund(modal); + return SUCCESS(res); + } + + /// + /// 删除售后单记录表 + /// + /// + [HttpDelete("{ids}")] + [ActionPermissionFilter(Permission = "business:orderrefund:delete")] + [Log(Title = "售后单记录表删除", BusinessType = BusinessType.DELETE)] + public IActionResult Delete(string ids) + { + long[] idsArr = Tools.SpitLongArrary(ids); + if (idsArr.Length <= 0) { return ToResponse(ApiResult.Error($"删除失败Id 不能为空")); } + var response = _OrderRefundService.Delete(idsArr); + return SUCCESS("删除成功!"); + } + + + /// + /// 导出售后单记录表 + /// + /// + [Log(Title = "售后单记录表导出", BusinessType = BusinessType.EXPORT, IsSaveResponseData = false)] + [HttpGet("exportOrderRefund")] + [ActionPermissionFilter(Permission = "business:orderrefund:export")] + public async Task ExportExcel([FromQuery] OrderRefundQueryDto parm) + { + parm.PageSize = 10000; + var list = await _OrderRefundService.GetOrderRefundList(parm); + var data = list.Result; + + // 选中数据 + if (!string.IsNullOrEmpty(parm.ids)) + { + int[] idsArr = Tools.SpitIntArrary(parm.ids); + var selectDataList = new List(); + foreach (var item in idsArr) + { + var select_data = data.Where(s => s.OrderRefundId == item).First(); + selectDataList.Add(select_data); + } + data = selectDataList; + } + + + + // 导出数据处理 + var handleData = await _OrderRefundService.HandleExportData(data); + + string sFileName = ExportExcel(handleData, "OrderRefund", "售后单记录表列表"); + return SUCCESS(new { path = "/export/" + sFileName, fileName = sFileName }); + } + + + + + } +}