bug
jiangqs
2023-07-20 882edc4b8ac7cb11ec9d536b5573df2c7ed512ef
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -220,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));
@@ -701,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);
            }
        }
@@ -1776,7 +1804,7 @@
            case 1:
                changeIntegral = appOtherConfigGetVo.getShareIntegral();
                integralRecord.setChangeIntegral(changeIntegral);
                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                integralRecord.setChangeReason("每日任务【分享小程序】获得积分");
                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1785,7 +1813,7 @@
            case 2:
                changeIntegral = appOtherConfigGetVo.getSuggestPlatformIntegral();
                integralRecord.setChangeIntegral(changeIntegral);
                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                integralRecord.setChangeReason("每日任务【提交平台建议】获得积分");
                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1794,7 +1822,7 @@
            case 3:
                changeIntegral = appOtherConfigGetVo.getSuggestShopIntegral();
                integralRecord.setChangeIntegral(changeIntegral);
                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                integralRecord.setChangeReason("每日任务【提交门店建议】获得积分");
                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1803,7 +1831,7 @@
            case 4:
                changeIntegral = appOtherConfigGetVo.getSignInIntegral();
                integralRecord.setChangeIntegral(changeIntegral);
                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                integralRecord.setChangeReason("每日任务【签到】获得积分");
                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
@@ -1811,7 +1839,7 @@
                break;
            case 5:
                integralRecord.setChangeIntegral(changeIntegral);
                integralRecord.setSurpIntegral(integralRecord.getSurpIntegral()+changeIntegral);
                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                integralRecord.setChangeReason("订单【"+integralChangeDto.getOrderNo()+"】获得积分");
                integralRecord.setOrderId(integralChangeDto.getOrderId());
                integralRecord.setOrderNo(integralChangeDto.getOrderNo());