邀请人列表

This commit is contained in:
2025-10-28 17:40:35 +08:00
parent c199711e4d
commit 618286703e
9 changed files with 135 additions and 30 deletions

View File

@@ -53,6 +53,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.math.RoundingMode;
import java.util.HashMap;
@@ -205,6 +206,30 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
return result;
}
@Override
@Transactional
public String getInviteCode(Long shopId, Long shopUserId) {
ShopUser shopUser = shopUserService.getById(shopUserId);
AssertUtil.isNull(shopUser, "店铺用户不存在");
MkDistributionConfigVO mkDistributionConfigVO = mkDistributionConfigService.detail(shopId);
if (mkDistributionConfigVO == null || mkDistributionConfigVO.getIsEnable() == 0) {
throw new CzgException("店铺分销功能未开启");
}
if (!"auto".equals(mkDistributionConfigVO.getOpenType())) {
throw new CzgException("该店铺不可自行成为分销员");
}
MkDistributionUser mkDistributionUser = this.getOne(QueryWrapper.create()
.eq(MkDistributionUser::getId, shopUser.getId()).eq(MkDistributionUser::getShopId, shopId));
if(mkDistributionUser == null){
mkDistributionUser= new MkDistributionUser();
mkDistributionUser.setId(shopUser.getId());
mkDistributionUser.setShopId(shopId);
mkDistributionUser.setOpeningMethod("自主申请");
mkDistributionUser = addDistributionUser(mkDistributionUser);
}
return mkDistributionUser.getInviteCode();
}
@Override
public void realNameAuth(UserInfo userInfo) {
AssertUtil.isTrue(IdcardUtil.isValidCard(userInfo.getIdCard()), "身份证号格式错误");
@@ -225,6 +250,12 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
}
MkDistributionUser parent = getOne(QueryWrapper.create().eq(MkDistributionUser::getInviteCode, param.getInviteCode()));
AssertUtil.isNull(parent, "邀请人不存在");
if (!parent.getShopId().equals(param.getShopId())) {
throw new CzgException("邀请人不是本店铺的分销员");
}
if (parent.getId().equals(shopUser.getId())) {
throw new CzgException("不能绑定自己为上级");
}
if (parent.getStatus() == 9) {
throw new CzgException("绑定失败该邀请人分销身份已被取消");
}
@@ -232,6 +263,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
newShopUser.setId(shopUser.getId());
newShopUser.setDistributionUserId(parent.getId());
newShopUser.setDistributionUserParentId(parent.getParentId());
newShopUser.setInviteTime(LocalDateTime.now());
shopUserService.updateById(newShopUser);
MkDistributionUser newDistributionUser = new MkDistributionUser();
newDistributionUser.setId(parent.getId());
@@ -353,10 +385,9 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
}
@Override
public void addDistributionUser(MkDistributionUser param) {
public MkDistributionUser addDistributionUser(MkDistributionUser param) {
AssertUtil.isNull(param.getShopId(), "店铺ID不能为空");
AssertUtil.isNull(param.getOpeningMethod(), "开通方式不能为空");
AssertUtil.isNull(param.getUserId(), "用户ID不能为空");
AssertUtil.isNull(param.getId(), "店铺用户ID不能为空");
ShopUser shopUser = shopUserService.getById(param.getId());
AssertUtil.isNull(shopUser, "店铺用户ID不能为空");
@@ -379,12 +410,14 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
param.setDistributionLevelName(levelConfig.getName());
}
param.setId(param.getId());
param.setUserId(shopUser.getUserId());
param.setInviteCode(CzgRandomUtils.randomString(10));
save(param);
ShopUser shopUser2 = new ShopUser();
shopUser2.setId(shopUser.getId());
shopUser2.addDistributionShop(param.getShopId());
shopUserService.updateById(shopUser2);
return param;
}
@Override