From 56d62d9edb0dda9ae678dcea2323144db5d11c22 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期六, 28 十二月 2024 18:06:58 +0800 Subject: [PATCH] 修改bug --- ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/VipCenterServiceImpl.java | 236 ++++++++++++++++++++++++++++------------------------------ 1 files changed, 115 insertions(+), 121 deletions(-) diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/VipCenterServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/VipCenterServiceImpl.java index f310b65..49a6415 100644 --- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/VipCenterServiceImpl.java +++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/VipCenterServiceImpl.java @@ -58,49 +58,44 @@ VipSetting vipSetting = vipSettingService.getVipSettingById(4); // 获取通过消费积分达成会员等级的开关 Integer vipLevelUpShopRole = vipSetting.getVipLevelUpShopRole(); - if (null != vipLevelUpShopRole && vipLevelUpShopRole == 1){ + + // 获取指定购买商品 + boolean b = false; + String[] split = vipSetting.getGoodIds().split(","); + for (String s : split) { + R<List<Order>> orderListByUserIdAndGoodsId = remoteOrderGoodsClient.getOrderListByUserIdAndGoodsId(userId, Integer.valueOf(s)); + if (R.isSuccess(orderListByUserIdAndGoodsId)){ + List<Order> orderList = orderListByUserIdAndGoodsId.getData(); + if (orderList.size() > 0){ + b = true; + break; + } + } + } + if (b && null != vipLevelUpShopRole && vipLevelUpShopRole == 1){ // 消费积分阈值 Integer vipLevelUpShop = vipSetting.getVipLevelUpShop(); // 返佣积分阈值 Integer vipLevelUpShare = vipSetting.getVipLevelUpShare(); // 判断是否满足消费积分和返佣积分 - if (shopPoint >=vipLevelUpShop && sharePoint >= vipLevelUpShare){ + if (shopPoint.compareTo(vipLevelUpShop) >= 0 && sharePoint.compareTo(vipLevelUpShare) >= 0){ return true; } } Integer vipLevelUpNumRole = vipSetting.getVipLevelUpNumRole(); - if (null != vipLevelUpNumRole && vipLevelUpNumRole == 1){ + if (b && null != vipLevelUpNumRole && vipLevelUpNumRole == 1){ // 直推钻石用户数阈值 Integer vipDirectNum = vipSetting.getVipDirectNum(); // 获取用户直推钻石用户数量 long userDiamondsCount = appUserService.count(new LambdaQueryWrapper<AppUser>() .eq(AppUser::getInviteUserId, userId) - .eq(AppUser::getVipId, 3)); + .eq(AppUser::getDelFlag, 0) + .eq(AppUser::getStatus, 1) + .gt(AppUser::getVipId, 2)); // 判断是否满足直推钻石用户数量 - if (userDiamondsCount >= vipDirectNum){ - return true; - } + return userDiamondsCount >= vipDirectNum.longValue(); } - // 获取指定购买商品 - R<List<VipGood>> vipGoodsByVipId = vipGoodClient.getVipGoodsByVipId(4); - if (R.isSuccess(vipGoodsByVipId)){ - List<VipGood> vipGoods = vipGoodsByVipId.getData(); - if (CollectionUtil.isNotEmpty(vipGoods)){ - for (VipGood vipGood : vipGoods) { - Goods goods = JSON.parseObject(vipGood.getGood_json(), Goods.class); - R<List<Order>> orderListByUserIdAndGoodsId = remoteOrderGoodsClient.getOrderListByUserIdAndGoodsId(userId, goods.getId()); - if (R.isSuccess(orderListByUserIdAndGoodsId)){ - List<Order> orderList = orderListByUserIdAndGoodsId.getData(); - if (CollectionUtil.isEmpty(orderList)){ - return false; - } - } - } - return true; - } - } - return false; } @@ -115,19 +110,32 @@ VipSetting vipSetting = vipSettingService.getVipSettingById(5); // 获取通过消费积分达成会员等级的开关 Integer vipLevelUpShopRole = vipSetting.getVipLevelUpShopRole(); - if (null != vipLevelUpShopRole && vipLevelUpShopRole == 1){ + + boolean b = false; + String[] split = vipSetting.getGoodIds().split(","); + for (String s : split) { + R<List<Order>> orderListByUserIdAndGoodsId = remoteOrderGoodsClient.getOrderListByUserIdAndGoodsId(userId, Integer.valueOf(s)); + if (R.isSuccess(orderListByUserIdAndGoodsId)){ + List<Order> orderList = orderListByUserIdAndGoodsId.getData(); + if (orderList.size() > 0){ + b = true; + break; + } + } + } + if (b && null != vipLevelUpShopRole && vipLevelUpShopRole == 1){ // 消费积分阈值 Integer vipLevelUpShop = vipSetting.getVipLevelUpShop(); // 返佣积分阈值 Integer vipLevelUpShare = vipSetting.getVipLevelUpShare(); // 判断是否满足消费积分和返佣积分 - if (shopPoint >=vipLevelUpShop && sharePoint >= vipLevelUpShare){ + if (shopPoint.compareTo(vipLevelUpShop) >= 0 && sharePoint.compareTo(vipLevelUpShare) >= 0){ return true; } } Integer vipLevelUpNumRole = vipSetting.getVipLevelUpNumRole(); - if (null != vipLevelUpNumRole && vipLevelUpNumRole == 1){ + if (b && null != vipLevelUpNumRole && vipLevelUpNumRole == 1){ // 直推钻石用户数阈值 Integer vipDirectNum = vipSetting.getVipDirectNum(); // 获取用户直推钻石用户数量 @@ -135,29 +143,8 @@ .eq(AppUser::getInviteUserId, userId) .eq(AppUser::getVipId, 3)); // 判断是否满足直推钻石用户数量 - if (userDiamondsCount >= vipDirectNum){ - return true; - } + return userDiamondsCount >= vipDirectNum.longValue(); } - - R<List<VipGood>> vipGoodsByVipId = vipGoodClient.getVipGoodsByVipId(5); - if (R.isSuccess(vipGoodsByVipId)){ - List<VipGood> vipGoods = vipGoodsByVipId.getData(); - if (CollectionUtil.isNotEmpty(vipGoods)){ - for (VipGood vipGood : vipGoods) { - Goods goods = JSON.parseObject(vipGood.getGood_json(), Goods.class); - R<List<Order>> orderListByUserIdAndGoodsId = remoteOrderGoodsClient.getOrderListByUserIdAndGoodsId(userId, goods.getId()); - if (R.isSuccess(orderListByUserIdAndGoodsId)){ - List<Order> orderList = orderListByUserIdAndGoodsId.getData(); - if (CollectionUtil.isEmpty(orderList)){ - return false; - } - } - } - return true; - } - } - return false; } @@ -166,9 +153,24 @@ AppUser appUser = appUserService.getById(userId); // 获取总代会员设置 VipSetting vipSetting = vipSettingService.getVipSettingById(6); + + // 获取指定购买商品 + boolean b = false; + String[] split = vipSetting.getGoodIds().split(","); + for (String s : split) { + R<List<Order>> orderListByUserIdAndGoodsId = remoteOrderGoodsClient.getOrderListByUserIdAndGoodsId(userId, Integer.valueOf(s)); + if (R.isSuccess(orderListByUserIdAndGoodsId)){ + List<Order> orderList = orderListByUserIdAndGoodsId.getData(); + if (orderList.size() > 0){ + b = true; + break; + } + } + } + // 获取会员等级是否必须达到代理 Integer vipLevelUpProxyRole = vipSetting.getVipLevelUpProxyRole(); - if (vipLevelUpProxyRole == 1 && appUser.getVipId() == 5){ + if (b && vipLevelUpProxyRole == 1 && appUser.getVipId() == 5){ return true; } @@ -178,19 +180,19 @@ Integer sharePoint = appUser.getSharePoint(); // 获取通过消费积分达成会员等级的开关 Integer vipLevelUpShopRole = vipSetting.getVipLevelUpShopRole(); - if (null != vipLevelUpShopRole && vipLevelUpShopRole == 1){ + if (b && null != vipLevelUpShopRole && vipLevelUpShopRole == 1){ // 消费积分阈值 Integer vipLevelUpShop = vipSetting.getVipLevelUpShop(); // 返佣积分阈值 Integer vipLevelUpShare = vipSetting.getVipLevelUpShare(); // 判断是否满足消费积分和返佣积分 - if (shopPoint >=vipLevelUpShop && sharePoint >= vipLevelUpShare){ + if (shopPoint.compareTo(vipLevelUpShop) >= 0 && sharePoint.compareTo(vipLevelUpShare) >= 0){ return true; } } Integer vipLevelUpNumRole = vipSetting.getVipLevelUpNumRole(); - if (null != vipLevelUpNumRole && vipLevelUpNumRole == 1){ + if (b && null != vipLevelUpNumRole && vipLevelUpNumRole == 1){ // 直推代理用户数阈值 Integer vipDirectNum = vipSetting.getVipDirectNum(); // 准代理用户数阈值 @@ -207,29 +209,8 @@ .eq(AppUser::getVipId, 4)); // 判断是否满足直推代理用户数量和准代理数量 - if (userAgentList.size() >= vipDirectNum && userQuasiAgentCount >= vipDirectVipNum){ - return true; - } + return userAgentList.size() >= vipDirectNum && userQuasiAgentCount >= vipDirectVipNum.longValue(); } - // 获取指定购买商品 - R<List<VipGood>> vipGoodsByVipId = vipGoodClient.getVipGoodsByVipId(5); - if (R.isSuccess(vipGoodsByVipId)){ - List<VipGood> vipGoods = vipGoodsByVipId.getData(); - if (CollectionUtil.isNotEmpty(vipGoods)){ - for (VipGood vipGood : vipGoods) { - Goods goods = JSON.parseObject(vipGood.getGood_json(), Goods.class); - R<List<Order>> orderListByUserIdAndGoodsId = remoteOrderGoodsClient.getOrderListByUserIdAndGoodsId(userId, goods.getId()); - if (R.isSuccess(orderListByUserIdAndGoodsId)){ - List<Order> orderList = orderListByUserIdAndGoodsId.getData(); - if (CollectionUtil.isEmpty(orderList)){ - return false; - } - } - } - return true; - } - } - return false; } @@ -242,66 +223,79 @@ Integer sharePoint = appUser.getSharePoint(); // 合伙人会员设置 VipSetting vipSetting = vipSettingService.getVipSettingById(7); + // 获取指定购买商品 + boolean b = false; + String[] split = vipSetting.getGoodIds().split(","); + for (String s : split) { + R<List<Order>> orderListByUserIdAndGoodsId = remoteOrderGoodsClient.getOrderListByUserIdAndGoodsId(userId, Integer.valueOf(s)); + if (R.isSuccess(orderListByUserIdAndGoodsId)){ + List<Order> orderList = orderListByUserIdAndGoodsId.getData(); + if (orderList.size() > 0){ + b = true; + break; + } + } + } + // 获取通过消费积分达成会员等级的开关 Integer vipLevelUpShopRole = vipSetting.getVipLevelUpShopRole(); - if (null != vipLevelUpShopRole && vipLevelUpShopRole == 1){ + if (b && null != vipLevelUpShopRole && vipLevelUpShopRole == 1){ // 消费积分阈值 Integer vipLevelUpShop = vipSetting.getVipLevelUpShop(); // 返佣积分阈值 Integer vipLevelUpShare = vipSetting.getVipLevelUpShare(); // 判断是否满足消费积分和返佣积分 - if (shopPoint >=vipLevelUpShop && sharePoint >= vipLevelUpShare){ + if (shopPoint.compareTo(vipLevelUpShop) >= 0 && sharePoint.compareTo(vipLevelUpShare) >= 0){ return true; } + } - Integer vipLevelUpNumRole = vipSetting.getVipLevelUpNumRole(); - if (null != vipLevelUpNumRole && vipLevelUpNumRole == 1){ - // 直推代理用户数阈值 - Integer vipDirectNum = vipSetting.getVipDirectNum(); - // 准代理用户数阈值 - Integer vipDirectVipNum = vipSetting.getVipDirectVipNum(); - // 总代用户数阈值 - Integer vipTeamVipNum = vipSetting.getVipTeamVipNum(); - // 获取开店数量阈值 - Integer vipOpenShopNum = vipSetting.getVipOpenShopNum(); + Integer vipLevelUpNumRole = vipSetting.getVipLevelUpNumRole(); + if (b && null != vipLevelUpNumRole && vipLevelUpNumRole == 1){ + // 直推代理用户数阈值 + Integer vipDirectNum = vipSetting.getVipDirectNum(); + // 准代理用户数阈值 + Integer vipDirectVipNum = vipSetting.getVipDirectVipNum(); + // 总代用户数阈值 + Integer vipTeamVipNum = vipSetting.getVipTeamVipNum(); + // 获取开店数量阈值 + Integer vipOpenShopNum = vipSetting.getVipOpenShopNum(); - // 获取直推用户有超过指定门店数量的用户 - List<Long> userShopList = appUserService.list(new LambdaQueryWrapper<AppUser>() - .eq(AppUser::getInviteUserId, userId)) - .stream().map(AppUser::getId).collect(Collectors.toList()); - if (CollectionUtil.isNotEmpty(userShopList)){ - R<List<Shop>> r = shopClient.getShopByUserIds(userShopList); - List<Shop> shopList = r.getData(); - if (CollectionUtil.isNotEmpty(shopList)){ - Map<Long, List<Shop>> shopUserMap = shopList.stream().collect(Collectors.groupingBy(Shop::getAppUserId)); + // 获取直推用户有超过指定门店数量的用户 + List<Long> userShopList = appUserService.list(new LambdaQueryWrapper<AppUser>() + .eq(AppUser::getInviteUserId, userId)) + .stream().map(AppUser::getId).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(userShopList)){ + R<List<Shop>> r = shopClient.getShopByUserIds(userShopList); + List<Shop> shopList = r.getData(); + if (CollectionUtil.isNotEmpty(shopList)){ + Map<Long, List<Shop>> shopUserMap = shopList.stream().collect(Collectors.groupingBy(Shop::getAppUserId)); - // 查找 list 长度大于 3 的 key - Set<Long> shopUserIdSet = shopUserMap.entrySet().stream() - .filter(entry -> entry.getValue().size() >= vipOpenShopNum) - .map(Map.Entry::getKey) - .collect(Collectors.toSet()); + // 查找 list 长度大于 3 的 key + Set<Long> shopUserIdSet = shopUserMap.entrySet().stream() + .filter(entry -> entry.getValue().size() >= vipOpenShopNum) + .map(Map.Entry::getKey) + .collect(Collectors.toSet()); - // 获取用户直推总代理数量 - List<AppUser> userTotalAgentList = appUserService.list(new LambdaQueryWrapper<AppUser>() - .in(AppUser::getInviteUserId, shopUserIdSet) - .eq(AppUser::getVipId, 6)); + // 获取用户直推总代理数量 + List<AppUser> userTotalAgentList = appUserService.list(new LambdaQueryWrapper<AppUser>() + .in(AppUser::getInviteUserId, shopUserIdSet) + .eq(AppUser::getVipId, 6)); - // 获取用户直推代理用户数量 - List<AppUser> userAgentList = appUserService.list(new LambdaQueryWrapper<AppUser>() - .in(AppUser::getInviteUserId, shopUserIdSet) - .eq(AppUser::getVipId, 5)); + // 获取用户直推代理用户数量 + List<AppUser> userAgentList = appUserService.list(new LambdaQueryWrapper<AppUser>() + .in(AppUser::getInviteUserId, shopUserIdSet) + .eq(AppUser::getVipId, 5)); - // 代理下的准代理数量 - List<Long> userQuasiAgent = userAgentList.stream().map(AppUser::getId).collect(Collectors.toList()); - long userQuasiAgentCount = appUserService.count(new LambdaQueryWrapper<AppUser>() - .in(AppUser::getInviteUserId, userQuasiAgent) - .eq(AppUser::getVipId, 4)); + // 代理下的准代理数量 + List<Long> userQuasiAgent = userAgentList.stream().map(AppUser::getId).collect(Collectors.toList()); + long userQuasiAgentCount = appUserService.count(new LambdaQueryWrapper<AppUser>() + .in(AppUser::getInviteUserId, userQuasiAgent) + .eq(AppUser::getVipId, 4)); - // 判断是否满足直推代理用户数量和准代理数量 - return userTotalAgentList.size() >= vipTeamVipNum && userAgentList.size() >= vipDirectNum && - userQuasiAgentCount >= vipDirectVipNum; - - } + // 判断是否满足直推代理用户数量和准代理数量 + return userTotalAgentList.size() >= vipTeamVipNum && userAgentList.size() >= vipDirectNum && + userQuasiAgentCount >= vipDirectVipNum; } } -- Gitblit v1.7.1