|
|
@@ -1,8 +1,6 @@
|
|
|
package com.kxs.user.biz.service.impl;
|
|
|
|
|
|
import cn.hutool.core.collection.CollectionUtil;
|
|
|
-import cn.hutool.core.date.DatePattern;
|
|
|
-import cn.hutool.core.date.LocalDateTimeUtil;
|
|
|
import cn.hutool.core.text.CharSequenceUtil;
|
|
|
import cn.hutool.core.util.IdcardUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
@@ -13,7 +11,6 @@ import cn.hutool.http.HttpRequest;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
@@ -27,7 +24,6 @@ import com.kxs.common.core.exception.ValidateCodeException;
|
|
|
import com.kxs.common.core.util.AssertUtil;
|
|
|
import com.kxs.common.core.util.R;
|
|
|
import com.kxs.common.core.util.SpringContextHolder;
|
|
|
-import com.kxs.common.core.util.TotalDateUtil;
|
|
|
import com.kxs.common.security.util.SecurityUtils;
|
|
|
import com.kxs.product.api.feign.RemoteKxsProductService;
|
|
|
import com.kxs.product.api.model.KxsMerchant;
|
|
|
@@ -37,62 +33,28 @@ import com.kxs.store.api.model.KxsWarehouseLimit;
|
|
|
import com.kxs.system.api.feign.RemoteUserMsgService;
|
|
|
import com.kxs.system.api.model.KxsUserMsg;
|
|
|
import com.kxs.system.api.util.MsgTemplateUtil;
|
|
|
-import com.kxs.user.api.dto.admin.user.RestPwdDTO;
|
|
|
-import com.kxs.user.api.dto.admin.user.SysUserLogoutListDTO;
|
|
|
-import com.kxs.user.api.dto.admin.user.SysUserPageDTO;
|
|
|
-import com.kxs.user.api.dto.admin.user.SysUserUserAccountListDTO;
|
|
|
-import com.kxs.user.api.dto.admin.user.SysUserWhereListDTO;
|
|
|
-import com.kxs.user.api.dto.admin.user.UserSearchDTO;
|
|
|
+import com.kxs.user.api.dto.admin.user.*;
|
|
|
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.MchRegisterDTO;
|
|
|
import com.kxs.user.api.dto.kxsapp.app.RegisterDTO;
|
|
|
-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.SysFeignUserDetailVO;
|
|
|
-import com.kxs.user.api.vo.admin.user.SysTopUserVO;
|
|
|
-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.SearchMyUserListVO;
|
|
|
-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.dto.kxsapp.user.*;
|
|
|
+import com.kxs.user.api.model.*;
|
|
|
+import com.kxs.user.api.vo.admin.user.*;
|
|
|
+import com.kxs.user.api.vo.kxsapp.user.*;
|
|
|
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.enums.KxsUserStatusEnum;
|
|
|
import com.kxs.user.biz.constant.enums.UserErrorTypeEnum;
|
|
|
import com.kxs.user.biz.constant.enums.UserRealStatusEnum;
|
|
|
-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.mapper.*;
|
|
|
import com.kxs.user.biz.service.KxsUserRealService;
|
|
|
import com.kxs.user.biz.service.KxsUserService;
|
|
|
import com.kxs.user.biz.util.SmsUtils;
|
|
|
import com.kxs.user.biz.util.TopUserIdUtil;
|
|
|
import io.seata.spring.annotation.GlobalTransactional;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
-import nonapi.io.github.classgraph.json.JSONUtils;
|
|
|
-import org.checkerframework.checker.units.qual.K;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
|
@@ -109,14 +71,8 @@ import org.springframework.security.web.authentication.preauth.PreAuthenticatedA
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
-import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
-import java.util.Objects;
|
|
|
-import java.util.UUID;
|
|
|
+import java.util.*;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@@ -519,6 +475,46 @@ public class KxsUserServiceImpl extends ServiceImpl<KxsUserMapper, KxsUser> impl
|
|
|
return map;
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public SysUserTopInfoVO getTopUserInfo(String userCode) {
|
|
|
+
|
|
|
+ SysUserTopInfoVO.SysUserTopInfoVOBuilder builder = SysUserTopInfoVO.builder();
|
|
|
+
|
|
|
+ //查询自己
|
|
|
+ KxsUser meUser = getOne(Wrappers.<KxsUser>lambdaQuery().eq(KxsUser::getUserCode, userCode));
|
|
|
+ Optional.ofNullable(meUser).orElseThrow(() -> new GlobalCustomerException(ErrorTypeEnum.USER_NOT_FOUND.getDescription()));
|
|
|
+
|
|
|
+ builder.meInfo(SysParentUserInfoVO.builder().userCode(meUser.getUserCode()).username(meUser.getUsername()).build());
|
|
|
+ List<String> pidPath = Arrays.asList(meUser.getPidPath().split(StrUtil.COMMA));
|
|
|
+ Collections.reverse(pidPath);
|
|
|
+
|
|
|
+ //查询上级
|
|
|
+ KxsUser parentUser = getById(meUser.getPid());
|
|
|
+ if(parentUser != null){
|
|
|
+ builder.parentInfo(SysParentUserInfoVO.builder().userCode(parentUser.getUserCode()).username(parentUser.getUsername()).build());
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询上级盟主
|
|
|
+ KxsUser leaderUser = kxsLeaderMapper.selectUserTopLeaderInfo(pidPath);
|
|
|
+ if(leaderUser != null){
|
|
|
+ builder.leaderInfo(SysParentUserInfoVO.builder().userCode(leaderUser.getUserCode()).username(leaderUser.getUsername()).build());
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询上级的合伙人
|
|
|
+ KxsUser partnerUser = kxsPartnerMapper.selectUserTopPartnerInfo(pidPath);
|
|
|
+ if(leaderUser != null){
|
|
|
+ builder.partnerInfo(SysParentUserInfoVO.builder().userCode(partnerUser.getUserCode()).username(partnerUser.getUsername()).build());
|
|
|
+ }
|
|
|
+
|
|
|
+ //查询顶级
|
|
|
+ KxsUser topUser = getById(meUser.getPidPath().split(StrUtil.COMMA)[2]);
|
|
|
+ if(topUser != null){
|
|
|
+ builder.topInfo(SysParentUserInfoVO.builder().userCode(topUser.getUserCode()).username(topUser.getUsername()).build());
|
|
|
+ }
|
|
|
+
|
|
|
+ return builder.build();
|
|
|
+ }
|
|
|
+
|
|
|
@Override
|
|
|
public Boolean sendCode(String mobile) {
|
|
|
|