|
@@ -1,7 +1,5 @@
|
|
|
package com.kxs.user.biz.service.impl;
|
|
package com.kxs.user.biz.service.impl;
|
|
|
|
|
|
|
|
-import cn.hutool.core.date.DateUtil;
|
|
|
|
|
-import cn.hutool.core.date.TimeInterval;
|
|
|
|
|
import cn.hutool.core.text.CharSequenceUtil;
|
|
import cn.hutool.core.text.CharSequenceUtil;
|
|
|
import cn.hutool.core.util.IdcardUtil;
|
|
import cn.hutool.core.util.IdcardUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
@@ -27,23 +25,19 @@ import com.kxs.system.api.util.MsgTemplateUtil;
|
|
|
import com.kxs.user.api.dto.kxsapp.app.ForgetPwdDTO;
|
|
import com.kxs.user.api.dto.kxsapp.app.ForgetPwdDTO;
|
|
|
import com.kxs.user.api.dto.kxsapp.app.RegisterDTO;
|
|
import com.kxs.user.api.dto.kxsapp.app.RegisterDTO;
|
|
|
import com.kxs.user.api.dto.kxsapp.user.*;
|
|
import com.kxs.user.api.dto.kxsapp.user.*;
|
|
|
-import com.kxs.user.api.model.KxsUser;
|
|
|
|
|
-import com.kxs.user.api.model.KxsUserAmount;
|
|
|
|
|
-import com.kxs.user.api.model.KxsUserBank;
|
|
|
|
|
-import com.kxs.user.api.model.KxsUserReal;
|
|
|
|
|
|
|
+import com.kxs.user.api.model.*;
|
|
|
import com.kxs.user.api.vo.kxsapp.user.RealUserInfoVO;
|
|
import com.kxs.user.api.vo.kxsapp.user.RealUserInfoVO;
|
|
|
import com.kxs.user.api.vo.kxsapp.user.UserCodeInfoVO;
|
|
import com.kxs.user.api.vo.kxsapp.user.UserCodeInfoVO;
|
|
|
import com.kxs.user.api.vo.kxsapp.user.UserInfoVO;
|
|
import com.kxs.user.api.vo.kxsapp.user.UserInfoVO;
|
|
|
|
|
+import com.kxs.user.api.vo.kxsapp.userLevel.AmountDetailVO;
|
|
|
|
|
+import com.kxs.user.api.vo.kxsapp.userLevel.LevelDetailVO;
|
|
|
|
|
+import com.kxs.user.api.vo.kxsapp.userLevel.LevelsVO;
|
|
|
import com.kxs.user.biz.constant.UserConstants;
|
|
import com.kxs.user.biz.constant.UserConstants;
|
|
|
import com.kxs.user.biz.constant.enums.KxsUserStatusEnum;
|
|
import com.kxs.user.biz.constant.enums.KxsUserStatusEnum;
|
|
|
import com.kxs.user.biz.constant.enums.UserErrorTypeEnum;
|
|
import com.kxs.user.biz.constant.enums.UserErrorTypeEnum;
|
|
|
import com.kxs.user.biz.constant.enums.UserRealStatusEnum;
|
|
import com.kxs.user.biz.constant.enums.UserRealStatusEnum;
|
|
|
-import com.kxs.user.biz.mapper.KxsUserAmountMapper;
|
|
|
|
|
-import com.kxs.user.biz.mapper.KxsUserBankMapper;
|
|
|
|
|
-import com.kxs.user.biz.mapper.KxsUserMapper;
|
|
|
|
|
-import com.kxs.user.biz.mapper.KxsUserRealMapper;
|
|
|
|
|
|
|
+import com.kxs.user.biz.mapper.*;
|
|
|
import com.kxs.user.biz.service.KxsUserService;
|
|
import com.kxs.user.biz.service.KxsUserService;
|
|
|
-import io.seata.core.context.RootContext;
|
|
|
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -60,6 +54,8 @@ import org.springframework.security.web.authentication.preauth.PreAuthenticatedA
|
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
|
|
+import java.time.LocalDateTime;
|
|
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
|
import java.util.UUID;
|
|
import java.util.UUID;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
@@ -90,6 +86,12 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
|
|
|
|
|
|
|
|
private final RemoteKxsStoreService remoteKxsStoreService;
|
|
private final RemoteKxsStoreService remoteKxsStoreService;
|
|
|
|
|
|
|
|
|
|
+ private final KxsLeaderMapper kxsLeaderMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final KxsPartnerMapper kxsPartnerMapper;
|
|
|
|
|
+
|
|
|
|
|
+ private final KxsUserPresetLogMapper kxsUserPresetLogMapper;
|
|
|
|
|
+
|
|
|
|
|
|
|
|
private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder();
|
|
private static final PasswordEncoder ENCODER = new BCryptPasswordEncoder();
|
|
|
|
|
|
|
@@ -491,6 +493,78 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
|
|
|
return baseMapper.findUserRealBankInfo(userId);
|
|
return baseMapper.findUserRealBankInfo(userId);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
|
+ public LevelDetailVO levelDetail() {
|
|
|
|
|
+
|
|
|
|
|
+ KxsUser user = this.getById(SecurityUtils.getUser().getId());
|
|
|
|
|
+
|
|
|
|
|
+ LevelDetailVO levelDetailVO = new LevelDetailVO();
|
|
|
|
|
+ levelDetailVO.setId(user.getId());
|
|
|
|
|
+ levelDetailVO.setUsername(user.getUsername());
|
|
|
|
|
+ levelDetailVO.setAvatar(user.getAvatar());
|
|
|
|
|
+ //上月业绩等级
|
|
|
|
|
+ levelDetailVO.setLastLevel(user.getUserLevel());
|
|
|
|
|
+ //查询用户最高职级
|
|
|
|
|
+ Integer level = baseMapper.selectMaxLevel(SecurityUtils.getUser().getId());
|
|
|
|
|
+ levelDetailVO.setUserLevel(level);
|
|
|
|
|
+
|
|
|
|
|
+ //查询各个职级列表
|
|
|
|
|
+ ArrayList<LevelsVO> levels = new ArrayList<>();
|
|
|
|
|
+
|
|
|
|
|
+ //合伙人职级
|
|
|
|
|
+ KxsPartner kxsPartner = kxsPartnerMapper.selectOne(Wrappers.<KxsPartner>lambdaQuery().eq(KxsPartner::getUserId, user.getId()));
|
|
|
|
|
+ if(kxsPartner != null){
|
|
|
|
|
+ LevelsVO levelsVO = new LevelsVO();
|
|
|
|
|
+ levelsVO.setLevelName("合伙人职级");
|
|
|
|
|
+ levelsVO.setLevel(kxsPartner.getPartnerLevel());
|
|
|
|
|
+ levelsVO.setExpiredDate(kxsPartner.getExpiredDate());
|
|
|
|
|
+ if(kxsPartner.getExpiredDate().isBefore(LocalDateTime.now())){
|
|
|
|
|
+ levelsVO.setStatus(0);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ levelsVO.setStatus(1);
|
|
|
|
|
+ }
|
|
|
|
|
+ levels.add(levelsVO);
|
|
|
|
|
+ }
|
|
|
|
|
+ //盟主职级
|
|
|
|
|
+ KxsLeader kxsLeader = kxsLeaderMapper.selectOne(Wrappers.<KxsLeader>lambdaQuery().eq(KxsLeader::getUserId, user.getId()));
|
|
|
|
|
+ if(kxsLeader != null){
|
|
|
|
|
+ LevelsVO levelsVO = new LevelsVO();
|
|
|
|
|
+ levelsVO.setLevelName("盟主职级");
|
|
|
|
|
+ levelsVO.setLevel(kxsLeader.getLeaderLevel());
|
|
|
|
|
+ levelsVO.setExpiredDate(kxsLeader.getExpiredDate());
|
|
|
|
|
+ if(kxsLeader.getExpiredDate().isBefore(LocalDateTime.now())){
|
|
|
|
|
+ levelsVO.setStatus(0);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ levelsVO.setStatus(1);
|
|
|
|
|
+ }
|
|
|
|
|
+ levels.add(levelsVO);
|
|
|
|
|
+ }
|
|
|
|
|
+ //预设职级
|
|
|
|
|
+ KxsUserPresetLog userPresetLog = kxsUserPresetLogMapper.selectOne(Wrappers.<KxsUserPresetLog>lambdaQuery().eq(KxsUserPresetLog::getUserId, user.getId()));
|
|
|
|
|
+ if(userPresetLog != null){
|
|
|
|
|
+ LevelsVO levelsVO = new LevelsVO();
|
|
|
|
|
+ levelsVO.setLevelName("预设职级");
|
|
|
|
|
+ levelsVO.setLevel(userPresetLog.getPresetLevel());
|
|
|
|
|
+ levelsVO.setExpiredDate(userPresetLog.getEndTime());
|
|
|
|
|
+ if(userPresetLog.getEndTime().isBefore(LocalDateTime.now())){
|
|
|
|
|
+ levelsVO.setStatus(0);
|
|
|
|
|
+ }else{
|
|
|
|
|
+ levelsVO.setStatus(1);
|
|
|
|
|
+ }
|
|
|
|
|
+ levels.add(levelsVO);
|
|
|
|
|
+ }
|
|
|
|
|
+ levelDetailVO.setLevels(levels);
|
|
|
|
|
+
|
|
|
|
|
+ return levelDetailVO;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ public static void main(String[] args) {
|
|
|
|
|
+ System.out.println(ENCODER.encode("aa121314" +"abc108fa-2060-46fc-b21b-fd5246fecb86"));
|
|
|
|
|
+ System.out.println(ENCODER.matches("aa121314" +"abc108fa-2060-46fc-b21b-fd5246fecb86", "$2a$10$sBtcVoeOuemMvhVI.OIp3e9LNlamWTOglZdf1AcPIJRY1KKNUvrOW"));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 检查验证码
|
|
* 检查验证码
|