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