|
@@ -9,8 +9,8 @@ import cn.hutool.core.util.ObjectUtil;
|
|
|
import cn.hutool.core.util.RandomUtil;
|
|
import cn.hutool.core.util.RandomUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.crypto.SecureUtil;
|
|
import cn.hutool.crypto.SecureUtil;
|
|
|
-import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.kxs.common.core.constant.CacheConstants;
|
|
import com.kxs.common.core.constant.CacheConstants;
|
|
|
import com.kxs.common.core.constant.CommonConstants;
|
|
import com.kxs.common.core.constant.CommonConstants;
|
|
@@ -40,26 +40,50 @@ import com.kxs.user.api.dto.kxsapp.ConcealParentDTO;
|
|
|
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.MchRegisterDTO;
|
|
import com.kxs.user.api.dto.kxsapp.app.MchRegisterDTO;
|
|
|
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.model.*;
|
|
|
|
|
-import com.kxs.user.api.vo.admin.user.SysUserWhereListVO;
|
|
|
|
|
-import com.kxs.user.api.vo.kxsapp.user.*;
|
|
|
|
|
|
|
+import com.kxs.user.api.dto.kxsapp.user.ForgetPayPwdDTO;
|
|
|
|
|
+import com.kxs.user.api.dto.kxsapp.user.RealUserDTO;
|
|
|
|
|
+import com.kxs.user.api.dto.kxsapp.user.UserCheckUserInfoDTO;
|
|
|
|
|
+import com.kxs.user.api.dto.kxsapp.user.UserHandPwdDTO;
|
|
|
|
|
+import com.kxs.user.api.dto.kxsapp.user.UserMyUserListDTO;
|
|
|
|
|
+import com.kxs.user.api.dto.kxsapp.user.UserUpdateAreaDTO;
|
|
|
|
|
+import com.kxs.user.api.dto.kxsapp.user.UserUpdateLoginPhoneDTO;
|
|
|
|
|
+import com.kxs.user.api.dto.kxsapp.user.UserUpdatePwdDTO;
|
|
|
|
|
+import com.kxs.user.api.model.KxsLeader;
|
|
|
|
|
+import com.kxs.user.api.model.KxsPartner;
|
|
|
|
|
+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.KxsUserPresetLog;
|
|
|
|
|
+import com.kxs.user.api.model.KxsUserReal;
|
|
|
|
|
+import com.kxs.user.api.vo.admin.user.SysUserPageVO;
|
|
|
|
|
+import com.kxs.user.api.vo.admin.user.SysUserUserAccountListVO;
|
|
|
|
|
+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.UserInfoVO;
|
|
|
|
|
+import com.kxs.user.api.vo.kxsapp.user.UserMyUserDetailVO;
|
|
|
|
|
+import com.kxs.user.api.vo.kxsapp.user.UserMyUserStatisticsVO;
|
|
|
import com.kxs.user.api.vo.kxsapp.userLevel.LevelDetailVO;
|
|
import com.kxs.user.api.vo.kxsapp.userLevel.LevelDetailVO;
|
|
|
import com.kxs.user.api.vo.kxsapp.userLevel.LevelsVO;
|
|
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.*;
|
|
|
|
|
|
|
+import com.kxs.user.biz.mapper.KxsLeaderMapper;
|
|
|
|
|
+import com.kxs.user.biz.mapper.KxsPartnerMapper;
|
|
|
|
|
+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.KxsUserPresetLogMapper;
|
|
|
|
|
+import com.kxs.user.biz.mapper.KxsUserRealMapper;
|
|
|
import com.kxs.user.biz.service.KxsUserService;
|
|
import com.kxs.user.biz.service.KxsUserService;
|
|
|
import com.kxs.user.biz.util.SmsUtils;
|
|
import com.kxs.user.biz.util.SmsUtils;
|
|
|
|
|
+import com.kxs.user.biz.util.TopUserIdUtil;
|
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.cache.CacheManager;
|
|
import org.springframework.cache.CacheManager;
|
|
|
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
import org.springframework.data.redis.core.RedisTemplate;
|
|
|
import org.springframework.security.authentication.event.LogoutSuccessEvent;
|
|
import org.springframework.security.authentication.event.LogoutSuccessEvent;
|
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
|
@@ -74,10 +98,13 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.ArrayList;
|
|
import java.util.ArrayList;
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
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;
|
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
|
* 用户表(KxsSecurityUser)表服务实现类
|
|
* 用户表(KxsSecurityUser)表服务实现类
|
|
@@ -274,23 +301,66 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public List<KxsUser> getUserPage(Page page, SysUserPageDTO param) {
|
|
|
|
|
- List<KxsUser> list = baseMapper.getUserPage(page, param);
|
|
|
|
|
|
|
+ public List<SysUserPageVO> getUserPage(Page page, SysUserPageDTO param) {
|
|
|
|
|
+ List<SysUserPageVO> list = baseMapper.getUserPage(page, param);
|
|
|
|
|
+ //封装顶级创客信息
|
|
|
|
|
+ packageTopUser(list);
|
|
|
if(page != null){
|
|
if(page != null){
|
|
|
page.setRecords(list);
|
|
page.setRecords(list);
|
|
|
}
|
|
}
|
|
|
return list;
|
|
return list;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * 封装顶级创客信息
|
|
|
|
|
+ * @param list
|
|
|
|
|
+ */
|
|
|
|
|
+ private void packageTopUser(List<SysUserPageVO> list){
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(list)){
|
|
|
|
|
+ //顶级创客的userId集合
|
|
|
|
|
+ List<Integer> userIds = new ArrayList<>();
|
|
|
|
|
+ //当前用户和顶级创客对应关系map
|
|
|
|
|
+ Map<Integer,Integer> map = new HashMap<>();
|
|
|
|
|
+ for(SysUserPageVO sysUserPageVO:list){
|
|
|
|
|
+ String pidPath = sysUserPageVO.getPidPath();
|
|
|
|
|
+ String topUserId = TopUserIdUtil.getTopUserId(pidPath);
|
|
|
|
|
+ if(StringUtils.isNotBlank(topUserId)){
|
|
|
|
|
+ map.put(sysUserPageVO.getId(),Integer.valueOf(topUserId));
|
|
|
|
|
+ userIds.add(Integer.valueOf(topUserId));
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ if(CollectionUtil.isNotEmpty(userIds)){
|
|
|
|
|
+ //查询顶级创客
|
|
|
|
|
+ List<KxsUser> kxsUsers = listByIds(userIds);
|
|
|
|
|
+ Map<Integer, KxsUser> topUserMap = kxsUsers.stream().collect(Collectors.toMap(o -> o.getId(), o -> o, (o1, o2) -> o2));
|
|
|
|
|
+ //设置顶级创客信息
|
|
|
|
|
+ for(SysUserPageVO sysUserPageVO:list){
|
|
|
|
|
+ Integer userId = sysUserPageVO.getId();
|
|
|
|
|
+ if(map.containsKey(userId)){
|
|
|
|
|
+ Integer topUserId = map.get(userId);
|
|
|
|
|
+ if(topUserMap.containsKey(topUserId)){
|
|
|
|
|
+ KxsUser kxsUser = topUserMap.get(topUserId);
|
|
|
|
|
+ sysUserPageVO.setTopUserCode(kxsUser.getUserCode());
|
|
|
|
|
+ sysUserPageVO.setTopUsername(kxsUser.getUsername());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
@Override
|
|
@Override
|
|
|
- public List<SysUserWhereListVO> getUserWhereList(Page page, SysUserWhereListDTO param) {
|
|
|
|
|
|
|
+ public List<SysUserPageVO> getUserWhereList(Page page, SysUserWhereListDTO param) {
|
|
|
String userId = param.getUserId();
|
|
String userId = param.getUserId();
|
|
|
KxsUser kxsUser = getById(userId);
|
|
KxsUser kxsUser = getById(userId);
|
|
|
if(kxsUser == null){
|
|
if(kxsUser == null){
|
|
|
throw new GlobalCustomerException("创客信息不存在");
|
|
throw new GlobalCustomerException("创客信息不存在");
|
|
|
}
|
|
}
|
|
|
param.setPid(kxsUser.getPid());
|
|
param.setPid(kxsUser.getPid());
|
|
|
- List<SysUserWhereListVO> list = baseMapper.getUserWhereList(page, param);
|
|
|
|
|
|
|
+ List<SysUserPageVO> list = baseMapper.getUserWhereList(page, param);
|
|
|
|
|
+ //封装顶级创客信息
|
|
|
|
|
+ packageTopUser(list);
|
|
|
if(page != null){
|
|
if(page != null){
|
|
|
page.setRecords(list);
|
|
page.setRecords(list);
|
|
|
}
|
|
}
|
|
@@ -312,7 +382,7 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
|
|
|
if(kxsUser == null){
|
|
if(kxsUser == null){
|
|
|
throw new GlobalCustomerException("创客信息不存在");
|
|
throw new GlobalCustomerException("创客信息不存在");
|
|
|
}
|
|
}
|
|
|
- kxsUser.setStatus(UserStatusEnum.REMOVE.getCode());
|
|
|
|
|
|
|
+ kxsUser.setStatus(userStatusEnum.getCode());
|
|
|
updateById(kxsUser);
|
|
updateById(kxsUser);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -351,8 +421,8 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
|
- public List<SysUserWhereListVO> userAccountPage(Page page, SysUserUserAccountListDTO param) {
|
|
|
|
|
- List<SysUserWhereListVO> list = baseMapper.userAccountPage(page, param);
|
|
|
|
|
|
|
+ public List<SysUserUserAccountListVO> userAccountPage(Page page, SysUserUserAccountListDTO param) {
|
|
|
|
|
+ List<SysUserUserAccountListVO> list = baseMapper.userAccountPage(page, param);
|
|
|
if(page != null){
|
|
if(page != null){
|
|
|
page.setRecords(list);
|
|
page.setRecords(list);
|
|
|
}
|
|
}
|