From 9b4354ae70160b2ba2adee6b4785b17f64c17035 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Tue, 28 Oct 2025 11:27:27 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E9=94=80=E5=91=98=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=20shopUser=E4=B8=BB=E9=94=AEID?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/UDistributionController.java | 4 +- .../czg/market/dto/MkDistributionUserDTO.java | 10 +- .../czg/market/entity/MkDistributionUser.java | 8 +- .../impl/MkDistributionUserServiceImpl.java | 103 +++++++++++++----- 4 files changed, 86 insertions(+), 39 deletions(-) diff --git a/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java b/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java index 3b6a2273..15c66978 100644 --- a/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java +++ b/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java @@ -104,9 +104,9 @@ public class UDistributionController { */ @PostMapping("/bindInviteUser") public CzgResult> bindInviteUser(@RequestBody MkDistributionUserDTO param) { + AssertUtil.isNull(param.getId(), "店铺用户ID不能为空"); AssertUtil.isNull(param.getShopId(), "店铺ID不能为空"); - AssertUtil.isNull(param.getParentId(), "店铺用户ID不能为空"); - AssertUtil.isNull(param.getDistributionLevelId(), "分销等级ID不能为空"); + AssertUtil.isNull(param.getInviteCode(), "邀请码不能为空"); distributionUserService.bindInviteUser(param); return CzgResult.success(); } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionUserDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionUserDTO.java index c2b34679..0ea3e315 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionUserDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/dto/MkDistributionUserDTO.java @@ -45,11 +45,6 @@ public class MkDistributionUserDTO extends TimeQueryParam implements Serializabl */ private Long shopId; - /** - * 店铺用户Id - */ - private Long shopUserId; - /** * 分销等级 */ @@ -120,4 +115,9 @@ public class MkDistributionUserDTO extends TimeQueryParam implements Serializabl */ private String shopUserPhone; + /** + * 邀请码 + */ + private String inviteCode; + } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java index d1062e8d..8df7a35d 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/entity/MkDistributionUser.java @@ -32,9 +32,8 @@ public class MkDistributionUser implements Serializable { private static final long serialVersionUID = 1L; /** - * 分销员ID,主键自增 + * 分销员ID 使用ShopUserId */ - @Id(keyType = KeyType.Auto) private Long id; /** @@ -49,11 +48,6 @@ public class MkDistributionUser implements Serializable { private Long userId; - /** - * 店铺用户Id - */ - private Long shopUserId; - /** * 分销等级 */ 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 c4af6ece..a2fc9678 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 @@ -158,12 +158,12 @@ public class MkDistributionUserServiceImpl extends ServiceImpl distributionUser = new HashMap<>(); @@ -211,42 +211,92 @@ public class MkDistributionUserServiceImpl extends ServiceImpl getDistributionUser(MkDistributionUserDTO param) { QueryWrapper queryWrapper = new QueryWrapper(); + queryWrapper.eq(MkDistributionUser::getId, param.getId()); queryWrapper.eq(MkDistributionUser::getShopId, param.getShopId()); queryWrapper.eq(MkDistributionUser::getParentId, param.getParentId()); - queryWrapper.eq(MkDistributionUser::getShopUserId, param.getShopUserId()); queryWrapper.ge(MkDistributionUser::getCreateTime, param.getStartTime()); queryWrapper.le(MkDistributionUser::getCreateTime, param.getEndTime()); queryWrapper.orderBy(MkDistributionUser::getCreateTime).desc(); Page page = pageAs(new Page<>(param.getPage(), param.getSize()), queryWrapper, MkDistributionUserDTO.class); Map shopUserMap = new HashMap<>(); if (CollUtil.isNotEmpty(page.getRecords())) { - if (param.getShopUserId() != null) { - shopUserMap.put(param.getShopUserId(), shopUserService.getById(param.getShopUserId())); + if (param.getId() != null) { + shopUserMap.put(param.getId(), shopUserService.getById(param.getId())); } else { Set shopUserIds = page.getRecords().stream() - .map(MkDistributionUserDTO::getShopUserId) + .map(MkDistributionUserDTO::getId) .filter(Objects::nonNull) .collect(Collectors.toSet()); shopUserMap = shopUserService.list(QueryWrapper.create().in(ShopUser::getId, shopUserIds)) .stream().collect(Collectors.toMap(ShopUser::getId, shopUser -> shopUser)); } for (MkDistributionUserDTO record : page.getRecords()) { - ShopUser shopUser = shopUserMap.get(record.getShopUserId()); + ShopUser shopUser = shopUserMap.get(record.getId()); if (shopUser == null || shopUser.getId() == null) { continue; } @@ -272,26 +322,29 @@ public class MkDistributionUserServiceImpl extends ServiceImpl 0) { throw new CzgException("该用户已被添加为分销员"); } - //TODO 通过不同的添加方式 增加校验 MkDistributionConfig config = mkDistributionConfigService.getOne( QueryWrapper.create().eq(MkDistributionConfig::getShopId, param.getShopId()) .eq(MkDistributionConfig::getIsEnable, 1)); AssertUtil.isNull(config, "店铺未配置分销"); - param.setStatus(1); - MkDistributionLevelConfig levelConfig = levelConfigService.getOne(QueryWrapper.create() - .eq(MkDistributionLevelConfig::getShopId, param.getShopId()) - .eq(MkDistributionLevelConfig::getLevel, 1)); - AssertUtil.isNull(levelConfig, "店铺未配置分销等级"); - param.setDistributionLevelId(levelConfig.getId()); - param.setDistributionLevelName(levelConfig.getName()); + param.setStatus(0); + if (!"自主申请".equals(param.getOpeningMethod()) || (config.getInviteCount() == 0)) { + MkDistributionLevelConfig levelConfig = levelConfigService.getOne(QueryWrapper.create() + .eq(MkDistributionLevelConfig::getShopId, param.getShopId()) + .orderBy(MkDistributionLevelConfig::getId).asc().limit(1)); + param.setStatus(1); + AssertUtil.isNull(levelConfig, "店铺未配置分销等级"); + param.setDistributionLevelId(levelConfig.getId()); + param.setDistributionLevelName(levelConfig.getName()); + } + param.setId(param.getId()); param.setInviteCode(CzgRandomUtils.randomString(10)); save(param); } @@ -354,7 +407,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl 0) { long count = distributionFlowService.count(new QueryWrapper().eq(MkDistributionFlow::getSourceShopUserId, sourceShopUser.getId()) - .eq(MkDistributionFlow::getShopUserId, distributionUser.getShopUserId())); + .eq(MkDistributionFlow::getShopUserId, distributionUser.getId())); if (count >= config.getRewardCount()) { - log.info("分销员{}已达到奖励次数上限, 次数: {}", distributionUser.getShopUserId(), config.getRewardCount()); + log.info("分销员{}已达到奖励次数上限, 次数: {}", distributionUser.getId(), config.getRewardCount()); return; } } @@ -415,7 +468,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl