邀请人列表
This commit is contained in:
@@ -6,6 +6,7 @@ import com.czg.account.dto.shopuser.ShopUserVipCardDTO;
|
||||
import com.czg.account.dto.user.userinfo.UserInfoAssetsSummaryDTO;
|
||||
import com.czg.account.entity.ShopUser;
|
||||
import com.czg.market.entity.SmsPushEventUser;
|
||||
import com.czg.market.vo.InviteUserVO;
|
||||
import com.mybatisflex.core.BaseMapper;
|
||||
import com.mybatisflex.core.paginate.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
@@ -62,4 +63,12 @@ public interface ShopUserMapper extends BaseMapper<ShopUser> {
|
||||
@Param("param") SmsPushEventUser smsPushEventUser
|
||||
);
|
||||
|
||||
|
||||
/**
|
||||
* 查询邀请用户
|
||||
*
|
||||
* @param distributionUserId 分销员ID
|
||||
* @return 分页结果
|
||||
*/
|
||||
List<InviteUserVO> getInviteUser(Long distributionUserId);
|
||||
}
|
||||
|
||||
@@ -100,12 +100,10 @@ public class ShopUserServiceImpl extends ServiceImpl<ShopUserMapper, ShopUser> i
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<InviteUserVO> getInviteUser(Long getDistributionUserId, Integer page, Integer size) {
|
||||
Page<InviteUserVO> pages = pageAs(new Page<>(page, size),QueryWrapper.create()
|
||||
.select("head_img as headImg,nick_name as shopUserName,phone as shopUserPhone,one_income as oneIncome")
|
||||
.eq(ShopUser::getDistributionUserId, getDistributionUserId)
|
||||
.orderBy(ShopUser::getCreateTime).desc(), InviteUserVO.class);
|
||||
return pages;
|
||||
public Page<InviteUserVO> getInviteUser(Long distributionUserId, Integer page, Integer size) {
|
||||
PageHelper.startPage(page, size);
|
||||
List<InviteUserVO> inviteUser = mapper.getInviteUser(distributionUserId);
|
||||
return PageUtil.convert(new PageInfo<>(inviteUser));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -262,4 +262,18 @@
|
||||
</if>
|
||||
order by u.create_time desc
|
||||
</select>
|
||||
<select id="getInviteUser" resultType="com.czg.market.vo.InviteUserVO">
|
||||
SELECT user.head_img AS headImg,
|
||||
user.nick_name AS shopUserName,
|
||||
user.phone AS shopUserPhone,
|
||||
user.one_income AS oneIncome,
|
||||
user.invite_time AS inviteTime,
|
||||
dist.distribution_level_id AS levelId,
|
||||
dist.distribution_level_name AS levelName,
|
||||
CASE WHEN dist.id IS NOT NULL THEN 1 ELSE 0 END AS isDistribution
|
||||
FROM `tb_shop_user` user
|
||||
left join mk_distribution_user dist on user.id = dist.id
|
||||
WHERE user.`distribution_user_id` = #{distributionUserId}
|
||||
ORDER BY `create_time` DESC
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user