From 77fc61a25c14071584e45731476207959137d6b6 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期三, 04 三月 2026 17:17:39 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java |   44 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
index 408c6a2..bab7944 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/AftersaleServiceImpl.java
@@ -59,6 +59,8 @@
     @Autowired
     private GoodsorderMapper goodsorderMapper;
     @Autowired
+    private NoticeMapper noticeMapper;
+    @Autowired
     private ShopMapper shopMapper;
     @Autowired
     private MemberMapper memberMapper;
@@ -318,7 +320,7 @@
         param.setDealType(Constants.ZERO);
         param.setIntegralNum(integral);
         param.setIntegralObjType(Constants.IntegralObjType.AFTERSALE_BACK);
-        integralService.dealIntegral(param);
+        integralService.dealIntegral(param,null);
     }
 
     private void isBackMoneyValid(BigDecimal actmoney, BigDecimal perPrice, Integer goodsNum, BigDecimal orderPrice,BigDecimal orderIntegral, BigDecimal orderCouponPrice) {
@@ -1009,7 +1011,8 @@
 
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
-    public void afterSaleApply(AfterSaleApplyRequest afterSaleApplyRequest, Integer userId){
+    public void afterSaleApply(AfterSaleApplyRequest afterSaleApplyRequest){
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(Objects.isNull(afterSaleApplyRequest)
             || Objects.isNull(afterSaleApplyRequest.getOrderId())
                 || Objects.isNull(afterSaleApplyRequest.getReturnUseIntegralStatus())
@@ -1032,6 +1035,7 @@
         }
         Aftersale aftersale = new Aftersale();
         aftersale.setCreateDate(new Date());
+        aftersale.setCreator(loginUserInfo.getId());
         aftersale.setIsdeleted(Constants.ZERO);
         aftersale.setOrderId(goodsorder.getId());
         aftersale.setType(Constants.ZERO);
@@ -1046,7 +1050,7 @@
         aftersale.setCode(getNextInCode());
 
         //璁㈠崟閫�鍥炶繑鍥炵粰缁忛攢鍟嗙殑绉垎
-        if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnCustomerIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+        if(Objects.nonNull(goodsorder.getDistributionShopId())){
             Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
             //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
             if(Objects.nonNull(shop)&&shop.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
@@ -1062,13 +1066,13 @@
                     dealIntegralRequest.setObjId(goodsorder.getId());
                     dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
                     dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.SHOP_ORDER_REFUND_INTEGRAL);
-                    integralService.dealShopIntegral(dealIntegralRequest);
+                    integralService.dealShopIntegral(dealIntegralRequest,null);
                 }
             }
         }
 
         //璁㈠崟閫�鍥� 缁忛攢鍟嗙粨绠椾綑棰�
-        if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getShopSettlement().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+        if(Objects.nonNull(goodsorder.getDistributionShopId())){
             Shop shop = shopMapper.selectById(goodsorder.getDistributionShopId());
             //缁忛攢鍟嗗瓨鍦ㄥ墿浣欑Н鍒�
             if(Objects.nonNull(shop)&&shop.getAmount().compareTo(BigDecimal.ZERO)>Constants.ZERO){
@@ -1091,7 +1095,7 @@
         }
 
         //璁㈠崟閫�鍥� 杩旇繕缁欏鎴风殑绉垎
-        if(Objects.nonNull(goodsorder.getDistributionShopId())&&goodsorder.getReturnMemberIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
+        if(Objects.nonNull(goodsorder.getDistributionShopId())){
             Member member = memberMapper.selectById(goodsorder.getMemberId());
             //瀹㈡埛瀛樺湪鍓╀綑绉垎
             if(Objects.nonNull(member)&&member.getIntegral().compareTo(BigDecimal.ZERO)>Constants.ZERO){
@@ -1107,7 +1111,7 @@
                     dealIntegralRequest.setObjId(goodsorder.getId());
                     dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
                     dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND_RETURN);
-                    integralService.dealIntegral(dealIntegralRequest);
+                    integralService.dealIntegral(dealIntegralRequest,null);
                 }
             }
         }
@@ -1123,7 +1127,7 @@
             dealIntegralRequest.setOrderCode(goodsorder.getCode().toString());
             dealIntegralRequest.setIntegralObjType(Constants.IntegralObjType.MEMBER_ORDER_REFUND);
             dealIntegralRequest.setParam1(goodsorder.getCode().toString());
-            integralService.dealIntegral(dealIntegralRequest);
+            integralService.dealIntegral(dealIntegralRequest,null);
         }
 
         //璁㈠崟閫�娆� 閫�鍥炲鎴蜂娇鐢ㄧ殑浼樻儬鍒�
@@ -1142,10 +1146,10 @@
             String refundCode = WxMiniUtilService.wxRefund(goodsorder.getCode().toString(), goodsorder.getPrice(), afterSaleApplyRequest.getMoney());
             Fund fund = new Fund();
             fund.setOrderCode(refundCode);
-            fund.setCreator(userId);
+            fund.setCreator(loginUserInfo.getId());
             fund.setCreateDate(new Date());
             fund.setIsdeleted(Constants.ZERO);
-            fund.setRemark(userId.toString());
+            fund.setRemark(loginUserInfo.getId().toString());
             fund.setMemberId(goodsorder.getCreator());
             fund.setTitle("璁㈠崟閫�娆�");
             fund.setContent(afterSaleApplyRequest.getRemark());
@@ -1164,9 +1168,29 @@
 
         goodsorderMapper.update(null,new UpdateWrapper<Goodsorder>().lambda()
                 .set(Goodsorder::getStatus, Constants.OrderStatus.REFUND.getKey())
+                .set(Goodsorder::getRefundTime, DateUtil.getCurrDateTime())
+                .set(Goodsorder::getRefundMoney, afterSaleApplyRequest.getMoney())
+                .set(Goodsorder::getRefundUserId, loginUserInfo.getId())
+                .set(Goodsorder::getRefundInfo, afterSaleApplyRequest.getRemark())
                 .eq(Goodsorder::getId, goodsorder.getId())
         );
 
+        //閲婃斁鏍搁攢鐮�
+        if(Constants.equalsInteger(goodsorder.getReceiveType(),Constants.ONE)&&StringUtils.isNotBlank(goodsorder.getExchangeCode())){
+            RedisUtil.deleteObject(redisTemplate,Constants.RedisKeys.EXCHANGE_KEY+goodsorder.getExchangeCode());
+        }
+
+
+        //鍙戦�佽鍗曢��娆剧珯鍐呬俊
+        Notice notice = Notice.getNotice(
+                Constants.NoticeType.NOTICE_ORDER_REFUND,
+                goodsorder.getMemberId(),
+                goodsorder.getId()
+        );
+        notice.setContent(notice.getContent().replace("{param}",goodsorder.getCode().toString()));
+        noticeMapper.insert(notice);
+
+
     }
 
 

--
Gitblit v1.9.3