| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | | // 获取用户直推钻石用户数量 |
| | |
| | | .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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | 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(); |
| | | // 准代理用户数阈值 |
| | |
| | | .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; |
| | | } |
| | | |
| | |
| | | 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; |
| | | |
| | | } |
| | | } |