From 3a61aa096c3191e97770a92e4e145fe63ddc1aa4 Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 27 二月 2026 18:41:05 +0800
Subject: [PATCH] 经销商管理

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java |  123 ++++++++++++++++++-----------------------
 1 files changed, 54 insertions(+), 69 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 b941c7c..b71f22a 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
@@ -146,8 +146,10 @@
 
     @Override
     @Transactional(rollbackFor = {Exception.class, BusinessException.class})
-    public Integer dealIntegral(DealIntegralRequest dealIntegralRequest) {
-        Member member = memberMapper.selectById(dealIntegralRequest.getMemberId());
+    public Integer dealIntegral(DealIntegralRequest dealIntegralRequest,Member member) {
+        if(member == null){
+              member = memberMapper.selectById(dealIntegralRequest.getMemberId());
+        }
         if(Objects.isNull(member)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鐢ㄦ埛淇℃伅");
         }
@@ -163,6 +165,7 @@
             info = info .replace("${param1}",dealIntegralRequest.getParam1());
         }
         integral.setContent(info);
+        integral.setRemark(dealIntegralRequest.getRemark());
         integral.setObjId(dealIntegralRequest.getObjId());
         integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
         integral.setType(dealIntegralRequest.getDealType());
@@ -171,27 +174,29 @@
         integral.setOrderCode(dealIntegralRequest.getOrderCode());
         integral.setUserType(Constants.ZERO);
         integralMapper.insert(integral);
-        if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
-            memberMapper.addIntegral(member.getId(),dealIntegralRequest.getIntegralNum(),
-                    dealIntegralRequest.getIntegralObjType().getAddTitle()==Constants.ZERO?dealIntegralRequest.getIntegralNum():BigDecimal.ZERO);
-        }else{
-            memberMapper.subtractIntegral(member.getId(),dealIntegralRequest.getIntegralNum());
-        }
+        LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        memberMapper.update(null,new UpdateWrapper<Member>().lambda()
+                .eq(Member::getId,member.getId())
+                .set(Member::getEditDate,new Date())
+                .set(Member::getEditor,user!=null ? user.getId():null)
+                .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()));
 
         //绔欏唴淇�
         noticeService.saveMemberIntegralNotice(
                 dealIntegralRequest.getIntegralObjType(),Constants.ZERO,member.getId(),dealIntegralRequest.getIntegralNum(),
                 integral.getId(), info
         );
-
-
         return integral.getId();
     }
 
     @Override
-    @Transactional(rollbackFor = {Exception.class, BusinessException.class})
-    public Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest) {
-        Shop shop = shopMapper.selectById(dealIntegralRequest.getMemberId());
+    public Integer dealShopIntegral(DealIntegralRequest dealIntegralRequest,Shop shop) {
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(shop ==null){
+            shop = shopMapper.selectById(dealIntegralRequest.getMemberId());
+        }
         if(Objects.isNull(shop)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌鍟嗘埛淇℃伅");
         }
@@ -199,7 +204,7 @@
         integral.setMemberId(shop.getId());
         integral.setCreateDate(new Date());
         integral.setIsdeleted(Constants.ZERO);
-        integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
+        integral.setTitle( dealIntegralRequest.getIntegralObjType()!=null?dealIntegralRequest.getIntegralObjType().getName():"");
         String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
         info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toString());
         if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
@@ -209,19 +214,28 @@
         integral.setObjId(dealIntegralRequest.getObjId());
         integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
         integral.setType(dealIntegralRequest.getDealType());
+        integral.setRemark(dealIntegralRequest.getRemark());
         integral.setNum(dealIntegralRequest.getIntegralNum());
+        shop.setIntegral(Constants.formatBigdecimal(shop.getIntegral()));
         integral.setTotalNum(dealIntegralRequest.getDealType().equals(Constants.ZERO)? shop.getIntegral().add(integral.getNum()):shop.getIntegral().subtract(integral.getNum()));
         integral.setOrderCode(dealIntegralRequest.getOrderCode());
         integral.setUserType(Constants.ONE);
         integralMapper.insert(integral);
-        if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
 
+        shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
+                    .eq(Shop::getId,shop.getId())
+                    .set(Shop::getEditDate,new Date())
+                    .set(Shop::getEditor,user!=null ? user.getId():null)
+                    .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()));
+     /* if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
             shopMapper.addIntegral(shop.getId(),dealIntegralRequest.getIntegralNum(),
                     dealIntegralRequest.getIntegralObjType().getAddTitle()==Constants.ZERO?dealIntegralRequest.getIntegralNum():BigDecimal.ZERO);
         }else{
 
             shopMapper.subtractIntegral(shop.getId(),dealIntegralRequest.getIntegralNum());
-        }
+        }*/
 
         //绔欏唴淇�
         noticeService.saveMemberIntegralNotice(
@@ -258,12 +272,23 @@
         integral.setOrderCode(dealIntegralRequest.getOrderCode());
         integral.setUserType(Constants.TWO);
         integralMapper.insert(integral);
-        if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
+
+        LoginUserInfo user =(LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
+                .eq(Shop::getId,shop.getId())
+                .set(Shop::getEditDate,new Date())
+                .set(Shop::getEditor,user!=null ? user.getId():null)
+                .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()));
+
+
+      /*  if(dealIntegralRequest.getDealType().equals(Constants.ZERO)){
             shopMapper.addAmount(shop.getId(),dealIntegralRequest.getIntegralNum(),
                     dealIntegralRequest.getIntegralObjType().getAddTitle()==Constants.ZERO?dealIntegralRequest.getIntegralNum():BigDecimal.ZERO);
         }else{
             shopMapper.subtractAmount(shop.getId(),dealIntegralRequest.getIntegralNum());
-        }
+        }*/
         return integral.getId();
     }
 
@@ -511,9 +536,13 @@
         }
         LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
 
-        Date date = new Date();
-        Integral integral = new Integral();
+//        Date date = new Date();
+//        Integral integral = new Integral();
         Constants.IntegralObjType integralObjType =null;
+        DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
+        dealIntegralRequest.setIntegralNum(param.getNum());
+        dealIntegralRequest.setRemark(param.getRemark());
+        dealIntegralRequest.setDealType(param.getType());
         if(Constants.equalsInteger(param.getUserType(), Constants.ZERO)){//鐢ㄦ埛璐﹀彿
             MPJLambdaWrapper<Member> queryWrapper =new MPJLambdaWrapper<>();
             queryWrapper.selectAll(Member.class);
@@ -532,28 +561,11 @@
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛璐︽埛浣欓涓嶈冻锛�");
             }
             integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
-            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-            dealIntegralRequest.setIntegralNum(num);
-            dealIntegralRequest.setDealType(param.getType());
             dealIntegralRequest.setMemberId(model.getId());
-            dealIntegralRequest.setObjId(null);
-            dealIntegralRequest.setOrderCode(null);
+            dealIntegralRequest.setRemark(param.getRemark());
             dealIntegralRequest.setIntegralObjType(integralObjType);
-            this.dealIntegral(dealIntegralRequest);
+            this.dealIntegral(dealIntegralRequest,model);
 
-
-            //璐︽埛浣欓
-//            memberMapper.update(null,new UpdateWrapper<Member>().lambda()
-//                    .eq(Member::getId,model.getId())
-//                    .set(Member::getEditDate,date)
-//                    .set(Member::getEditor,user.getId())
-//                    .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
-//                    .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
-//                    .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
-//
-//            integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
-//            integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
-//            integral.setUserType(Constants.ZERO);
         }else{//缁忛攢鍟嗚处鎴�
             Shop model = shopMapper.selectById(param.getMemberId());
             if(model == null ||Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
@@ -565,42 +577,15 @@
 //                num = num.multiply(new BigDecimal(-1));//鍑忓皯
                 throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"缁忛攢鍟嗚处鎴风Н鍒嗕綑棰濅笉瓒筹紒");
             }
-            //璐︽埛浣欓
-//            shopMapper.update(null,new UpdateWrapper<Shop>().lambda()
-//                    .eq(Shop::getId,model.getId())
-//                    .set(Shop::getEditDate,date)
-//                    .set(Shop::getEditor,user.getId())
-//                    .setSql(param.getType() == 0,"total_integral = ifnull(total_integral,0)+" + num)//绱澧炲姞
-//                    .setSql(param.getType() == 0,"integral = ifnull(integral,0)+" + param.getNum())
-//                    .setSql(param.getType() == 1,"integral = ifnull(integral,0)-" + param.getNum()));
-//            integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
-//            integral.setTotalNum(param.getType() == 0? Constants.formatBigdecimal(model.getIntegral()).add(param.getNum()):Constants.formatBigdecimal(model.getIntegral()).subtract(param.getNum()));
-//            integral.setUserType(Constants.ONE);
 
-            DealIntegralRequest dealIntegralRequest = new DealIntegralRequest();
-            dealIntegralRequest.setIntegralNum(num);
-            dealIntegralRequest.setDealType(param.getType());
+            integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
             dealIntegralRequest.setMemberId(model.getId());
-            dealIntegralRequest.setObjId(null);
-            dealIntegralRequest.setOrderCode(null);
             dealIntegralRequest.setIntegralObjType(integralObjType);
-            this.dealShopIntegral(dealIntegralRequest);
+            this.dealShopIntegral(dealIntegralRequest,model);
 
 
         }
-//        integral.setCreateDate(new Date());
-//        integral.setCreator(user.getId());
-//        integral.setIsdeleted(Constants.ZERO);
-//        integral.setNum(param.getNum());
-//        integral.setTitle(integralObjType.getName());
-//        integral.setContent(integralObjType.getNoteinfo().replace("${param}",integral.getNum().toString()));
-//        integral.setMemberId(param.getMemberId());
-//        integral.setObjId(param.getMemberId());
-//        integral.setObjType(integralObjType.getKey());
-//        integral.setType(param.getType());
-//        integral.setRemark(param.getRemark());
-//        integral.setOrderCode(null);
-//        integralMapper.insert(integral);
+
     }
     @Override
     public IntegralDataResponse getIntegralData(IntegralRecordDTO model){

--
Gitblit v1.9.3