From 7a38456f48d541d737fb46d19f49484b67a806d0 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期一, 11 五月 2026 13:54:24 +0800
Subject: [PATCH] 小程序   接口开发

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java |   37 +++++++++++++++++++++++++++++--------
 1 files changed, 29 insertions(+), 8 deletions(-)

diff --git a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
index abb185f..cf285ec 100644
--- a/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
+++ b/server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java
@@ -68,6 +68,9 @@
     private GoodsorderMapper goodsorderMapper;
 
     @Autowired
+    private GoodsorderDetailMapper goodsorderDetailMapper;
+
+    @Autowired
     private NoticeService noticeService;
 
     @Autowired
@@ -147,6 +150,14 @@
     @Override
     @Transactional(rollbackFor = {Exception.class, BusinessException.class})
     public Integer dealIntegral(DealIntegralRequest dealIntegralRequest,Member member) {
+        // 绉垎鍙栨暣锛氳幏鍙栧悜涓嬪彇鏁达紝娑堣�楀悜涓婂彇鏁�
+        if(dealIntegralRequest.getIntegralNum() != null){
+            if(Constants.equalsInteger(dealIntegralRequest.getDealType(),Constants.ZERO)){
+                dealIntegralRequest.setIntegralNum(dealIntegralRequest.getIntegralNum().setScale(0, BigDecimal.ROUND_DOWN));
+            }else{
+                dealIntegralRequest.setIntegralNum(dealIntegralRequest.getIntegralNum().setScale(0, BigDecimal.ROUND_UP));
+            }
+        }
         if(member == null){
               member = memberMapper.selectById(dealIntegralRequest.getMemberId());
         }
@@ -160,7 +171,7 @@
         integral.setIsdeleted(Constants.ZERO);
         integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
         String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
-        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().intValue()+"");
+        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toBigInteger().toString());
         if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
             info = info .replace("${param1}",dealIntegralRequest.getParam1());
         }
@@ -185,7 +196,7 @@
 
         //绔欏唴淇�
         noticeService.saveMemberIntegralNotice(
-                dealIntegralRequest.getIntegralObjType(),Constants.ONE,member.getId(),dealIntegralRequest.getIntegralNum(),
+                dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(),
                 integral.getId(), info
         );
         return integral.getId();
@@ -193,6 +204,14 @@
 
     @Override
     public Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest,Shop shop) {
+        // 绉垎鍙栨暣锛氳幏鍙栧悜涓嬪彇鏁达紝娑堣�楀悜涓婂彇鏁�
+        if(dealIntegralRequest.getIntegralNum() != null){
+            if(Constants.equalsInteger(dealIntegralRequest.getDealType(),Constants.ZERO)){
+                dealIntegralRequest.setIntegralNum(dealIntegralRequest.getIntegralNum().setScale(0, BigDecimal.ROUND_DOWN));
+            }else{
+                dealIntegralRequest.setIntegralNum(dealIntegralRequest.getIntegralNum().setScale(0, BigDecimal.ROUND_UP));
+            }
+        }
         if(shop ==null){
             shop = shopMapper.selectById(dealIntegralRequest.getMemberId());
         }
@@ -205,7 +224,7 @@
         integral.setIsdeleted(Constants.ZERO);
         integral.setTitle( dealIntegralRequest.getIntegralObjType()!=null?dealIntegralRequest.getIntegralObjType().getName():"");
         String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
-        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toString());
+        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toBigInteger().toString());
         if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
             info = info .replace("${param1}",dealIntegralRequest.getParam1());
         }
@@ -268,9 +287,9 @@
         shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
                 .eq(Shop::getId,shop.getId())
                 .set(Shop::getEditDate,new Date())
-                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"total_integral = ifnull(total_integral,0)+" + dealIntegralRequest.getIntegralNum())//绱澧炲姞
-                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"integral = ifnull(integral,0)+" +  dealIntegralRequest.getIntegralNum())
-                .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"integral = ifnull(integral,0)-" + dealIntegralRequest.getIntegralNum()));
+                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"TOTAL_AMOUNT = ifnull(TOTAL_AMOUNT,0)+" + dealIntegralRequest.getIntegralNum())//绱澧炲姞
+                .setSql(dealIntegralRequest.getDealType().equals(Constants.ZERO),"AMOUNT = ifnull(AMOUNT,0)+" +  dealIntegralRequest.getIntegralNum())
+                .setSql(dealIntegralRequest.getDealType().equals(Constants.ONE),"AMOUNT = ifnull(AMOUNT,0)-" + dealIntegralRequest.getIntegralNum()));
         return integral.getId();
     }
 
@@ -615,12 +634,14 @@
                                 .reduce(BigDecimal.ZERO, BigDecimal::add)
                 );
                 integralDataResponse.setWaitPayAmount(
-                        goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
+                        goodsorderDetailMapper.selectJoinList(GoodsorderDetail.class,new MPJLambdaWrapper<GoodsorderDetail>()
+                                .selectAll(GoodsorderDetail.class)
+                                .leftJoin(Goodsorder.class,Goodsorder::getId,GoodsorderDetail::getOrderId)
                                 .eq(Goodsorder::getDistributionShopId,model.getMemberId())
                                 .in(Goodsorder::getStatus,Constants.OrderStatus.WAIT_PAY.getKey(),
                                         Constants.OrderStatus.PAY_DONE.getKey(),
                                         Constants.OrderStatus.WAIT_RECEIVE.getKey())
-                        ).stream().map(Goodsorder::getShopSettlement)
+                        ).stream().map(GoodsorderDetail::getShopSettlement)
                         .reduce(BigDecimal.ZERO, BigDecimal::add)
                 );
             }

--
Gitblit v1.9.3