From c384e04f81caf681647c602d5896cc10b289582e Mon Sep 17 00:00:00 2001
From: doum <doum>
Date: 星期五, 27 二月 2026 14:59:16 +0800
Subject: [PATCH] 经销商管理

---
 server/dmmall_service/src/main/java/com/doumee/service/business/impl/IntegralServiceImpl.java |  279 +++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 237 insertions(+), 42 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 06eff63..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
@@ -7,15 +7,11 @@
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
+import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
-import com.doumee.dao.business.IntegralMapper;
-import com.doumee.dao.business.MemberMapper;
-import com.doumee.dao.business.ShopMapper;
+import com.doumee.dao.business.*;
 import com.doumee.dao.business.join.IntegralJoinMapper;
-import com.doumee.dao.business.model.Fund;
-import com.doumee.dao.business.model.Integral;
-import com.doumee.dao.business.model.Member;
-import com.doumee.dao.business.model.Shop;
+import com.doumee.dao.business.model.*;
 import com.doumee.dao.system.model.SystemDictData;
 import com.doumee.dao.web.dto.IntegralDTO;
 import com.doumee.dao.web.dto.IntegralRecordDTO;
@@ -27,6 +23,7 @@
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.doumee.service.business.NoticeService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.shiro.SecurityUtils;
@@ -66,6 +63,15 @@
 
     @Autowired
     private ShopMapper shopMapper;
+
+    @Autowired
+    private WithdrawRecordMapper withdrawRecordMapper;
+
+    @Autowired
+    private GoodsorderMapper goodsorderMapper;
+
+    @Autowired
+    private NoticeService noticeService;
 
     @Transactional(rollbackFor = {Exception.class, BusinessException.class})
     @Override
@@ -140,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(),"鏈煡璇㈠埌鐢ㄦ埛淇℃伅");
         }
@@ -151,7 +159,13 @@
         integral.setCreator(member.getId());
         integral.setIsdeleted(Constants.ZERO);
         integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
-        integral.setContent(dealIntegralRequest.getIntegralObjType().getNoteinfo());
+        String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
+        info = info.replace("${param}",dealIntegralRequest.getIntegralNum().toString());
+        if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
+            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());
@@ -160,19 +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(),"鏈煡璇㈠埌鍟嗘埛淇℃伅");
         }
@@ -180,22 +204,44 @@
         integral.setMemberId(shop.getId());
         integral.setCreateDate(new Date());
         integral.setIsdeleted(Constants.ZERO);
-        integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
-        integral.setContent(dealIntegralRequest.getIntegralObjType().getNoteinfo());
+        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())){
+            info = info .replace("${param1}",dealIntegralRequest.getParam1());
+        }
+        integral.setContent(info);
         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(
+                dealIntegralRequest.getIntegralObjType(),Constants.ZERO,shop.getId(),dealIntegralRequest.getIntegralNum(),
+                integral.getId(), info
+        );
         return integral.getId();
     }
 
@@ -212,21 +258,37 @@
         integral.setCreateDate(new Date());
         integral.setIsdeleted(Constants.ZERO);
         integral.setTitle(dealIntegralRequest.getIntegralObjType().getName());
-        integral.setContent(dealIntegralRequest.getIntegralObjType().getNoteinfo());
+        integral.setNum(dealIntegralRequest.getIntegralNum());
+        String info = dealIntegralRequest.getIntegralObjType().getNoteinfo();
+        info = info.replace("${param}",integral.getNum().toString());
+        if(StringUtils.isNotBlank(dealIntegralRequest.getParam1())){
+            info = info .replace("${param1}",dealIntegralRequest.getParam1());
+        }
+        integral.setContent(info);
         integral.setObjId(dealIntegralRequest.getObjId());
         integral.setObjType(dealIntegralRequest.getIntegralObjType().getKey());
         integral.setType(dealIntegralRequest.getDealType());
-        integral.setNum(dealIntegralRequest.getIntegralNum());
         integral.setTotalNum(dealIntegralRequest.getDealType().equals(Constants.ZERO)? shop.getAmount().add(integral.getNum()):shop.getAmount().subtract(integral.getNum()));
         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();
     }
 
@@ -317,14 +379,14 @@
         Utils.MP.blankToNull(pageWrap.getModel());
 
         queryWrapper.selectAll(Integral.class);
-        queryWrapper.selectAs(Member::getNickname, Fund::getNickName);
-        queryWrapper.selectAs(Member::getImgurl, Fund::getImgurl);
-        queryWrapper.selectAs(Member::getPhone, Fund::getPhone);
-
+        queryWrapper.selectAs(Member::getNickname, Integral::getNickName);
+        queryWrapper.selectAs(Member::getImgurl, Integral::getImgurl);
+        queryWrapper.selectAs(Member::getPhone, Integral::getPhone);
         queryWrapper.leftJoin(Member.class, Member::getId, Integral::getMemberId);
-
         queryWrapper.eq(pageWrap.getModel().getMemberId() != null, Integral::getMemberId, pageWrap.getModel().getMemberId());
         queryWrapper.eq(pageWrap.getModel().getType() != null, Integral::getType, pageWrap.getModel().getType());
+        queryWrapper.eq(pageWrap.getModel().getUserType() != null, Integral::getUserType, pageWrap.getModel().getUserType());
+        queryWrapper.eq(  pageWrap.getModel().getObjType() !=null, Integral::getObjType, pageWrap.getModel().getObjType());
         queryWrapper.and(StringUtils.isNotBlank(pageWrap.getModel().getNickName()), ms -> ms.like(Member::getNickname, pageWrap.getModel().getNickName())
                 .or().like(Member::getPhone, pageWrap.getModel().getNickName())
         );
@@ -337,11 +399,12 @@
         if (pageWrap.getModel().getEndtime() != null) {
             queryWrapper.le(Integral::getCreateDate, pageWrap.getModel().getEndtime());
         }
-        queryWrapper.orderByDesc(Integral::getCreateDate);
+        queryWrapper.orderByDesc(Integral::getId);
         IPage<Integral> result = integralJoinMapper.selectJoinPage(page, Integral.class, queryWrapper);
 
         String path = systemDictDataBiz.queryByCode(Constants.OSS, Constants.RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.OSS, Constants.MEMBER_FILE).getCode();
         for (Integral model : result.getRecords()) {
+            model.setStrObjType(Constants.IntegralObjType.getName(model.getObjType()));
             if (StringUtils.isNotBlank(model.getImgurl())) {
                 model.setImgurl(path + model.getImgurl());
             }
@@ -409,40 +472,172 @@
                 .lambda()
                 .eq(Objects.nonNull(model.getUserType()),Integral::getUserType,model.getUserType())
                 .eq(Objects.nonNull(model.getType()),Integral::getType,model.getType())
+                .eq(Objects.nonNull(model.getObjType()),Integral::getObjType,model.getObjType())
+                .ge(Objects.nonNull(model.getStartDate()),Integral::getCreateDate,  model.getStartDate()+" 00:00:00")
+                .le(Objects.nonNull(model.getEndDate()),Integral::getCreateDate,  model.getEndDate()+" 23:59:59")
+                .eq(Objects.nonNull(model.getObjType()),Integral::getObjType,model.getObjType())
                 .eq(Integral::getMemberId,model.getMemberId())
                 .orderByDesc(Integral::getCreateDate)
         );
 
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(result.getRecords())){
             for (Integral integral:result.getRecords()) {
-                integral.setStrType(Constants.IntegralObjType.getName(integral.getObjType()));
+                integral.setStrObjType(Constants.IntegralObjType.getName(integral.getObjType()));
+                //浣欓鎻愮幇 鍏宠仈 鎻愮幇璁板綍
+                if(Constants.equalsInteger(integral.getObjType(),Constants.IntegralObjType.WITHDRAW_APPLY.getKey())){
+                    WithdrawRecord withdrawRecord = withdrawRecordMapper.selectById(integral.getObjId());
+                    if(Objects.nonNull(withdrawRecord)){
+                        integral.setWithdrawStatus(withdrawRecord.getStatus());
+                    }
+                }
             }
         }
-        return PageData.from(result);
+        PageData<Integral> rr =  PageData.from(result);
+        if(pageWrap.getPage() == 1  && Constants.equalsInteger(model.getUserType(),Constants.TWO)){
+            //濡傛灉鏌ヨ绗竴椤碉紝鍋氭暟鎹粺璁�
+            rr.setCountData(dealCountIntegralNum(pageWrap));
+        }
+
+        return rr;
     }
 
+    private Integral dealCountIntegralNum(PageWrap<IntegralRecordDTO> pageWrap) {
+        IntegralRecordDTO model = pageWrap.getModel();
+        List<Integral> result = integralMapper.selectList(new QueryWrapper<Integral>()
+                .lambda()
+                .eq(Objects.nonNull(model.getUserType()),Integral::getUserType,model.getUserType())
+                .eq(Objects.nonNull(model.getType()),Integral::getType,model.getType())
+                .eq(Objects.nonNull(model.getObjType()),Integral::getObjType,model.getObjType())
+                .ge(Objects.nonNull(model.getStartDate()),Integral::getCreateDate,  model.getStartDate()+" 00:00:00")
+                .le(Objects.nonNull(model.getEndDate()),Integral::getCreateDate,  model.getEndDate()+" 23:59:59")
+                .eq(Objects.nonNull(model.getObjType()),Integral::getObjType,model.getObjType())
+                .eq(Integral::getMemberId,model.getMemberId())
+                .orderByDesc(Integral::getCreateDate)
+        );
+        Integral integral = new Integral();
+        integral.setInAmount(BigDecimal.ZERO);
+        integral.setOutAmount(BigDecimal.ZERO);
+        if(CollectionUtils.isEmpty( result)){
+            return integral;
+        }
+        integral.setInAmount(result.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ZERO)).map(i->i.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        integral.setOutAmount(result.stream().filter(i->Constants.equalsInteger(i.getType(),Constants.ONE)).map(i->i.getNum()).reduce(BigDecimal.ZERO,BigDecimal::add));
+        return integral;
+    }
 
     @Override
+    @Transactional
+    public void updateIntegral(Integral param) {
+        if(param.getMemberId()==null || param.getType()==null
+                || param.getType()<0
+                || param.getType()>2
+                || Constants.formatBigdecimal(param.getNum()).compareTo(new BigDecimal(0))<=0){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+
+//        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);
+            queryWrapper.selectAs(Shop::getName,Member::getShopName);
+            queryWrapper.leftJoin(Shop.class, Shop::getId,Member::getBindShopId);
+            queryWrapper.eq(Member::getId,param.getMemberId());
+            Member model = memberMapper.selectJoinOne(Member.class,queryWrapper);
+            if(model == null ||Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
+                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀹㈡埛淇℃伅鏌ヨ鏃犳晥锛�");
+            }
+
+            BigDecimal num = param.getNum();
+            if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){
+                //濡傛灉鏄噺灏戯紝鍒ゆ柇鐢ㄦ埛浣欓鏄惁婊¤冻
+//                num = num.multiply(new BigDecimal(-1));//鍑忓皯
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛璐︽埛浣欓涓嶈冻锛�");
+            }
+            integralObjType = param.getType()==0?Constants.IntegralObjType.SYSTEM_RECHARGE:Constants.IntegralObjType.SYSTEM_DEDUCT;
+            dealIntegralRequest.setMemberId(model.getId());
+            dealIntegralRequest.setRemark(param.getRemark());
+            dealIntegralRequest.setIntegralObjType(integralObjType);
+            this.dealIntegral(dealIntegralRequest,model);
+
+        }else{//缁忛攢鍟嗚处鎴�
+            Shop model = shopMapper.selectById(param.getMemberId());
+            if(model == null ||Constants.equalsObject(model.getIsdeleted(),Constants.ONE)){
+                throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"缁忛攢鍟嗕俊鎭煡璇㈡棤鏁堬紒");
+            }
+            BigDecimal num = param.getNum();
+            if(param.getType() == 1 &&Constants.formatBigdecimal(model.getIntegral()).compareTo(param.getNum())<0){
+                //濡傛灉鏄噺灏戯紝鍒ゆ柇鐢ㄦ埛浣欓鏄惁婊¤冻
+//                num = num.multiply(new BigDecimal(-1));//鍑忓皯
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"缁忛攢鍟嗚处鎴风Н鍒嗕綑棰濅笉瓒筹紒");
+            }
+
+            integralObjType = param.getType()==0?Constants.IntegralObjType.SHOP_SYSTEM_RECHARGE:Constants.IntegralObjType.SHOP_SYSTEM_DEDUCT;
+            dealIntegralRequest.setMemberId(model.getId());
+            dealIntegralRequest.setIntegralObjType(integralObjType);
+            this.dealShopIntegral(dealIntegralRequest,model);
+
+
+        }
+
+    }
+    @Override
     public IntegralDataResponse getIntegralData(IntegralRecordDTO model){
+        if(Objects.isNull(model)
+            || Objects.isNull(model.getUserType())
+            || Objects.isNull(model.getMemberId())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
         IntegralDataResponse integralDataResponse = new IntegralDataResponse();
         integralDataResponse.setSurplusIntegral(BigDecimal.ZERO);
         integralDataResponse.setExpiredIntegral(BigDecimal.ZERO);
+        Shop shop = shopMapper.selectById(model.getMemberId());
+        if (Objects.nonNull(shop)) {
+            integralDataResponse.setSurplusIntegral(
+                    Constants.equalsInteger(model.getUserType(),Constants.TWO)?shop.getAmount():shop.getIntegral());
+        }
         List<Integral> list = integralMapper.selectList(new QueryWrapper<Integral>().lambda()
                 .eq(Objects.nonNull(model.getUserType()),Integral::getUserType,model.getUserType())
-                .eq(Objects.nonNull(model.getType()),Integral::getType,model.getType())
                 .eq(Integral::getMemberId,model.getMemberId())
                 .orderByDesc(Integral::getCreateDate));
 
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(list)){
-            integralDataResponse.setSurplusIntegral(
-                    list.stream().map(i->i.getNum().multiply(new BigDecimal(i.getType().toString()))
-                    ).reduce(BigDecimal.ZERO, BigDecimal::add)
-            );
-
+            //鎻愮幇涓氬姟鏁版嵁
+            if(Constants.equalsInteger(model.getUserType(),Constants.TWO)){
+                integralDataResponse.setWithdrawAmount(
+                        withdrawRecordMapper.selectList(new QueryWrapper<WithdrawRecord>().lambda()
+                                .eq(WithdrawRecord::getMemberId,model.getMemberId())
+                                .eq(WithdrawRecord::getStatus,Constants.ONE)
+                        ).stream().map(WithdrawRecord::getAmount)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add)
+                );
+                integralDataResponse.setWithdrawIngAmount(
+                        withdrawRecordMapper.selectList(new QueryWrapper<WithdrawRecord>().lambda()
+                                        .eq(WithdrawRecord::getMemberId,model.getMemberId())
+                                        .eq(WithdrawRecord::getStatus,Constants.ZERO)
+                                ).stream().map(WithdrawRecord::getAmount)
+                                .reduce(BigDecimal.ZERO, BigDecimal::add)
+                );
+                integralDataResponse.setWaitPayAmount(
+                        goodsorderMapper.selectList(new QueryWrapper<Goodsorder>().lambda()
+                                .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)
+                        .reduce(BigDecimal.ZERO, BigDecimal::add)
+                );
+            }
             //绉垎澶辨晥鏂瑰紡 0闀挎湡鏈夋晥 1鎸夌Н鍒嗕骇鐢熸椂闂村け鏁�
             Integer type  = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.INTEGRAL_SET, Constants.INTERALSET_INTEGRALINVALIDTYPE).getCode());
             //娑堣垂鑰呯Н鍒� 闇�瑕佹煡璇㈠嵆灏嗚繃鏈熺Н鍒�
-            if(Constants.equalsInteger(type,Constants.ZERO)){
+            if(Constants.equalsInteger(type,Constants.ONE)&& Constants.equalsInteger(model.getUserType(),Constants.ONE)){
                 Integer validYear  = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.INTEGRAL_SET, Constants.INTERALSET_INTEGRALINVALIDCIRCLE).getCode());
                 if(validYear.compareTo(Constants.ZERO)>Constants.ZERO){
                      list = integralMapper.selectList(new QueryWrapper<Integral>().lambda()

--
Gitblit v1.9.3