From e2103d4d0dc48e4b93edbca2558bf39289ac72c9 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 28 Oct 2025 14:51:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=82=80=E8=AF=B7=E4=BA=BA=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/MkDistributionUserService.java | 5 +++ .../impl/MkDistributionUserServiceImpl.java | 44 +++++++++++++------ .../service/impl/OrderInfoServiceImpl.java | 3 +- 3 files changed, 38 insertions(+), 14 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java index f29a6e75..fef7d8d5 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java @@ -62,6 +62,11 @@ public interface MkDistributionUserService extends IService */ Page getInviteUser(Long id, Integer page, Integer size); + /** + * 分销员:按消费金额升级等级 + */ + void costUpgradeLevelBefore(Long userId, Long shopId); + /** * 添加分销员 * shop_id 和 shop_user_id 必填 opening_method 必填 diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java index d2c77481..d4995705 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java @@ -263,31 +263,50 @@ public class MkDistributionUserServiceImpl extends ServiceImpl userIds = shopUserService.listAs(QueryWrapper.create() + .select(ShopUser::getUserId) + .eq(ShopUser::getDistributionUserId, shopUserId), Long.class); + BigDecimal totalAmount = orderInfoService.getOneAs(QueryWrapper.create() + .select("sum(pay_amount)") + .eq(OrderInfo::getShopId, shopId) + .eq(OrderInfo::getStatus, OrderStatusEnums.DONE.getCode()) + .in(OrderInfo::getUserId, userIds), BigDecimal.class); MkDistributionLevelConfig levelConfig = levelConfigService.getOne(QueryWrapper.create() .eq(MkDistributionLevelConfig::getShopId, distributionUser.getShopId()) .le(MkDistributionLevelConfig::getInviteCount, distributionUser.getInviteCount()) .gt(MkDistributionLevelConfig::getId, distributionUser.getDistributionLevelId()) .orderBy(MkDistributionLevelConfig::getLevel).desc().limit(1)); if (levelConfig != null) { - distributionUser.setDistributionLevelId(levelConfig.getId()); - distributionUser.setDistributionLevelName(levelConfig.getName()); + if (totalAmount.compareTo(levelConfig.getCostAmount()) >= 0) { + MkDistributionUser newDistributionUser = new MkDistributionUser(); + newDistributionUser.setId(shopUserId); + newDistributionUser.setDistributionLevelId(levelConfig.getId()); + newDistributionUser.setDistributionLevelName(levelConfig.getName()); + updateById(newDistributionUser); + } } } @@ -332,8 +351,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl getInviteUser(Long id, Integer page, Integer size) { return pageAs(new Page<>(page, size), QueryWrapper.create() .select("head_img as headImg,nick_name as shopUserName,phone as shopUserPhone,one_income as oneIncome") - .eq(MkDistributionUser::getShopId, id) - .eq(MkDistributionUser::getParentId, id) + .eq(ShopUser::getDistributionUserId, id) .orderBy(MkDistributionUser::getCreateTime).desc(), InviteUserVO.class); } diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index 501940ae..c0496d8b 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -1059,11 +1059,12 @@ public class OrderInfoServiceImpl extends ServiceImpl