From 882edc4b8ac7cb11ec9d536b5573df2c7ed512ef Mon Sep 17 00:00:00 2001
From: jiangqs <jiangqs>
Date: 星期四, 20 七月 2023 20:22:12 +0800
Subject: [PATCH] bug

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |  394 +++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 358 insertions(+), 36 deletions(-)

diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
index a452f4d..f6a8349 100644
--- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
+++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -84,8 +84,6 @@
     @Resource
     private RemoteOrderService orderService;
 
-    @Resource
-    private MemberNurseService memberNurseService;
 
     @Resource
     private RemoteConfigService remoteConfigService;
@@ -222,6 +220,7 @@
             sysUser.setUserName(memberId);
             sysUser.setUserType("03");
             sysUser.setNickName("鸿瑞堂用户");
+            sysUser.setPhonenumber(mobile);
             sysUser.setAvatar("https://hongruitang.oss-cn-beijing.aliyuncs.com/default.png");
             String password = "hongruitang";
             sysUser.setPassword(SecurityUtils.encryptPassword(password));
@@ -240,12 +239,14 @@
             member.setCreateTime(new Date());
             member.setMobile(mobile);
             initMemberTotal(memberId);
+            log.info("sysUser01-----------------" + sysUser.toString());
         } else {
             sysUser = sysUserService.getSysUser(member.getUserId()).getData();
+            log.info("sysUser02-----------------" + sysUser.toString());
         }
         member.setWxUnionid(appUserRegisterDto.getWxUnionid());
         member.setMiniOpenid(appUserRegisterDto.getMiniOpenid());
-        log.info("member-----------------" + member.toString());
+        log.info("member02-----------------" + member.toString());
         this.saveOrUpdate(member);
         appUserRegisterVo.setMobile(mobile);
         appUserRegisterVo.setNickName(member.getNickName());
@@ -304,6 +305,8 @@
         AppOrderTotalVo appOrderTotalVo = orderService.getAppOrderTotal(userId).getData();
         appUserInfoVo.setNoPayCount(appOrderTotalVo.getNoPayCount());
         appUserInfoVo.setNoUseCount(appOrderTotalVo.getNoUseCount());
+        MemberTotal memberTotal = memberTotalService.getById(member.getMemberId());
+        appUserInfoVo.setIntegral(memberTotal.getUseableIntegral());
         return appUserInfoVo;
     }
 
@@ -321,27 +324,22 @@
         switch (editType) {
             case 1:
                 member.setNickName(editValue);
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             case 2:
+                member.setAvatar(editValue);
                 break;
             case 3:
                 member.setGender(Integer.valueOf(editValue));
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             case 4:
                 member.setBirthday(editValue);
-                member.setUpdateTime(new Date());
-                member.setUpdateUserId(appEditUserDto.getUserId());
-                this.saveOrUpdate(member);
                 break;
             default:
                 break;
         }
+        member.setUpdateTime(new Date());
+        member.setUpdateUserId(appEditUserDto.getUserId());
+        this.saveOrUpdate(member);
         sysUserService.editUserInfo(appEditUserDto);
     }
 
@@ -353,17 +351,52 @@
      */
     @Override
     public List<MerMemberPageVo> pageMerMember(Page page, MerMemberPageDto merMemberPageDto) {
+        List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
         if (StringUtils.isNotBlank(merMemberPageDto.getMemberActiveness())) {
-            Activeness activeness = remoteConfigService.getActivenessByName(merMemberPageDto.getMemberActiveness()).getData();
-            if (activeness != null) {
-                Date nowDay = DateUtils.getNowDate();
-                String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()));
-                String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()));
-                merMemberPageDto.setActStartDate(actStartDate);
-                merMemberPageDto.setActEndDate(actEndDate);
+            if(!activenessList.isEmpty()){
+                for(Activeness activeness : activenessList){
+                    if(activeness.getActivenessName().equals(merMemberPageDto.getMemberActiveness())){
+                        Date nowDay = DateUtils.getNowDate();
+                        String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()));
+                        String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()));
+                        merMemberPageDto.setActStartDate(actStartDate);
+                        merMemberPageDto.setActEndDate(actEndDate);
+                        break;
+                    }
+                }
             }
         }
         List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page, merMemberPageDto);
+        //处理活跃度返回
+        if (merMemberPageVoList != null && !merMemberPageVoList.isEmpty()) {
+            if (activenessList != null && !activenessList.isEmpty()) {
+                //生成活跃度时间段列表
+                List<MgtActivenessJudgeVo> mgtActivenessJudgeVoList = new ArrayList<>();
+                MgtActivenessJudgeVo mgtActivenessJudgeVo;
+                for (Activeness activeness : activenessList) {
+                    mgtActivenessJudgeVo = new MgtActivenessJudgeVo();
+                    mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), activeness.getEndDay()));
+                    mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), activeness.getStartDay() - 1));
+                    mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName());
+                }
+                //活跃度赋值
+                Date lastPayTime;
+                for (MerMemberPageVo mgtMemberPageVo : merMemberPageVoList) {
+                    lastPayTime = mgtMemberPageVo.getLastPayTime();
+                    StringJoiner sj = new StringJoiner(",");
+                    if (lastPayTime != null) {
+                        for (MgtActivenessJudgeVo entity : mgtActivenessJudgeVoList) {
+                            if (lastPayTime.compareTo(entity.getStartDay()) >= 0 && lastPayTime.compareTo(entity.getEndDay()) <= 0) {
+                                sj.add(entity.getActivenessName());
+                            }
+                        }
+                        if (sj.length() > 0) {
+                            mgtMemberPageVo.setMemberActiveness(sj.toString());
+                        }
+                    }
+                }
+            }
+        }
         return merMemberPageVoList;
     }
 
@@ -669,24 +702,51 @@
      */
     @Override
     public void updateMemberGoodsType(AppMemberGoodsTypeDto appMemberGoodsTypeDto) {
+        // 根据用户ID获取会员信息
         Member member = this.getByUserId(appMemberGoodsTypeDto.getUserId());
+        // 获取商品类型集合和商品护理集合
         HashSet<String> goodsTypeSet = appMemberGoodsTypeDto.getGoodsTypeSet();
+        HashSet<String> goodsNurseSet = appMemberGoodsTypeDto.getGoodsNurseSet();
+        // 如果会员存在
         if (member != null) {
-            String goodsType = member.getGoodsType();
+            // 标识是否有变化
             Boolean change = false;
-            for (String str : goodsTypeSet) {
-                if (goodsType != null) {
-                    if (!goodsType.contains(str)) {
-                        goodsType = goodsType + "," + str;
+            // 更新商品类型
+            if (goodsTypeSet != null && goodsTypeSet.size() > 0) {
+                String goodsType = member.getGoodsType();
+                HashSet<String> goodsTypeOldSet = new HashSet<>();
+                // 如果商品类型不为空
+                if (StringUtils.isNotBlank(goodsType)) {
+                    goodsTypeOldSet = new HashSet<>(Arrays.asList(goodsType.split(",")));
+                    // 如果商品类型集合相等
+                    if (!goodsTypeSet.equals(goodsTypeOldSet)) {
                         change = true;
                     }
                 } else {
-                    goodsType = str;
                     change = true;
                 }
+                goodsTypeOldSet.addAll(goodsTypeSet);
+                member.setGoodsType(String.join(",", goodsTypeOldSet));
             }
+            // 更新商品护理
+            if (goodsNurseSet != null && goodsNurseSet.size() > 0) {
+                String memberNurse = member.getMemberNurse();
+                HashSet<String> memberNurseOldSet = new HashSet<>();
+                // 如果会员护理不为空
+                if (StringUtils.isNotBlank(memberNurse)) {
+                    memberNurseOldSet = new HashSet<>(Arrays.asList(memberNurse.split(",")));
+                    // 如果商品护理集合相等
+                    if (!goodsNurseSet.equals(memberNurseOldSet)) {
+                        change = true;
+                    }
+                } else {
+                    change = true;
+                }
+                memberNurseOldSet.addAll(goodsNurseSet);
+                member.setMemberNurse(String.join(",", memberNurseOldSet));
+            }
+            // 如果有变化,则保存或更新会员信息
             if (change) {
-                member.setGoodsType(goodsType);
                 this.saveOrUpdate(member);
             }
         }
@@ -735,6 +795,11 @@
         memberTotal.setTotalExperienceOrder(0);
         memberTotal.setTotalServiceOrder(0);
         memberTotal.setTotalGoodsOrder(0);
+        memberTotal.setShareFlag(0);
+        memberTotal.setPlSuggestFlag(0);
+        memberTotal.setShopSuggestFlag(0);
+        memberTotal.setSignFlag(0);
+        memberTotal.setBuyFlag(0);
         memberTotalService.saveOrUpdate(memberTotal);
     }
 
@@ -964,6 +1029,7 @@
         mgtMemberGetVo.setMemberNo(member.getMemberNo());
         mgtMemberGetVo.setRealName(member.getRealName());
         mgtMemberGetVo.setNickName(member.getNickName());
+        mgtMemberGetVo.setAvatar(member.getAvatar());
         mgtMemberGetVo.setMobile(member.getMobile());
         mgtMemberGetVo.setGender(member.getGender() == 0 ? "男" : member.getGender() == 1 ? "女" : null);
         mgtMemberGetVo.setBirthday(member.getBirthday());
@@ -1069,6 +1135,31 @@
         // 获取总会员数和不同年龄段的会员数
         MgtTotalMemberTotalVo mgtTotalMemberTotalVo = memberMapper.getTotalMemberTotal(mgtBaseShopDto);
         MgtAgeTotalVo mgtAgeTotalVo = memberMapper.getTotalMemberTotalAge(mgtBaseShopDto);
+        Integer manTotal = mgtAgeTotalVo.getManTotal();
+        Integer womenTotal = mgtAgeTotalVo.getWomenTotal();
+        mgtTotalMemberTotalVo.setManTotal(manTotal);
+        mgtTotalMemberTotalVo.setWomenTotal(womenTotal);
+        Integer personTotal = manTotal + womenTotal;
+        BigDecimal manTotalBig = new BigDecimal(manTotal);
+        BigDecimal personTotalBig = new BigDecimal(personTotal);
+        BigDecimal bigTen = new BigDecimal("100.00");
+        BigDecimal menPercent = new BigDecimal("100.00");
+        BigDecimal womenPercent = new BigDecimal("100.00");
+        if(manTotal==0&&womenTotal==0){
+            menPercent = new BigDecimal("50.00");
+            womenPercent = new BigDecimal("50.00");
+        }else if(manTotal==0&&womenTotal>0){
+            menPercent = new BigDecimal("0.00");
+            womenPercent = new BigDecimal("100.00");
+        }else if(manTotal>0&&womenTotal==0){
+            menPercent = new BigDecimal("100.00");
+            womenPercent = new BigDecimal("0.00");
+        }else{
+            menPercent = manTotalBig.divide(personTotalBig).setScale(0,BigDecimal.ROUND_HALF_UP);
+            womenPercent = bigTen.subtract(menPercent);
+        }
+        mgtTotalMemberTotalVo.setManPercent(menPercent);
+        mgtTotalMemberTotalVo.setWomenPercent(womenPercent);
         // 年龄段数组
         String[] ageKey = {"<20", "21-30", "31-40", "41-50", ">50"};
         // 不同年龄段的会员数数组
@@ -1081,6 +1172,12 @@
         if (nurseTotalVos != null && nurseTotalVos.size() > 0) {
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             mgtTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos);
+        }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getTotalMemberTotalLevel(mgtBaseShopDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            mgtTotalMemberTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
         }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getTotalMemberTotalGoodsType(mgtBaseShopDto);
@@ -1187,6 +1284,12 @@
         if (nurseTotalVos != null && nurseTotalVos.size() > 0) {
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             plTotalMemberTotalVo.setNurseTotalVos(nurseTotalVos);
+        }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getPlTotalMemberTotalLevel(mgtBasePlatformDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            plTotalMemberTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
         }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getPlTotalMemberTotalGoodsType(mgtBasePlatformDto);
@@ -1321,10 +1424,15 @@
         }
         //消费变动
         if (memberTotalChangeDto.getPayMoney() != null) {
-            memberTotal.setTotalPayMoney(memberTotal.getTotalPayMoney().add(memberTotalChangeDto.getPayMoney()));
-            memberTotal.setTotalPayCount(memberTotal.getTotalPayCount() + 1);
-            memberTotal.setLastPayMoney(memberTotalChangeDto.getPayMoney());
-            memberTotal.setLastPayTime(memberTotalChangeDto.getPayTime());
+            if(memberTotalChangeDto.getPayMoney().compareTo(BigDecimal.ZERO)>=0){
+                memberTotal.setTotalPayMoney(memberTotal.getTotalPayMoney().add(memberTotalChangeDto.getPayMoney()));
+                memberTotal.setTotalPayCount(memberTotal.getTotalPayCount() + 1);
+                memberTotal.setLastPayMoney(memberTotalChangeDto.getPayMoney());
+                memberTotal.setLastPayTime(memberTotalChangeDto.getPayTime());
+            }else{
+                memberTotal.setTotalPayMoney(memberTotal.getTotalPayMoney().add(memberTotalChangeDto.getPayMoney()));
+                memberTotal.setTotalPayCount(memberTotal.getTotalPayCount() - 1);
+            }
         }
         //服务次数变动
         if (memberTotalChangeDto.getServiceCount() != null) {
@@ -1401,6 +1509,31 @@
             merTotalDto.setShopId(null);
         }
         MgtAgeTotalVo mgtAgeTotalVo = memberMapper.getMerMemberTotalAge(merTotalDto);
+        Integer manTotal = mgtAgeTotalVo.getManTotal();
+        Integer womenTotal = mgtAgeTotalVo.getWomenTotal();
+        memberFixedTotalVo.setManTotal(manTotal);
+        memberFixedTotalVo.setWomenTotal(womenTotal);
+        Integer personTotal = manTotal + womenTotal;
+        BigDecimal manTotalBig = new BigDecimal(manTotal);
+        BigDecimal personTotalBig = new BigDecimal(personTotal);
+        BigDecimal bigTen = new BigDecimal("100.00");
+        BigDecimal menPercent = new BigDecimal("100.00");
+        BigDecimal womenPercent = new BigDecimal("100.00");
+        if(manTotal==0&&womenTotal==0){
+            menPercent = new BigDecimal("50.00");
+            womenPercent = new BigDecimal("50.00");
+        }else if(manTotal==0&&womenTotal>0){
+            menPercent = new BigDecimal("0.00");
+            womenPercent = new BigDecimal("100.00");
+        }else if(manTotal>0&&womenTotal==0){
+            menPercent = new BigDecimal("100.00");
+            womenPercent = new BigDecimal("0.00");
+        }else{
+            menPercent = manTotalBig.divide(personTotalBig).setScale(0,BigDecimal.ROUND_HALF_UP);
+            womenPercent = bigTen.subtract(menPercent);
+        }
+        memberFixedTotalVo.setManPercent(menPercent);
+        memberFixedTotalVo.setWomenPercent(womenPercent);
         // 年龄段数组
         String[] ageKey = {"<20", "21-30", "31-40", "41-50", ">50"};
         // 不同年龄段的会员数数组
@@ -1414,11 +1547,23 @@
             nurseTotalVos = listRemoveNull(nurseTotalVos);
             memberFixedTotalVo.setNurseTotalVos(nurseTotalVos);
         }
+        //获取不同等级的会员数
+        List<MgtMapIntTotalVo> memberLevelTotalVos = memberMapper.getMerMemberTotalLevel(merTotalDto);
+        if (memberLevelTotalVos != null && memberLevelTotalVos.size() > 0) {
+            memberLevelTotalVos = listRemoveNull(memberLevelTotalVos);
+            memberFixedTotalVo.setMemberLevelTotalVos(memberLevelTotalVos);
+        }
         // 获取不同商品类型的会员数
         List<MgtMapIntTotalVo> goodsTypeTotalVos = memberMapper.getMerMemberTotalGoodsType(merTotalDto);
         if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) {
             goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos);
             memberFixedTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos);
+        }
+        //获取会员消费排名
+        List<MgtMapIntTotalVo> memberPayList = memberMapper.getMerMemberPayRank(merTotalDto);
+        if (memberPayList != null && memberPayList.size() > 0) {
+            memberPayList = listRemoveNull(memberPayList);
+            memberFixedTotalVo.setMemberPayList(memberPayList);
         }
         // 获取不同活跃度的会员数
         List<Activeness> activenessList = remoteConfigService.listActiveness().getData();
@@ -1443,12 +1588,6 @@
                 MgtMapIntTotalVoList.add(MgtMapIntTotalVo);
             }
             memberFixedTotalVo.setActivenessList(MgtMapIntTotalVoList);
-        }
-        //获取会员消费排名
-        List<MgtMapIntTotalVo> memberPayList = memberMapper.getMerMemberPayRank(merTotalDto);
-        if (memberPayList != null && memberPayList.size() > 0) {
-            memberPayList = listRemoveNull(memberPayList);
-            memberFixedTotalVo.setMemberPayList(memberPayList);
         }
         return memberFixedTotalVo;
     }
@@ -1544,4 +1683,187 @@
         orderAgeUserVoList.add(merOrderAgeUserVo);
         return orderAgeUserVoList;
     }
+
+    /**
+     * @description
+     * @author  jqs
+     * @date    2023/7/5 21:18
+     * @param mgtBaseGetDto
+     * @return  void
+     */
+    @Override
+    public void mgtFrozenMember(MgtBaseGetDto mgtBaseGetDto){
+        sysUserService.frozenUser(Long.valueOf(mgtBaseGetDto.getId()));
+    }
+
+    /**
+     * @description  获取用户任务列表
+     * @author  jqs
+     * @date    2023/7/12 15:07
+     * @param userId
+     * @return  List<AppIntegralTaskListVo>
+     */
+    @Override
+    public List<AppIntegralTaskListVo> listAppMemberIntegralTask(Long userId){
+        // 获取指定用户的会员信息
+        Member member = this.getByUserId(userId);
+        // 获取会员的总积分信息
+        MemberTotal memberTotal = memberTotalService.getById(member.getMemberId());
+        // 获取其他配置信息
+        AppOtherConfigGetVo appOtherConfigGetVo = remoteConfigService.getAppOtherConfigGetVo().getData();
+        // 创建一个空的积分任务列表
+        List<AppIntegralTaskListVo> appIntegralTaskListVoList = new ArrayList<>();
+        // 创建分享小程序任务
+        AppIntegralTaskListVo shareTask = new AppIntegralTaskListVo();
+        shareTask.setTaskContent("分享小程序给微信好友");
+        shareTask.setTaskDesc("完成任务+" + appOtherConfigGetVo.getShareIntegral() + "积分");
+        shareTask.setRecommendFlag(1);
+        shareTask.setCompleteFlag(memberTotal.getShareFlag());
+        appIntegralTaskListVoList.add(shareTask);
+        // 创建提交平台建议任务
+        AppIntegralTaskListVo plSuggestTask = new AppIntegralTaskListVo();
+        plSuggestTask.setTaskContent("提交平台建议");
+        plSuggestTask.setTaskDesc("完成任务+" + appOtherConfigGetVo.getSuggestPlatformIntegral() + "积分");
+        plSuggestTask.setRecommendFlag(1);
+        plSuggestTask.setCompleteFlag(memberTotal.getPlSuggestFlag());
+        appIntegralTaskListVoList.add(plSuggestTask);
+        // 创建提交门店建议任务
+        AppIntegralTaskListVo shopSuggestTask = new AppIntegralTaskListVo();
+        shopSuggestTask.setTaskContent("提交门店建议");
+        shopSuggestTask.setTaskDesc("完成任务+" + appOtherConfigGetVo.getSuggestShopIntegral() + "积分");
+        shopSuggestTask.setRecommendFlag(1);
+        shopSuggestTask.setCompleteFlag(memberTotal.getShopSuggestFlag());
+        appIntegralTaskListVoList.add(shopSuggestTask);
+        // 创建每日签到任务
+        AppIntegralTaskListVo signTask = new AppIntegralTaskListVo();
+        signTask.setTaskContent("每日签到");
+        signTask.setTaskDesc("完成任务+" + appOtherConfigGetVo.getSignInIntegral() + "积分");
+        signTask.setRecommendFlag(1);
+        signTask.setCompleteFlag(memberTotal.getSignFlag());
+        appIntegralTaskListVoList.add(signTask);
+        // 创建消费得积分任务
+        AppIntegralTaskListVo buyTask = new AppIntegralTaskListVo();
+        buyTask.setTaskContent("消费得积分");
+        buyTask.setTaskDesc("每消费1元+" + appOtherConfigGetVo.getPayMoneyIntegral() + "积分");
+        buyTask.setRecommendFlag(1);
+        buyTask.setCompleteFlag(memberTotal.getBuyFlag());
+        appIntegralTaskListVoList.add(buyTask);
+        // 返回积分任务列表
+        return appIntegralTaskListVoList;
+    }
+
+    /**
+     * @description  积分变动
+     * @author  jqs
+     * @date    2023/7/12 15:59
+     * @param integralChangeDto
+     * @return  void
+     */
+    @Override
+    public Boolean changeIntegral(IntegralChangeDto integralChangeDto){
+        Member member = this.getByUserId(integralChangeDto.getUserId());
+        Integer integralType = integralChangeDto.getIntegralType();
+        Integer changeIntegral = integralChangeDto.getChangeIntegral();
+        MemberTotal memberTotal = memberTotalService.getById(member.getMemberId());
+        Boolean completeFlag = false;
+        switch(integralType){
+            case 1:
+                if(memberTotal.getShareFlag()==1){
+                    completeFlag = true;
+                }
+                break;
+            case 2:
+                if(memberTotal.getPlSuggestFlag()==1){
+                    completeFlag = true;
+                }
+                break;
+            case 3:
+                if(memberTotal.getShopSuggestFlag()==1){
+                    completeFlag = true;
+                }
+                break;
+            case 4:
+                if(memberTotal.getSignFlag()==1){
+                    completeFlag = true;
+                }
+                break;
+            default:
+                break;
+        }
+        if(completeFlag){
+            return completeFlag;
+        }
+        AppOtherConfigGetVo appOtherConfigGetVo = remoteConfigService.getAppOtherConfigGetVo().getData();
+        IntegralRecord integralRecord = new IntegralRecord();
+        integralRecord.setDelFlag(0);
+        integralRecord.setUserId(integralChangeDto.getUserId());
+        integralRecord.setChangeType(integralType);
+        integralRecord.setCreateTime(new Date());
+        //1分享获取2平台建议获取3门店建议获取4每日签到5消费得积分
+        switch(integralType){
+            case 1:
+                changeIntegral = appOtherConfigGetVo.getShareIntegral();
+                integralRecord.setChangeIntegral(changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                integralRecord.setChangeReason("每日任务【分享小程序】获得积分");
+                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
+                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                memberTotal.setShareFlag(1);
+                break;
+            case 2:
+                changeIntegral = appOtherConfigGetVo.getSuggestPlatformIntegral();
+                integralRecord.setChangeIntegral(changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                integralRecord.setChangeReason("每日任务【提交平台建议】获得积分");
+                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
+                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                memberTotal.setPlSuggestFlag(1);
+                break;
+            case 3:
+                changeIntegral = appOtherConfigGetVo.getSuggestShopIntegral();
+                integralRecord.setChangeIntegral(changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                integralRecord.setChangeReason("每日任务【提交门店建议】获得积分");
+                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
+                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                memberTotal.setShopSuggestFlag(1);
+                break;
+            case 4:
+                changeIntegral = appOtherConfigGetVo.getSignInIntegral();
+                integralRecord.setChangeIntegral(changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                integralRecord.setChangeReason("每日任务【签到】获得积分");
+                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
+                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                memberTotal.setSignFlag(1);
+                break;
+            case 5:
+                integralRecord.setChangeIntegral(changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                integralRecord.setChangeReason("订单【"+integralChangeDto.getOrderNo()+"】获得积分");
+                integralRecord.setOrderId(integralChangeDto.getOrderId());
+                integralRecord.setOrderNo(integralChangeDto.getOrderNo());
+                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
+                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                memberTotal.setBuyFlag(1);
+                break;
+            default:
+                break;
+        }
+        memberTotalService.saveOrUpdate(memberTotal);
+        integralRecordService.saveOrUpdate(integralRecord);
+        return completeFlag;
+    }
+
+    /**
+     * @description  统计商户今日新增会员
+     * @author  jqs
+     * @date    2023/7/14 19:54
+     * @param shopIdList
+     * @return  Integer
+     */
+    @Override
+    public Integer getAreaNewMember(List<Long> shopIdList){
+        return memberMapper.getAreaNewMember(shopIdList);
+    }
 }

--
Gitblit v1.7.1