From 1fc8fde81cbf79ebe95e927f9099cf94c2ccc6e5 Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Thu, 15 May 2025 17:39:04 +0800 Subject: [PATCH] refactor(mall): 优化退款流程和逻辑 --- src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java | 75 +++++++++++++++++++++++++++++++++---- 1 files changed, 67 insertions(+), 8 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java index 49bd7a1..f010894 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AdminMallOrderService.java @@ -2,10 +2,7 @@ import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; -import cc.mrbird.febs.common.enumerates.FlowTypeEnum; -import cc.mrbird.febs.common.enumerates.MoneyFlowTypeEnum; -import cc.mrbird.febs.common.enumerates.OrderDeliveryStateEnum; -import cc.mrbird.febs.common.enumerates.OrderStatusEnum; +import cc.mrbird.febs.common.enumerates.*; import cc.mrbird.febs.mall.dto.*; import cc.mrbird.febs.mall.entity.*; import cc.mrbird.febs.mall.mapper.*; @@ -56,6 +53,7 @@ private final DataDictionaryCustomMapper dataDictionaryCustomMapper; private final IMallMoneyFlowService mallMoneyFlowService; private final MallRefundMapper mallRefundMapper; + private final MallMemberMapper mallMemberMapper; @Override @@ -76,7 +74,16 @@ if(CollUtil.isNotEmpty(mallOrderItemList)){ StringBuffer stringBuffer = new StringBuffer(); for(MallOrderItem mallOrderItem : mallOrderItemList){ - stringBuffer.append(mallOrderItem.getGoodsName()).append("*").append(mallOrderItem.getCnt()).append(";"); + stringBuffer.append(mallOrderItem.getGoodsName()) + .append("-") + .append(mallOrderItem.getSkuName()) + .append("*").append(mallOrderItem.getCnt()).append(";"); + if(ObjectUtil.isNotEmpty(mallOrderItem.getMemberInviteId())){ + MallMember mallMember = mallMemberMapper.selectInfoByInviteId(mallOrderItem.getMemberInviteId()); + if(ObjectUtil.isNotEmpty(mallMember)){ + adminMallOrderInfoVo.setRefererName(mallMember.getName()); + } + } } adminMallOrderInfoVo.setGoodsName(stringBuffer.toString()); } @@ -139,7 +146,7 @@ StringBuffer orderItems = new StringBuffer(); for (MallOrderItem item : mallOrderItems){ StringBuffer orderItem = new StringBuffer(); - orderItems.append(item.getGoodsName()+"-"+item.getCnt()+"*"+item.getPrice()+"-合计"+item.getAmount()+"; \n "); + orderItems.append(item.getGoodsName()+"-"+item.getSkuName()+"-"+item.getCnt()+"*"+item.getPrice()+"-合计"+item.getAmount()+"; \n "); orderItems.append(orderItem); } adminOrderDetailVo.setOrderItems(orderItems.toString()); @@ -184,7 +191,15 @@ //用户钱包增加对应的余额 iApiMallMemberWalletService.addBalance(amount, mallOrderInfo.getMemberId()); - mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), amount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); + mallMoneyFlowService.addMoneyFlow( + mallOrderInfo.getMemberId(), + amount, + ScoreFlowTypeEnum.REFUND.getValue(), + mallOrderInfo.getOrderNo(), + FlowTypeEnum.BALANCE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),amount), + 2 + ); } MallOrderRefundOperation mallOrderRefundOperation = new MallOrderRefundOperation(); @@ -253,7 +268,17 @@ iApiMallMemberWalletService.addBalance(refundAmount, mallOrderInfo.getMemberId()); //新增一条资金流水 - mallMoneyFlowService.addMoneyFlow(mallOrderRefund.getMemberId(), refundAmount, MoneyFlowTypeEnum.REFUND.getValue(), mallOrderInfo.getOrderNo(), FlowTypeEnum.BALANCE.getValue()); + + + mallMoneyFlowService.addMoneyFlow( + mallOrderInfo.getMemberId(), + refundAmount, + ScoreFlowTypeEnum.REFUND.getValue(), + mallOrderInfo.getOrderNo(), + FlowTypeEnum.BALANCE.getValue(), + StrUtil.format(ScoreFlowTypeEnum.REFUND.getDesc(),refundAmount), + 2 + ); return new FebsResponse().success(); } @@ -446,6 +471,40 @@ } @Override + public FebsResponse deliverGoodsUpdate(DeliverGoodsDto deliverGoodsDto) { + MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectById(deliverGoodsDto.getId()); + if(ObjectUtil.isEmpty(mallOrderInfo)){ + return new FebsResponse().fail().message("订单不存在,刷新后重试"); + } + Integer status = mallOrderInfo.getStatus(); + if(3 != status){ + return new FebsResponse().fail().message("订单不是待收货状态"); + } + Integer deliveryType = mallOrderInfo.getDeliveryType(); + if(2 != deliveryType){ + return new FebsResponse().fail().message("订单的配送方式不是快递"); + } + String expressNo = deliverGoodsDto.getExpressNo(); + if(StrUtil.isEmpty(expressNo)){ + return new FebsResponse().fail().message("请输入物流单号"); + } + String expressCom = deliverGoodsDto.getExpressCom(); + if(StrUtil.isEmpty(expressCom)){ + return new FebsResponse().fail().message("请输入物流公司"); + } + MallExpressInfo mallExpressInfo = mallExpressInfoMapper.selectByOrderId(mallOrderInfo.getId()); + + if(ObjectUtil.isEmpty(mallExpressInfo)){ + return new FebsResponse().fail().message("请先发货"); + } + mallExpressInfo.setExpressNo(expressNo); + mallExpressInfo.setExpressCom(expressCom); + mallExpressInfoMapper.updateById(mallExpressInfo); + + return new FebsResponse().success(); + } + + @Override public void deliverGoodsByOrderNo(DeliverGoodsDto deliverGoodsDto) { MallOrderInfo mallOrderInfo = mallOrderInfoMapper.selectByOrderNo(deliverGoodsDto.getOrderNo()); if (mallOrderInfo == null) { -- Gitblit v1.9.1