|
@@ -1,5 +1,6 @@
|
|
|
package cn.newfeifan.mall.module.distri.service.duser;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.newfeifan.mall.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import cn.newfeifan.mall.module.distri.controller.admin.integral.vo.IntegralSaveReqVO;
|
|
|
import cn.newfeifan.mall.module.distri.controller.admin.sharepath.vo.SharePathSaveReqVO;
|
|
@@ -7,6 +8,7 @@ import cn.newfeifan.mall.module.distri.controller.admin.socialstatus.bo.SocialSt
|
|
|
import cn.newfeifan.mall.module.distri.dal.dataobject.integral.IntegralDO;
|
|
|
import cn.newfeifan.mall.module.distri.dal.dataobject.orderpercentage.OrderPercentageDO;
|
|
|
import cn.newfeifan.mall.module.distri.dal.dataobject.sharepath.SharePathDO;
|
|
|
+import cn.newfeifan.mall.module.distri.dal.dataobject.socialstatus.SocialStatusDO;
|
|
|
import cn.newfeifan.mall.module.distri.dal.mysql.orderpercentage.OrderPercentageMapper;
|
|
|
import cn.newfeifan.mall.module.distri.dal.mysql.sharepath.SharePathMapper;
|
|
|
import cn.newfeifan.mall.module.distri.enums.SocialStatusEnum;
|
|
@@ -15,6 +17,9 @@ import cn.newfeifan.mall.module.distri.service.ptprofitlog.PtProfitLogService;
|
|
|
import cn.newfeifan.mall.module.distri.service.sharepath.SharePathService;
|
|
|
import cn.newfeifan.mall.module.distri.service.socialstatus.SocialStatusService;
|
|
|
import cn.newfeifan.mall.module.distri.service.socialstatuschangelog.SocialStatusChangeLogService;
|
|
|
+import cn.newfeifan.mall.module.member.controller.admin.user.vo.MemberUserPageReqVO;
|
|
|
+import cn.newfeifan.mall.module.member.controller.admin.user.vo.MemberUserRespVO;
|
|
|
+import cn.newfeifan.mall.module.member.convert.user.MemberUserConvert;
|
|
|
import cn.newfeifan.mall.module.member.dal.dataobject.user.MemberUserDO;
|
|
|
import cn.newfeifan.mall.module.member.service.user.MemberUserService;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
@@ -34,6 +39,7 @@ import cn.newfeifan.mall.framework.common.util.object.BeanUtils;
|
|
|
import cn.newfeifan.mall.module.distri.dal.mysql.duser.DuserMapper;
|
|
|
|
|
|
import static cn.newfeifan.mall.framework.common.exception.util.ServiceExceptionUtil.exception;
|
|
|
+import static cn.newfeifan.mall.module.distri.constant.DistriConstants.PT_ID;
|
|
|
import static cn.newfeifan.mall.module.distri.enums.ErrorCodeConstants.*;
|
|
|
|
|
|
/**
|
|
@@ -136,7 +142,7 @@ public class DuserServiceImpl implements DuserService {
|
|
|
public void updateDuserSocial(Long userId, Long social, Integer socialStatus) {
|
|
|
|
|
|
//平台不参与身价
|
|
|
- if(userId == 1L){
|
|
|
+ if(Objects.equals(userId, PT_ID)){
|
|
|
return;
|
|
|
}
|
|
|
|
|
@@ -144,11 +150,34 @@ public class DuserServiceImpl implements DuserService {
|
|
|
DuserDO duser = getDuserByUser(userId);
|
|
|
duser.setSocialStatusPoint(duser.getSocialStatusPoint() + social);
|
|
|
|
|
|
- SocialStatusBO socialStatusBO = socialStatusService.getSocialStatusId(duser.getSocialStatusPoint());
|
|
|
+ SocialStatusBO socialStatusBO = socialStatusService.calculateSocial(duser.getSocialStatusPoint());
|
|
|
duser.setSocialUpNeed(socialStatusBO.getSocialUpNeed());
|
|
|
- duser.setSocialStatus(Math.toIntExact(socialStatusBO.getId()));
|
|
|
+ duser.setSocialStatusId(socialStatusBO.getId());
|
|
|
|
|
|
duserMapper.updateById(duser);
|
|
|
+
|
|
|
+ socialStatusChangeLogService.createSocialStatusChangeLog(userId, social,userId, SocialStatusEnum.getSocialStatusEnumByCode(socialStatus));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public PageResult<MemberUserRespVO> getMemberUserPage(MemberUserPageReqVO pageVO) {
|
|
|
+ PageResult<MemberUserDO> pageResult = memberUserService.getUserPage(pageVO);
|
|
|
+ if (CollUtil.isEmpty(pageResult.getList())) {
|
|
|
+ return PageResult.empty();
|
|
|
+ }
|
|
|
+ PageResult<MemberUserRespVO> result = MemberUserConvert.INSTANCE.convertPage(pageResult);
|
|
|
+ for (MemberUserRespVO memberUserRespVO : result.getList()) {
|
|
|
+ //获取团队用户
|
|
|
+ DuserDO duser = getDuserByUser(memberUserRespVO.getId());
|
|
|
+ SocialStatusDO socialStatus = socialStatusService.getSocialStatus(duser.getSocialStatusId());
|
|
|
+ if(socialStatus == null) continue;
|
|
|
+ memberUserRespVO.setCurrentMemberWorthLevelName(socialStatus.getName());
|
|
|
+ memberUserRespVO.setCurrentMemberWorthLevel(socialStatus.getLevel());
|
|
|
+ //获取钱包
|
|
|
+ IntegralDO integral = integralService.getIntegral(memberUserRespVO.getId());
|
|
|
+ memberUserRespVO.setCurrentMemberPoints(integral.getCurrentQuota());
|
|
|
+ }
|
|
|
+ return result;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -231,7 +260,7 @@ public class DuserServiceImpl implements DuserService {
|
|
|
}
|
|
|
if (duserDO == null) {
|
|
|
OrderPercentageDO orderPercentageDO = orderPercentageMapper.selectList().get(0);
|
|
|
- SocialStatusBO socialStatusBO = socialStatusService.getSocialStatusId(Long.valueOf(orderPercentageDO.getRegisterSocialStatus()));
|
|
|
+ SocialStatusBO socialStatusBO = socialStatusService.calculateSocial(Long.valueOf(orderPercentageDO.getRegisterSocialStatus()));
|
|
|
|
|
|
// 创建一个新的营销用户
|
|
|
DuserSaveReqVO duserSaveReqVO = DuserSaveReqVO.builder()
|
|
@@ -241,12 +270,11 @@ public class DuserServiceImpl implements DuserService {
|
|
|
.nickName(user.getNickname())
|
|
|
.integralId(integralDO.getId())
|
|
|
.source(userId)
|
|
|
- .socialStatus(1L)
|
|
|
+ .socialStatusId(1L)
|
|
|
.socialStatusPoint(0L)
|
|
|
.build();
|
|
|
duserMapper.insert(BeanUtils.toBean(duserSaveReqVO, DuserDO.class));
|
|
|
|
|
|
- duserMapper.insert(BeanUtils.toBean(duserSaveReqVO, DuserDO.class));
|
|
|
socialStatusChangeLogService.createSocialStatusChangeLog(userId, Long.valueOf(orderPercentageDO.getRegisterAncestorSocialStatus()),userId, SocialStatusEnum.REGISTER_SOCIAL);
|
|
|
}
|
|
|
}
|