Pu Zhibing
2024-12-27 0f9d91bacff24cb14d5d86ec3de0598a13f4152c
修改会员等级变更
8个文件已修改
103 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/factory/AppUserClientFallbackFactory.java
@@ -99,6 +99,11 @@
                log.error("获取用户失败: "+cause.getMessage());
                return Collections.emptyList();
            }
            @Override
            public void vipUpgrade(Long appUserId) {
                R.fail("检查会员等级变更失败:" + cause.getMessage());
            }
        };
    }
}
ruoyi-api/ruoyi-api-account/src/main/java/com/ruoyi/account/api/feignClient/AppUserClient.java
@@ -81,4 +81,13 @@
    @PostMapping("/app-user/getAppUserByPhone1")
    R<AppUser> getAppUserByPhone1(@RequestParam("phone") String phone);
    /**
     * 检查会员等级变更
     * @param appUserId
     */
    @PostMapping("/app-user/vipUpgrade")
    void vipUpgrade(@RequestParam("appUserId") Long appUserId);
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserController.java
@@ -737,5 +737,15 @@
        }
        return s;
    }
    /**
     * 检查会员等级变更
     * @param appUserId
     */
    @PostMapping("/vipUpgrade")
    public void vipUpgrade(@RequestParam("appUserId") Long appUserId){
        appUserService.vipUpgrade(appUserId);
    }
}
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/AppUserShareController.java
@@ -82,6 +82,8 @@
                userPoint.setCreateTime(LocalDateTime.now());
                userPoint.setAppUserId(appUser.getId());
                userPointService.save(userPoint);
                //变更等级
                appUserService.vipUpgrade(appUser.getId());
            }
        }
        return R.ok();
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/UserSignRecordController.java
@@ -91,6 +91,8 @@
                userPoint.setCreateTime(LocalDateTime.now());
                userPoint.setAppUserId(appUser.getId());
                userPointService.save(userPoint);
                //变更等级
                appUserService.vipUpgrade(appUser.getId());
            }
        }else {
            userSignRecord.setPoint(0);
ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/AppUserServiceImpl.java
@@ -362,6 +362,8 @@
                userPoint.setCreateTime(LocalDateTime.now());
                userPoint.setAppUserId(appUser.getId());
                userPointService.save(userPoint);
                //变更等级
                vipUpgrade(appUser.getId());
            }
            //拉新分佣
            if(null != appUser2){
@@ -384,9 +386,9 @@
                    userPoint.setCreateTime(LocalDateTime.now());
                    userPoint.setAppUserId(appUser2.getId());
                    userPointService.save(userPoint);
                }
                //处理会员等级
                    //变更等级
                vipUpgrade(appUser2.getId());
                }
                
                if(null != appUser2.getInviteUserId()){
                    AppUser appUser3 = this.getById(appUser2.getInviteUserId());
@@ -404,9 +406,9 @@
                        userPoint.setCreateTime(LocalDateTime.now());
                        userPoint.setAppUserId(appUser3.getId());
                        userPointService.save(userPoint);
                    }
                    //处理会员等级
                        //变更等级
                    vipUpgrade(appUser3.getId());
                    }
                }
            }
            
@@ -705,6 +707,8 @@
                    userPoint.setCreateTime(LocalDateTime.now());
                    userPoint.setAppUserId(appUser.getId());
                    userPointService.save(userPoint);
                    //变更等级
                    vipUpgrade(appUser.getId());
                }
            }else{
                redisService.setCacheObject("ONLINE_" + userid, duration, 15L, TimeUnit.MINUTES);
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
@@ -176,6 +176,8 @@
                    userPoint.setObjectId(order.getId());
                    userPoint.setExtention(order.getOrderNumber());
                    userPointClient.saveUserPoint(userPoint);
                    //变更等级
                    appUserClient.vipUpgrade(inviteUser.getId());
                }
            }
            //直帮上级
@@ -226,6 +228,8 @@
                    userPoint.setObjectId(order.getId());
                    userPoint.setExtention(order.getOrderNumber());
                    userPointClient.saveUserPoint(userPoint);
                    //变更等级
                    appUserClient.vipUpgrade(superiorLeader.getId());
                }
            }
    
@@ -305,6 +309,8 @@
                    userPoint.setObjectId(order.getId());
                    userPoint.setExtention(order.getOrderNumber());
                    userPointClient.saveUserPoint(userPoint);
                    //变更等级
                    appUserClient.vipUpgrade(shopAppUser.getId());
                }
    
                if(!shop.getLavePoint().equals(shopLavePoint)){
@@ -353,6 +359,8 @@
                        userPoint.setObjectId(order.getId());
                        userPoint.setExtention(order.getOrderNumber());
                        userPointClient.saveUserPoint(userPoint);
                        //变更等级
                        appUserClient.vipUpgrade(technicianAppUser.getId());
                    }
                }
            }
@@ -434,6 +442,8 @@
                        userPoint.setObjectId(order.getId());
                        userPoint.setExtention(order.getOrderNumber());
                        userPointClient.saveUserPoint(userPoint);
                        //变更等级
                        appUserClient.vipUpgrade(bdShopAppUser.getId());
                    }
        
                    if(!shop1.getLavePoint().equals(shopLavePoint)){
@@ -529,6 +539,8 @@
                        userPoint.setObjectId(order.getId());
                        userPoint.setExtention(order.getOrderNumber());
                        userPointClient.saveUserPoint(userPoint);
                        //变更等级
                        appUserClient.vipUpgrade(sjShopAppUser.getId());
                    }
        
                    if(!shop2.getLavePoint().equals(shopLavePoint)){
ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java
@@ -932,6 +932,8 @@
            appUser.setShopAmount(appUser.getShopAmount().add(paymentMoney).setScale(2, RoundingMode.HALF_EVEN));
            appUser.setLastShopTime(LocalDateTime.now());
            appUserClient.editAppUserById(appUser);
            //变更等级
            appUserClient.vipUpgrade(appUser.getId());
            //构建余额明细变动记录
            BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
            balanceChangeRecord.setAppUserId(appUser.getId());
@@ -951,8 +953,6 @@
            orderService.updateById(order);
            //删除购物车数据
            this.removeBatchByIds(ids);
            //检查消费积分满足后升级会员
            vipUpgrade(appUser);
        }
        //积分支付
        if(3 == shoppingCartPayment.getPaymentType()){
@@ -973,8 +973,8 @@
            appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint);
            appUser.setLastShopTime(LocalDateTime.now());
            appUserClient.editAppUserById(appUser);
            //检查消费积分满足后升级会员
            vipUpgrade(appUser);
            //变更等级
            appUserClient.vipUpgrade(appUser.getId());
            //构建积分流水记录
            UserPoint userPoint = new UserPoint();
@@ -1077,47 +1077,4 @@
    }
    /**
     * 会员等级变化
     * @param appUser
     */
    public void vipUpgrade(AppUser appUser){
        Integer shopPoint = appUser.getShopPoint();
        Integer vipId = appUser.getVipId();
        //钻石会员
        VipSetting vipSetting3 = vipSettingClient.getVipSetting(3).getData();
        Integer vipLevelUpShopRole = vipSetting3.getVipLevelUpShopRole();
        Integer vipLevelUpShop = vipSetting3.getVipLevelUpShop();
        if(null != vipLevelUpShopRole && 1 == vipLevelUpShopRole && appUser.getVipId() < 3 && shopPoint >= vipLevelUpShop){
            appUser.setVipId(3);
            appUserClient.editAppUserById(appUser);
            //添加等级变化记录
            UserChangeLog userChangeLog = new UserChangeLog();
            userChangeLog.setDelFlag(0);
            userChangeLog.setCreateTime(LocalDateTime.now());
            userChangeLog.setAppUserId(appUser.getId());
            userChangeLog.setBeforeVipId(vipId);
            userChangeLog.setAfterVipId(appUser.getVipId());
            userChangeLog.setChangeType(1);
            userChangeLogClient.saveUserChangeLog(userChangeLog);
            return;
        }
        //黄金会员
        VipSetting vipSetting2 = vipSettingClient.getVipSetting(2).getData();
        vipLevelUpShopRole = vipSetting2.getVipLevelUpShopRole();
        vipLevelUpShop = vipSetting2.getVipLevelUpShop();
        if(null != vipLevelUpShopRole && 1 == vipLevelUpShopRole && appUser.getVipId() < 2 && shopPoint >= vipLevelUpShop){
            appUser.setVipId(2);
            appUserClient.editAppUserById(appUser);
            //添加等级变化记录
            UserChangeLog userChangeLog = new UserChangeLog();
            userChangeLog.setDelFlag(0);
            userChangeLog.setCreateTime(LocalDateTime.now());
            userChangeLog.setAppUserId(appUser.getId());
            userChangeLog.setBeforeVipId(vipId);
            userChangeLog.setAfterVipId(appUser.getVipId());
            userChangeLog.setChangeType(1);
            userChangeLogClient.saveUserChangeLog(userChangeLog);
        }
    }
}