ソースを参照

fix 合伙人添加和查询关系bug

Liub 6 日 前
コミット
0bcb0b97a3

+ 4 - 4
partner/src/main/java/com/jzg/entity/vo/RelationalVo.java

@@ -23,16 +23,16 @@ public class RelationalVo {
     private String referrerId;
 
 
-    @Schema(description = "推荐人ID")
+    @Schema(description = "推荐人类型")
     private String type;
 
-    @Schema(description = "推荐人ID")
+    @Schema(description = "推荐人姓名")
     private String suggestName;
 
-    @Schema(description = "推荐人ID")
+    @Schema(description = "推荐人部门")
     private String deptName;
 
-    @Schema(description = "推荐人ID")
+    @Schema(description = "推荐人机构")
     private String agencyName;
 
 

+ 3 - 3
partner/src/main/resources/mapper/PartnerUserMapper.xml

@@ -152,7 +152,7 @@
             p.user_id,
             p.dept_id,
             (SELECT `name` FROM sys_dept d WHERE d.id = p.dept_id AND d.is_delete = 0) AS deptName,
-            (SELECT username FROM sys_user u WHERE u.id = p.referrer_id AND u.is_delete = 0) AS suggestName,
+            (SELECT name FROM partner_user u WHERE u.user_id = p.referrer_id AND u.is_delete = 0) AS suggestName,
             p.grade AS type,
             p.referrer_id,
             p.create_time
@@ -166,8 +166,8 @@
                 pu.mobile,
                 pu.user_id,
                 pu.dept_id,
-                    (SELECT `name` FROM sys_dept d WHERE d.id = pu.dept_id AND d.is_delete = 0) AS deptName,
-                    (SELECT username FROM sys_user u WHERE u.id = pu.referrer_id AND u.is_delete = 0) AS suggestName,
+                (SELECT `name` FROM sys_dept d WHERE d.id = pu.dept_id AND d.is_delete = 0)            AS deptName,
+                (SELECT name FROM partner_user u WHERE u.user_id = pu.referrer_id AND u.is_delete = 0) AS suggestName,
                 pu.grade AS type,
                 pu.referrer_id,
                 pu.create_time

+ 168 - 166
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -16,7 +16,6 @@ import com.jzg.commons.core.page.HttpResult;
 import com.jzg.commons.entity.dto.*;
 import com.jzg.commons.entity.enums.MessageCodeEnum;
 import com.jzg.commons.entity.po.*;
-import com.jzg.commons.entity.rights.po.InsOrderRightsPackage;
 import com.jzg.commons.entity.user.vo.SysTennatVo;
 import com.jzg.commons.entity.vo.*;
 import com.jzg.commons.exception.SystemException;
@@ -192,7 +191,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     /**
      * 分页获取业务员列表
      *
-     * @param page 分页参数
+     * @param page              分页参数
      * @param sysUserInfoListVo 查询参数
      * @author lipf
      * @date 2026/4/10 10:01
@@ -200,7 +199,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public Page<SysUserJzgInfoDto> getUserInfoList(Page page, SysUserInfoListVo sysUserInfoListVo) {
         log.info("获取业务员列表:查询参数: sysUserInfoListVo=[{}]", JSONUtil.toJsonStr(sysUserInfoListVo));
-        if(Objects.nonNull(sysUserInfoListVo.getStatus()) && sysUserInfoListVo.getStatus() == 0){
+        if (Objects.nonNull(sysUserInfoListVo.getStatus()) && sysUserInfoListVo.getStatus() == 0) {
             List<Integer> typeStatus = new ArrayList<>();
             sysUserInfoListVo.setStatus(null);
             typeStatus.add(UserState.UserStateEnum.COMPANY_REVIEW_ING.getValue());
@@ -214,9 +213,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
         String loginUserId = baseController.getUserId();
         // 查询业务员
-        if("2".equals(sysUserInfoListVo.getIsMember())){
+        if ("2".equals(sysUserInfoListVo.getIsMember())) {
             String jzgInfoId = null;
-            if("10".equals(sysUserInfoListVo.getFromPage())){
+            if ("10".equals(sysUserInfoListVo.getFromPage())) {
                 long startTime = System.currentTimeMillis();
                 SysUserJzgInfo userInfoJzgInfo = sysUserJzgInfoService.getUserByUserId(loginUserId);
                 log.info("查询耗时:[{}]", System.currentTimeMillis() - startTime);
@@ -227,37 +226,37 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 //            page.setSize(Long.MAX_VALUE);
             userInfoList = sysUserJzgInfoMapper.queryYwy(page, sysUserInfoListVo, systemCode, jzgInfoId
             );
-        }else if("1".equals(sysUserInfoListVo.getIsMember())){
+        } else if ("1".equals(sysUserInfoListVo.getIsMember())) {
             // 查询成员
-            log.info("查询成员信息:sysUserInfoListVo=[{}]",JSONUtil.toJsonStr(sysUserInfoListVo)  );
+            log.info("查询成员信息:sysUserInfoListVo=[{}]", JSONUtil.toJsonStr(sysUserInfoListVo));
             userInfoList = sysUserJzgInfoMapper.queryMember(page, sysUserInfoListVo);
-        }else{
+        } else {
             // 其他场景先使用原来的逻辑
             userInfoList = sysUserJzgInfoMapper.getUserInfoList(page, sysUserInfoListVo);
         }
         List<SysUserJzgInfoDto> records = userInfoList.getRecords();
-        if(CollectionUtil.isNotEmpty(records)){
+        if (CollectionUtil.isNotEmpty(records)) {
             // 填充岗位信息
             Map<String, String> attrTypeMap = sysUserJzgInfoSalesmanService.queryAllTypeAttrMap();
             Map<String, SysOrganizationVO> stringSysOrganizationVOMap = sysOrganizationService.queryUserBindOrganization(baseController.getSystemCode());
-            records = records.stream().peek(action->{
-                if(loginUserId.equals(action.getUserId())){
+            records = records.stream().peek(action -> {
+                if (loginUserId.equals(action.getUserId())) {
                     action.setDefaultSelected(true);
                 }
-                String typeAttr = attrTypeMap.getOrDefault(action.getId(),null);
+                String typeAttr = attrTypeMap.getOrDefault(action.getId(), null);
                 // 在【业务员管理页面】 要求类型中,不展示1,2,3,4 对应的类型
-                if(StrUtil.isNotEmpty(typeAttr)){
-                    Set<String> set = Set.of("1","2","3");
-                    typeAttr = Arrays.stream(typeAttr.split(",")).filter(action1-> !set.contains(action1)).collect(Collectors.joining(","));
+                if (StrUtil.isNotEmpty(typeAttr)) {
+                    Set<String> set = Set.of("1", "2", "3");
+                    typeAttr = Arrays.stream(typeAttr.split(",")).filter(action1 -> !set.contains(action1)).collect(Collectors.joining(","));
                     action.setTypeAttr(typeAttr);
                 }
                 List<SysRole> userRole = sysUserRoleService.getUserRole(action.getUserId());
-                if(CollectionUtil.isNotEmpty(userRole)){
+                if (CollectionUtil.isNotEmpty(userRole)) {
                     String roleNames = userRole.stream().map(SysRole::getName).distinct().collect(Collectors.joining(","));
                     action.setRoleName(roleNames);
                 }
                 SysOrganizationVO sysOrganizationVO = stringSysOrganizationVOMap.get(action.getUserId());
-                if(sysOrganizationVO != null){
+                if (sysOrganizationVO != null) {
                     action.setOrganizationId(sysOrganizationVO.getOrganizationId());
                     action.setOrganizationName(sysOrganizationVO.getName());
                 }
@@ -266,13 +265,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             userInfoList.setRecords(records);
         }
         //Page<SysUserJzgInfoDto> userInfoList = sysUserJzgInfoMapper.getUserInfoList(page, sysUserInfoListVo);
-        log.info("获取业务员/成员列表:查询出[{}]个业务员。 查询参数: sysUserInfoListVo=[{}]", CollUtil.size(userInfoList.getRecords()),JSONUtil.toJsonStr(sysUserInfoListVo));
+        log.info("获取业务员/成员列表:查询出[{}]个业务员。 查询参数: sysUserInfoListVo=[{}]", CollUtil.size(userInfoList.getRecords()), JSONUtil.toJsonStr(sysUserInfoListVo));
         return userInfoList;
     }
+
     @Override
     public Page<SysUserJzgInfoDto> getBaojiaUserInfoList(Page page, SysUserInfoListVo sysUserInfoListVo) {
         log.info("获取业务员列表:查询参数: sysUserInfoListVo=[{}]", JSONUtil.toJsonStr(sysUserInfoListVo));
-        if(Objects.nonNull(sysUserInfoListVo.getStatus()) && sysUserInfoListVo.getStatus() == 0){
+        if (Objects.nonNull(sysUserInfoListVo.getStatus()) && sysUserInfoListVo.getStatus() == 0) {
             List<Integer> typeStatus = new ArrayList<>();
             sysUserInfoListVo.setStatus(null);
             typeStatus.add(UserState.UserStateEnum.COMPANY_REVIEW_ING.getValue());
@@ -286,9 +286,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
         String loginUserId = baseController.getUserId();
         // 查询业务员
-        if("2".equals(sysUserInfoListVo.getIsMember())){
+        if ("2".equals(sysUserInfoListVo.getIsMember())) {
             String jzgInfoId = null;
-            if("10".equals(sysUserInfoListVo.getFromPage())){
+            if ("10".equals(sysUserInfoListVo.getFromPage())) {
                 long startTime = System.currentTimeMillis();
                 SysUserJzgInfo userInfoJzgInfo = sysUserJzgInfoService.getUserByUserId(loginUserId);
                 log.info("查询耗时:[{}]", System.currentTimeMillis() - startTime);
@@ -299,37 +299,37 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 //            page.setSize(Long.MAX_VALUE);
             userInfoList = sysUserJzgInfoMapper.queryBJYwy(page, sysUserInfoListVo, systemCode, jzgInfoId
             );
-        }else if("1".equals(sysUserInfoListVo.getIsMember())){
+        } else if ("1".equals(sysUserInfoListVo.getIsMember())) {
             // 查询成员
-            log.info("查询成员信息:sysUserInfoListVo=[{}]",JSONUtil.toJsonStr(sysUserInfoListVo)  );
+            log.info("查询成员信息:sysUserInfoListVo=[{}]", JSONUtil.toJsonStr(sysUserInfoListVo));
             userInfoList = sysUserJzgInfoMapper.queryMember(page, sysUserInfoListVo);
-        }else{
+        } else {
             // 其他场景先使用原来的逻辑
             userInfoList = sysUserJzgInfoMapper.getUserInfoList(page, sysUserInfoListVo);
         }
         List<SysUserJzgInfoDto> records = userInfoList.getRecords();
-        if(CollectionUtil.isNotEmpty(records)){
+        if (CollectionUtil.isNotEmpty(records)) {
             // 填充岗位信息
             Map<String, String> attrTypeMap = sysUserJzgInfoSalesmanService.queryAllTypeAttrMap();
             Map<String, SysOrganizationVO> stringSysOrganizationVOMap = sysOrganizationService.queryUserBindOrganization(baseController.getSystemCode());
-            records = records.stream().peek(action->{
-                if(loginUserId.equals(action.getUserId())){
+            records = records.stream().peek(action -> {
+                if (loginUserId.equals(action.getUserId())) {
                     action.setDefaultSelected(true);
                 }
-                String typeAttr = attrTypeMap.getOrDefault(action.getId(),null);
+                String typeAttr = attrTypeMap.getOrDefault(action.getId(), null);
                 // 在【业务员管理页面】 要求类型中,不展示1,2,3,4 对应的类型
-                if(StrUtil.isNotEmpty(typeAttr)){
-                    Set<String> set = Set.of("1","2","3");
-                    typeAttr = Arrays.stream(typeAttr.split(",")).filter(action1-> !set.contains(action1)).collect(Collectors.joining(","));
+                if (StrUtil.isNotEmpty(typeAttr)) {
+                    Set<String> set = Set.of("1", "2", "3");
+                    typeAttr = Arrays.stream(typeAttr.split(",")).filter(action1 -> !set.contains(action1)).collect(Collectors.joining(","));
                     action.setTypeAttr(typeAttr);
                 }
                 List<SysRole> userRole = sysUserRoleService.getUserRole(action.getUserId());
-                if(CollectionUtil.isNotEmpty(userRole)){
+                if (CollectionUtil.isNotEmpty(userRole)) {
                     String roleNames = userRole.stream().map(SysRole::getName).distinct().collect(Collectors.joining(","));
                     action.setRoleName(roleNames);
                 }
                 SysOrganizationVO sysOrganizationVO = stringSysOrganizationVOMap.get(action.getUserId());
-                if(sysOrganizationVO != null){
+                if (sysOrganizationVO != null) {
                     action.setOrganizationId(sysOrganizationVO.getOrganizationId());
                     action.setOrganizationName(sysOrganizationVO.getName());
                 }
@@ -338,7 +338,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             userInfoList.setRecords(records);
         }
         //Page<SysUserJzgInfoDto> userInfoList = sysUserJzgInfoMapper.getUserInfoList(page, sysUserInfoListVo);
-        log.info("获取业务员/成员列表:查询出[{}]个业务员。 查询参数: sysUserInfoListVo=[{}]", CollUtil.size(userInfoList.getRecords()),JSONUtil.toJsonStr(sysUserInfoListVo));
+        log.info("获取业务员/成员列表:查询出[{}]个业务员。 查询参数: sysUserInfoListVo=[{}]", CollUtil.size(userInfoList.getRecords()), JSONUtil.toJsonStr(sysUserInfoListVo));
         return userInfoList;
     }
 
@@ -399,9 +399,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public boolean salesmanAuthSuccess(String userInfoId) {
         SysUserJzgInfo userJzgInfo = sysUserJzgInfoService.getById(userInfoId);
         StateResult stateResult;
-        if(Objects.nonNull(userJzgInfo.getStatus()) && userJzgInfo.getStatus() == UserState.UserStateEnum.RESIGN_ING.getValue()){
+        if (Objects.nonNull(userJzgInfo.getStatus()) && userJzgInfo.getStatus() == UserState.UserStateEnum.RESIGN_ING.getValue()) {
             stateResult = userStateListener.resignAuthSuccess(userJzgInfo);
-        }else {
+        } else {
             stateResult = userStateListener.salesmanAuthSuccess(userJzgInfo);
         }
         if (stateResult.isResult()) {
@@ -416,9 +416,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public boolean salesmanAuthFailed(AuditSalesmanVo auditSalesmanVo) {
         SysUserJzgInfo userJzgInfo = sysUserJzgInfoService.getById(auditSalesmanVo.getUserInfoId());
         StateResult stateResult;
-        if(Objects.nonNull(userJzgInfo.getStatus()) && userJzgInfo.getStatus() == UserState.UserStateEnum.RESIGN_ING.getValue()){
+        if (Objects.nonNull(userJzgInfo.getStatus()) && userJzgInfo.getStatus() == UserState.UserStateEnum.RESIGN_ING.getValue()) {
             stateResult = userStateListener.resignAuthFailed(userJzgInfo);
-        }else {
+        } else {
             stateResult = userStateListener.salesmanAuthFailed(userJzgInfo);
         }
 
@@ -478,7 +478,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 item.setDefaultValue(true);
             }
         });
-        log.info("获取用户的租户列表: userName=[{}],tenantList=[{}]", userName,JSONUtil.toJsonStr(tenantList));
+        log.info("获取用户的租户列表: userName=[{}],tenantList=[{}]", userName, JSONUtil.toJsonStr(tenantList));
         return tenantList;
     }
 
@@ -562,7 +562,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                 addSalesmanList(sysUserJzgInfo, sysUserVo);
             }
             // 添加业务员到团队,渠道,电销,个代的时候 (需要确保,成员新增的时候,typeAttr为空)
-            if(StrUtil.isNotEmpty(sysUserVo.getTypeAttr())){
+            if (StrUtil.isNotEmpty(sysUserVo.getTypeAttr())) {
                 addSalesmanList(sysUserJzgInfo, sysUserVo);
             }
             sysUserJzgInfoId = sysUserJzgInfo.getId();
@@ -570,7 +570,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             if (sysUserVo.getOrganizationId() != null && !sysUserVo.getOrganizationId().equals("")) {
                 saveOrganization(sysUserVo.getOrganizationId(), sysUserJzgInfo.getUserId());
             }
-            this.updateUserBindFiles(sysUserVo.getFileList(),Long.parseLong(sysUser.getId()));
+            this.updateUserBindFiles(sysUserVo.getFileList(), Long.parseLong(sysUser.getId()));
             //saveFile(sysUserVo.getSfz1(), sysUserVo.getSfz2(), sysUserVo.getQualification(), sysUserVo.getContract(), sysUserVo.getApplicant(), sysUserVo.getSalaryTable(), sysUserVo.getLeaveTable(), sysUserJzgInfo.getUserId());
             //系统中已存在业务员
 //            throw new SystemException("用户信息已存在,无法添加");
@@ -601,7 +601,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             if (sysUserVo.getOrganizationId() != null && !sysUserVo.getOrganizationId().equals("")) {
                 saveOrganization(sysUserVo.getOrganizationId(), sysUserJzgInfo.getUserId());
             }
-            this.updateUserBindFiles(sysUserVo.getFileList(),Long.parseLong(sysUserId));
+            this.updateUserBindFiles(sysUserVo.getFileList(), Long.parseLong(sysUserId));
             //saveFile(sysUserVo.getSfz1(), sysUserVo.getSfz2(), sysUserVo.getQualification(), sysUserVo.getContract(), sysUserVo.getApplicant(), sysUserVo.getSalaryTable(), sysUserVo.getLeaveTable(), sysUserJzgInfo.getId());
         }
 
@@ -611,7 +611,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                     new SysUserJzgInfoBankCard(sysUserId, sysUserVo.getBankCardId(), sysUserVo.getBankName(), sysUserJzgInfo.getSystemCode());
             sysUserJzgInfoBankCardService.save(sysUserJzgInfoBankCard);
             SysUserJzgInfoBankCardRecord sysUserJzgInfoBankCardRecord =
-                    new SysUserJzgInfoBankCardRecord(sysUserJzgInfoBankCard.getId(),"提交新卡");
+                    new SysUserJzgInfoBankCardRecord(sysUserJzgInfoBankCard.getId(), "提交新卡");
             sysUserJzgInfoBankCardRecord.setStatus("0");
             sysUserJzgInfoBankCardRecordService.save(sysUserJzgInfoBankCardRecord);
         }
@@ -688,7 +688,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResult<Boolean> deleteUserInfo(IsDeleteVo isDeleteVo) {
-        log.info("删除业务员信息isDeleteVo=[{}]",JSONUtil.toJsonStr(isDeleteVo));
+        log.info("删除业务员信息isDeleteVo=[{}]", JSONUtil.toJsonStr(isDeleteVo));
         for (String id : isDeleteVo.getIds()) {
             SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
             if (sysUserJzgInfo == null) {
@@ -699,6 +699,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
         return HttpResult.ok("删除成功");
     }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean deleteDistribution(IsDeleteVo isDeleteVo) {
@@ -720,7 +721,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             }
             // 解除上下级关系
             if (isDeleteVo.getType().equals("2")) {
-                if (!esmUserReferrerList.isEmpty() ) {
+                if (!esmUserReferrerList.isEmpty()) {
                     esmUserReferrerService.removeBatchByIds(esmUserReferrerList); // 解除分销关系
                 }
                 if (!sysUserJzgInfoListDown.isEmpty()) {
@@ -817,8 +818,9 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     /**
      * 递归查询下三级(每级下级可多个)
-     * @param currentVo 当前节点VO
-     * @param systemCode 系统编码
+     *
+     * @param currentVo      当前节点VO
+     * @param systemCode     系统编码
      * @param remainingLevel 剩余查询层级(最多3级)
      */
     private void queryLowerLevels(DistributionRelationVo currentVo, String systemCode, int remainingLevel) {
@@ -900,7 +902,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             sysUserJzgInfoService.updateBatchById(sysUserJzgInfoList);
         } else {
             List<String> ids = isEnableVo.getIds();
-            if(CollectionUtil.isEmpty(ids)) {
+            if (CollectionUtil.isEmpty(ids)) {
                 log.info("勾选的用户信息为空");
                 res.setData(Boolean.FALSE);
                 res.setMsg("请勾选要操作的数据");
@@ -1050,7 +1052,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             throw new SystemException("该业务员不存在");
         }
         BeanUtils.copyProperties(sysUserVo, sysUserJzgInfo);
-        this.updateUserBindFiles(sysUserVo.getFileList(),Long.parseLong(sysUserJzgInfo.getUserId()));
+        this.updateUserBindFiles(sysUserVo.getFileList(), Long.parseLong(sysUserJzgInfo.getUserId()));
         // verifyFile(sysUserVo, sysUserJzgInfo.getId());
         if (sysUserJzgInfo.getStatus() == 5) { // 如果状态为5  说明该业务员重新提交审核  进行业务员审核
             StateResult stateResult = userStateListener.salesmanAuthIng(sysUserJzgInfo);
@@ -1062,18 +1064,18 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
         // modify by lipf, 解决身份证信息没有更新的问题
         SysUser originSysUser = sysUserService.getById(sysUserVo.getUserId());
-        if(originSysUser != null){
-            log.info("更新身份证等信息。原信息originSysUser=[{}]",JSONUtil.toJsonStr(originSysUser));
+        if (originSysUser != null) {
+            log.info("更新身份证等信息。原信息originSysUser=[{}]", JSONUtil.toJsonStr(originSysUser));
             originSysUser.setIdentity(sysUserVo.getIdentity());
-            if(StrUtil.isEmpty(sysUserVo.getIdentityTimeStart())){
+            if (StrUtil.isEmpty(sysUserVo.getIdentityTimeStart())) {
                 originSysUser.setIdentityTimeStart(null);
-            }else{
+            } else {
                 originSysUser.setIdentityTimeStart(LocalDate.parse(sysUserVo.getIdentityTimeStart(), DateTimeFormatter.ISO_DATE));
             }
 
-            if(StrUtil.isEmpty(sysUserVo.getIdentityTimeEnd())){
+            if (StrUtil.isEmpty(sysUserVo.getIdentityTimeEnd())) {
                 originSysUser.setIdentityTimeEnd(null);
-            }else{
+            } else {
                 originSysUser.setIdentityTimeEnd(LocalDate.parse(sysUserVo.getIdentityTimeEnd(), DateTimeFormatter.ISO_DATE));
             }
             if (StrUtil.isNotBlank(sysUserVo.getMobile())) {
@@ -1107,8 +1109,8 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
 
         //修改团队类型
-        sysOrganizationUserLinkService.getOrganizationUser(Long.parseLong(originSysUser.getId()),baseController.getSystemCode());
-        if (sysUserVo.getTypeAttr() != null && !sysUserVo.getTypeAttr().equals("")){
+        sysOrganizationUserLinkService.getOrganizationUser(Long.parseLong(originSysUser.getId()), baseController.getSystemCode());
+        if (sysUserVo.getTypeAttr() != null && !sysUserVo.getTypeAttr().equals("")) {
             List<SysUserJzgInfoSalesman> typeAttrByUserId = sysUserJzgInfoSalesmanService.getTypeAttrByUserId(sysUserJzgInfo.getId());
             // 个代 团队 电销 渠道 只能存在一条
             List<SysUserJzgInfoSalesman> list = typeAttrByUserId.stream().filter(x -> x.getTypeAttr().equals("5") || x.getTypeAttr().equals("6") || x.getTypeAttr().equals("7") || x.getTypeAttr().equals("8")).toList();
@@ -1129,12 +1131,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         if (esmUserReferrer != null) {
             esmUserReferrerMapper.deleteByIdCheck(esmUserReferrer.getId());
             SysUserJzgInfo sysUserJzgInfoReferrer = sysUserJzgInfoService.getById(sysUserVo.getReferrerId());
-            EsmUserReferrer referrer = new EsmUserReferrer(sysUserJzgInfo,sysUserJzgInfoReferrer);
+            EsmUserReferrer referrer = new EsmUserReferrer(sysUserJzgInfo, sysUserJzgInfoReferrer);
             esmUserReferrerService.save(referrer);
         }
 
         boolean isPartner = sysUserJzgInfoService.isPartnerPresent(sysUserJzgInfo.getId());
-        if (isPartner){
+        if (isPartner) {
             sysUserJzgInfoService.updatePartnerByUserId(sysUserJzgInfo);
         }
         return HttpResult.ok("修改业务员成功");
@@ -1142,7 +1144,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     /**
      * 获取业务员详细信息接口
-     *      包括相关的附件,合同,身份证图片等
+     * 包括相关的附件,合同,身份证图片等
      *
      * @author lipf
      * @date 2026/4/22 15:37
@@ -1150,7 +1152,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public HttpResult<SysUserJzgInfo> getUserInfoByUserId(String id) {
         SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getByUserIdOrId(id);
-        log.info("根据id=[{}]查询用户信息sysUserJzgInfo=[{}]",id, JSONUtil.toJsonStr(sysUserJzgInfo));
+        log.info("根据id=[{}]查询用户信息sysUserJzgInfo=[{}]", id, JSONUtil.toJsonStr(sysUserJzgInfo));
         if (sysUserJzgInfo == null) {
             throw new SystemException("该用户不存在");
         }
@@ -1164,10 +1166,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
         sysUserJzgInfo.setMobile(sysUser.getMobile());
         sysUserJzgInfo.setIdentity(sysUser.getIdentity());
-        if(Objects.nonNull(sysUser.getIdentityTimeStart())) {
+        if (Objects.nonNull(sysUser.getIdentityTimeStart())) {
             sysUserJzgInfo.setIdentityTimeStart(sysUser.getIdentityTimeStart().format(formatter));
         }
-        if(Objects.nonNull(sysUser.getIdentityTimeEnd())) {
+        if (Objects.nonNull(sysUser.getIdentityTimeEnd())) {
             sysUserJzgInfo.setIdentityTimeEnd(sysUser.getIdentityTimeEnd().format(formatter));
         }
         SysDept dept = sysDeptService.getById(sysUserJzgInfo.getDeptId());
@@ -1197,7 +1199,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
         String systemCode = baseController.getSystemCode();
         Long userId = Long.parseLong(sysUserJzgInfo.getUserId());
-        SysOrganizationUserLink sysOrganizationUserLink = sysOrganizationUserLinkService.getOrganizationUser(userId,systemCode);
+        SysOrganizationUserLink sysOrganizationUserLink = sysOrganizationUserLinkService.getOrganizationUser(userId, systemCode);
 
         if (!Objects.isNull(sysOrganizationUserLink)) {
             String organizationId = sysOrganizationUserLink.getOrganizationId();
@@ -1265,7 +1267,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         .eq(SysUserJzgInfo::getIsDelete, 0));
         SysUserJzgInfo userByMobile = sysUserJzgInfoService.getUserByMobile(mobile);
         if (!sysUserJzgInfos.isEmpty()) {
-            log.warn("特定租户下身份证[{}]已存在",identity);
+            log.warn("特定租户下身份证[{}]已存在", identity);
             throw new SystemException("该身份证号已存在,请检查");
         }
         if (sysDept == null) {
@@ -1298,24 +1300,24 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
      * @author lipf
      * @date 2026/4/22 15:06
      */
-    public void updateUserBindFiles(List<SysUserJzgInfoFile> fileList, Long userId){
+    public void updateUserBindFiles(List<SysUserJzgInfoFile> fileList, Long userId) {
         log.info("保存员工的身份证图片等信息:userId=[{}], fileList=[{}]", userId, JSONUtil.toJsonStr(fileList));
         List<SysUserJzgInfoFile> existedFiles = sysUserJzgInfoFileService.queryJzgInfoFilesByUserId(userId);
-        if(CollUtil.isNotEmpty(existedFiles)){
+        if (CollUtil.isNotEmpty(existedFiles)) {
             sysUserJzgInfoFileService.removeByIds(existedFiles.stream().map(SysUserJzgInfoFile::getId).toList());
         }
-        if(CollUtil.isNotEmpty(fileList)){
-            fileList = fileList.stream().peek(action->{
+        if (CollUtil.isNotEmpty(fileList)) {
+            fileList = fileList.stream().peek(action -> {
                 String fileId = action.getFileId();
                 SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectById(fileId);
-                if(sysUploadFiles != null){
+                if (sysUploadFiles != null) {
                     action.setFileUrl(sysUploadFiles.getDownloadUrl());
                     action.setUserId(String.valueOf(userId));
                     //action.setFileType(sysUploadFiles.getFileType());
                     action.setFileName(sysUploadFiles.getFileName());
                     action.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
-                }else{
-                    log.error("文件序号为[{}]的文件不存在",fileId);
+                } else {
+                    log.error("文件序号为[{}]的文件不存在", fileId);
                 }
             }).toList();
             sysUserJzgInfoFileService.saveBatch(fileList);
@@ -1440,19 +1442,19 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public SalesmanVo getUserInfoBySystemCodeAndUserId(String userId) {
         SalesmanVo salesmanVo = sysUserJzgInfoMapper.getUserInfoBySystemCodeAndUserId(userId);
-        if(Objects.nonNull(salesmanVo)){
+        if (Objects.nonNull(salesmanVo)) {
             String leaderId = salesmanVo.getLeaderId();
-            if(StrUtil.isEmpty(leaderId)){
+            if (StrUtil.isEmpty(leaderId)) {
                 return salesmanVo;
             }
             SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoMapper.selectById(leaderId);
-            if(sysUserJzgInfo == null){
+            if (sysUserJzgInfo == null) {
                 return salesmanVo;
             }
             String leaderUserId = sysUserJzgInfo.getUserId();
             salesmanVo.setRealQuoteUserManagerId(leaderUserId);
             SysUser sysUser = sysUserMapper.selectById(leaderUserId);
-            if(sysUser != null){
+            if (sysUser != null) {
                 salesmanVo.setRealQuoteUserManagerUseName(sysUser.getUsername());
             }
         }
@@ -1461,7 +1463,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     @Override
     public void setTenantList(String systemCode, String userId) {
-       redissonClient.getBucket(RedisKeyConstants.APP_SYSTEM_CODE + userId).set(systemCode);
+        redissonClient.getBucket(RedisKeyConstants.APP_SYSTEM_CODE + userId).set(systemCode);
     }
 
     @Override
@@ -1473,6 +1475,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getUserById(sysUser.getId());
         return sysUserJzgInfo.getLeaderId();
     }
+
     @Override
     public SysUserJzgInfo getUserInfoByMobile(String mobile) {
         SysUser sysUser = sysUserService.getOne(new LambdaQueryWrapper<SysUser>().eq(SysUser::getMobile, mobile));
@@ -1485,17 +1488,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public HttpResult saveByPartner(SysUserVo sysUserVo) {
         try {
-            if (CollectionUtil.isEmpty(sysUserVo.getGradeList()) && Objects.isNull(sysUserVo.getGrade())){
+            if (CollectionUtil.isEmpty(sysUserVo.getGradeList()) && Objects.isNull(sysUserVo.getGrade())) {
                 return HttpResult.error("请选择合伙人等级");
             }
             addPartnerTransactional(sysUserVo);
             //  保存合伙人用户数据
             HttpResult httpResult = partnerDistributionClient.addPartnerRule(sysUserVo);
-            if (200 == httpResult.getCode()){
+            if (200 == httpResult.getCode()) {
                 return HttpResult.ok("保存成功");
             }
             return HttpResult.error("保存失败");
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             log.error("保存合伙人数据异常:{}" + e.getMessage());
             return HttpResult.error("保存失败");
@@ -1503,7 +1506,6 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
 
-
     @Transactional(rollbackFor = Exception.class)
     public void addPartnerTransactional(SysUserVo sysUserVo) {
         addPartner(sysUserVo);
@@ -1516,7 +1518,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             sysUserVo.setCodeInvitation(true);
             addPartnerTransactional(sysUserVo);
             return partnerDistributionClient.addPartnerRule(sysUserVo);
-        }catch (Exception e){
+        } catch (Exception e) {
             e.printStackTrace();
             log.error("保存合伙人数据异常:{}" + e.getMessage());
             throw new RuntimeException("保存合伙人数据异常");
@@ -1527,11 +1529,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     public HttpResult selectByMobile(String mobile) {
         SysUser sysUser = baseMapper.selectOne(new LambdaQueryWrapper<>(SysUser.class)
                 .eq(SysUser::getMobile, mobile));
-        if (Objects.nonNull(sysUser)){
+        if (Objects.nonNull(sysUser)) {
             SysUserVo sysUserVo = new SysUserVo();
             BeanUtils.copyProperties(sysUser, sysUserVo);
             SysUserJzgInfo userByUserId = sysUserJzgInfoService.getUserByUserId(sysUser.getId());
-            if (Objects.nonNull(userByUserId)){
+            if (Objects.nonNull(userByUserId)) {
                 BeanUtils.copyProperties(userByUserId, sysUserVo);
             }
             return HttpResult.ok(sysUserVo);
@@ -1541,7 +1543,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     @Override
     public HttpResult selectByUserNameAndMobile(String grade) {
-        if (StringUtils.isEmpty(grade)){
+        if (StringUtils.isEmpty(grade)) {
             return HttpResult.error("查询条件不能为空");
         }
         return HttpResult.ok(sysUserJzgInfoService.selectByUserNameAndMobile(grade));
@@ -1553,10 +1555,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     }
 
     @Override
-    public boolean partnerReview(List<String> userInfoId, String reviewStatus,String userId) {
-        int row = sysUserJzgInfoService.partnerReview(userInfoId,reviewStatus, userId);
+    public boolean partnerReview(List<String> userInfoId, String reviewStatus, String userId) {
+        int row = sysUserJzgInfoService.partnerReview(userInfoId, reviewStatus, userId);
         boolean b = row > 0;
-        if (b){
+        if (b) {
             CompletableFuture.runAsync(() -> {
                 try {
                     partnerDistributionClient.commissionInitialization(userInfoId);
@@ -1575,66 +1577,66 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
      * @date 2026/4/15 10:59
      */
     @Override
-    public HttpResult partnerAddsSalesperson(String userId,String token) {
+    public HttpResult partnerAddsSalesperson(String userId, String token) {
         log.info("将合伙人添加为业务员。 合伙人的userId=[{}], token=[{}]", userId, token);
-       try {
-           SysUserJzgInfo userByUserId = sysUserJzgInfoMapper.selectByUserIdInfo(userId);
-           if (Objects.isNull(userByUserId)){
-               return HttpResult.error("用户不存在");
-           }
-           boolean isGeneration = sysUserJzgInfoService.isGeneration(userByUserId.getId());
-           if (isGeneration){
-               return HttpResult.error("业务员已存在");
-           }
-           PartnerUserVo partnerUserVo = partnerDistributionClient.searchUserStudios(userByUserId.getId());
-           if (Objects.isNull(partnerUserVo)){
-               return HttpResult.error("当前合伙人身份不允许添加业务员");
-           }
-           SysOrganizationAdd organizationAdd = new SysOrganizationAdd();
-           organizationAdd.setName(userByUserId.getName() + "团队");
-           organizationAdd.setDeptId(userByUserId.getDeptId());
-           organizationAdd.setManagerId(userByUserId.getUserId());
-           organizationAdd.setDescribeInformation("合伙人业务团队");
-           organizationAdd.setAttribute(1);
-           boolean nameExists = sysOrganizationService.nameExists(organizationAdd);
-           if (nameExists){
-               return HttpResult.error("团队、渠道、电销组名称已存在");
-           }
-           SysOrganization sysOrganization = new SysOrganization();
-           BeanUtils.copyProperties(organizationAdd, sysOrganization);
-           sysOrganization.setId(IdGenerate.nextId());
-           sysOrganizationService.save(sysOrganization);
-
-           // 添加业务员
-           SysUserJzgInfoSalesman sysUserJzgInfoSalesman1 = new SysUserJzgInfoSalesman();
-           sysUserJzgInfoSalesman1.setSysUserJzgInfoId(userByUserId.getId());
-           sysUserJzgInfoSalesman1.setTypeAttr("6");
-           sysUserJzgInfoSalesmanService.save(sysUserJzgInfoSalesman1);
-           // 添加团队关联用户
-           saveOrganization(sysOrganization.getId(), userByUserId.getUserId());
-
-           partnerUserVo.setGrade(partnerUserVo.getGrade() + 1);
-           partnerUserVo.setReferrerId(partnerUserVo.getUserId());
-           partnerUserVo.setId(null);
-           partnerUserVo.setStatus(true);
-           HttpResult result = partnerDistributionClient.add(partnerUserVo);
-           if (200 != result.getCode()){
-               throw new SystemException(result.getMsg());
-           }
-           // 关联用户角色
-           saveRole(userByUserId);
+        try {
+            SysUserJzgInfo userByUserId = sysUserJzgInfoMapper.selectByUserIdInfo(userId);
+            if (Objects.isNull(userByUserId)) {
+                return HttpResult.error("用户不存在");
+            }
+            boolean isGeneration = sysUserJzgInfoService.isGeneration(userByUserId.getId());
+            if (isGeneration) {
+                return HttpResult.error("业务员已存在");
+            }
+            PartnerUserVo partnerUserVo = partnerDistributionClient.searchUserStudios(userByUserId.getId());
+            if (Objects.isNull(partnerUserVo)) {
+                return HttpResult.error("当前合伙人身份不允许添加业务员");
+            }
+            SysOrganizationAdd organizationAdd = new SysOrganizationAdd();
+            organizationAdd.setName(userByUserId.getName() + "团队");
+            organizationAdd.setDeptId(userByUserId.getDeptId());
+            organizationAdd.setManagerId(userByUserId.getUserId());
+            organizationAdd.setDescribeInformation("合伙人业务团队");
+            organizationAdd.setAttribute(1);
+            boolean nameExists = sysOrganizationService.nameExists(organizationAdd);
+            if (nameExists) {
+                return HttpResult.error("团队、渠道、电销组名称已存在");
+            }
+            SysOrganization sysOrganization = new SysOrganization();
+            BeanUtils.copyProperties(organizationAdd, sysOrganization);
+            sysOrganization.setId(IdGenerate.nextId());
+            sysOrganizationService.save(sysOrganization);
+
+            // 添加业务员
+            SysUserJzgInfoSalesman sysUserJzgInfoSalesman1 = new SysUserJzgInfoSalesman();
+            sysUserJzgInfoSalesman1.setSysUserJzgInfoId(userByUserId.getId());
+            sysUserJzgInfoSalesman1.setTypeAttr("6");
+            sysUserJzgInfoSalesmanService.save(sysUserJzgInfoSalesman1);
+            // 添加团队关联用户
+            saveOrganization(sysOrganization.getId(), userByUserId.getUserId());
+
+            partnerUserVo.setGrade(partnerUserVo.getGrade() + 1);
+            partnerUserVo.setReferrerId(partnerUserVo.getUserId());
+            partnerUserVo.setId(null);
+            partnerUserVo.setStatus(true);
+            HttpResult result = partnerDistributionClient.add(partnerUserVo);
+            if (200 != result.getCode()) {
+                throw new SystemException(result.getMsg());
+            }
+            // 关联用户角色
+            saveRole(userByUserId);
             // 合伙人添加业务员    app内也要新增一条数据
-           saveUserApp(userByUserId, userByUserId.getSystemCode());
-           return HttpResult.ok("添加业务员成功");
-       }catch (Exception e){
-           log.error("添加业务员异常",e);
-           throw new RuntimeException("添加业务员失败:", e);
-       }
+            saveUserApp(userByUserId, userByUserId.getSystemCode());
+            return HttpResult.ok("添加业务员成功");
+        } catch (Exception e) {
+            log.error("添加业务员异常", e);
+            throw new RuntimeException("添加业务员失败:", e);
+        }
     }
 
     private void saveUserApp(SysUserJzgInfo userByUserId, String systemCode) {
         boolean exists = sysUserJzgAppMapper.exists(new LambdaQueryWrapper<>(SysUserJzgApp.class).eq(SysUserJzgApp::getUserId, userByUserId.getUserId()));
-        if (!exists){
+        if (!exists) {
             SysUserJzgApp sysUserJzgApp = BeanUtil.copyProperties(userByUserId, SysUserJzgApp.class);
             sysUserJzgApp.setId(IdGenerate.nextId());
             sysUserJzgApp.setSystemCode(systemCode);
@@ -1669,13 +1671,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return baseMapper.selectById(userId);
     }
 
-    public void addPartner(SysUserVo sysUserVo){
+    public void addPartner(SysUserVo sysUserVo) {
         String referrerId = sysUserVo.getReferrerId();
-        if (StringUtils.isEmpty(referrerId)){
+        if (StringUtils.isEmpty(referrerId) && !sysUserVo.getGradeList().contains("1")) {
             throw new SystemException("推荐人不能为空");
         }
         SysUser sysUser = baseMapper.getUserByMobile(sysUserVo.getMobile());
-        if (sysUserVo.isCodeInvitation()){
+        if (sysUserVo.isCodeInvitation()) {
             SysUserJzgInfo userJzgInfo = sysUserJzgInfoMapper.selectByUserIdInfo(sysUserVo.getReferrerId());
             sysUserVo.setReferrerId(userJzgInfo.getId());
             sysUserVo.setDeptId(userJzgInfo.getDeptId());
@@ -1684,7 +1686,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
         SysUserJzgInfo sysUserJzgInfo = new SysUserJzgInfo();
         String sysUserId;
-        if (Objects.isNull(sysUser)){
+        if (Objects.isNull(sysUser)) {
             // 如果手机号为新号 重新生成SysUser 设置默认密码
             SysUser sysUser1 = new SysUser(sysUserVo.getMobile(), sysUserVo.getMobile(), sysUserVo.getIdentity(), sysUserVo.getIdentityTimeStart(), sysUserVo.getIdentityTimeEnd(), sysUserVo.getPassword());
             this.save(sysUser1);
@@ -1694,7 +1696,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             sysUserId = sysUser1.getId();
             sysUserJzgInfo.setStatus(UserState.UserStateEnum.ALREADY_EMPLOYEE.getValue());
             sysUserJzgInfoService.save(sysUserJzgInfo);
-            this.updateUserBindFiles(sysUserVo.getFileList(),Long.parseLong(sysUser1.getId()));
+            this.updateUserBindFiles(sysUserVo.getFileList(), Long.parseLong(sysUser1.getId()));
             //saveFile(sysUserVo.getSfz1(), sysUserVo.getSfz2(), sysUserVo.getQualification(), sysUserVo.getContract(), sysUserVo.getApplicant(), sysUserVo.getSalaryTable(), sysUserVo.getLeaveTable(), sysUserJzgInfo.getId());
             //如果表单输入的银行卡号和银行名不为空,则保存银行卡信息
             if (sysUserVo.getBankCardId() != null && sysUserVo.getBankName() != null) {
@@ -1702,14 +1704,14 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
                         new SysUserJzgInfoBankCard(sysUserId, sysUserVo.getBankCardId(), sysUserVo.getBankName(), sysUserJzgInfo.getSystemCode());
                 sysUserJzgInfoBankCardService.save(sysUserJzgInfoBankCard);
                 SysUserJzgInfoBankCardRecord sysUserJzgInfoBankCardRecord =
-                        new SysUserJzgInfoBankCardRecord(sysUserJzgInfoBankCard.getId(),"提交新卡");
+                        new SysUserJzgInfoBankCardRecord(sysUserJzgInfoBankCard.getId(), "提交新卡");
                 sysUserJzgInfoBankCardRecord.setStatus("0");
                 sysUserJzgInfoBankCardRecordService.save(sysUserJzgInfoBankCardRecord);
             }
             sysUserVo.setUserId(sysUserJzgInfo.getId());
-        }else {
+        } else {
             sysUserJzgInfo = sysUserJzgInfoService.getUserByUserId(sysUser.getId());
-            if (Objects.isNull(sysUserJzgInfo)){
+            if (Objects.isNull(sysUserJzgInfo)) {
                 sysUserJzgInfo = new SysUserJzgInfo();
                 BeanUtils.copyProperties(sysUserVo, sysUserJzgInfo);
                 sysUserJzgInfo.setUserId(sysUser.getId());
@@ -1718,11 +1720,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             }
             sysUserVo.setUserId(sysUserJzgInfo.getId());
         }
-        if (sysUserVo.getGrade() > 3){
+        if (sysUserVo.getGrade() != null && sysUserVo.getGrade() > 3) {
             saveUserApp(sysUserJzgInfo, baseController.getSystemCode());
         }
-        partnerAddsSalespersonIdentity(sysUserJzgInfo.getId(),"3");
-        if ((!Objects.isNull(sysUserVo.getGrade()) && 4 == sysUserVo.getGrade())){
+        partnerAddsSalespersonIdentity(sysUserJzgInfo.getId(), "3");
+        if ((!Objects.isNull(sysUserVo.getGrade()) && 4 == sysUserVo.getGrade())) {
             SysOrganizationAdd organizationAdd = new SysOrganizationAdd();
             organizationAdd.setName(sysUserVo.getName() + "团队");
             organizationAdd.setDeptId(sysUserJzgInfo.getDeptId());
@@ -1730,7 +1732,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             organizationAdd.setDescribeInformation("合伙人业务团队");
             organizationAdd.setAttribute(1);
             boolean nameExists = sysOrganizationService.nameExists(organizationAdd);
-            if (nameExists){
+            if (nameExists) {
                 throw new SystemException("团队、渠道、电销组名称已存在");
             }
             SysOrganization sysOrganization = new SysOrganization();
@@ -1738,17 +1740,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             sysOrganization.setId(IdGenerate.nextId());
             sysOrganizationService.save(sysOrganization);
             // 添加业务员
-            partnerAddsSalespersonIdentity(sysUserJzgInfo.getId(),"6");
+            partnerAddsSalespersonIdentity(sysUserJzgInfo.getId(), "6");
             // 添加团队关联用户
-            saveOrganization(sysOrganization.getId(),sysUserJzgInfo.getUserId());
+            saveOrganization(sysOrganization.getId(), sysUserJzgInfo.getUserId());
         }
-        if (!Objects.isNull(sysUserVo.getGrade()) && 4 < sysUserVo.getGrade()){
-            partnerAddsSalespersonIdentity(sysUserJzgInfo.getId(),"6");
+        if (!Objects.isNull(sysUserVo.getGrade()) && 4 < sysUserVo.getGrade()) {
+            partnerAddsSalespersonIdentity(sysUserJzgInfo.getId(), "6");
             SysOrganizationUserLink userLink = sysOrganizationUserLinkService.getOne(new LambdaQueryWrapper<>(SysOrganizationUserLink.class).eq(SysOrganizationUserLink::getUserId, referrerId));
             // 添加团队关联用户
-            saveOrganization(userLink.getOrganizationId(),sysUserJzgInfo.getUserId());
+            saveOrganization(userLink.getOrganizationId(), sysUserJzgInfo.getUserId());
         }
-        if(!Objects.isNull(sysUserVo.getGrade()) && 3 < sysUserVo.getGrade()){
+        if (!Objects.isNull(sysUserVo.getGrade()) && 3 < sysUserVo.getGrade()) {
             // 关联用户角色
             saveRole(sysUserJzgInfo);
         }
@@ -1757,7 +1759,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 
     private void saveRole(SysUserJzgInfo sysUserJzgInfo) {
         SysRole sysRole = roleMapper.selectOne(new LambdaQueryWrapper<>(SysRole.class).eq(SysRole::getName, "业务员").last("LIMIT 1"));
-        if (!Objects.isNull(sysRole)){
+        if (!Objects.isNull(sysRole)) {
             SysUserRole userRole = new SysUserRole();
             userRole.setUserId(sysUserJzgInfo.getUserId());
             userRole.setRoleId(sysRole.getId());
@@ -1765,10 +1767,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
     }
 
-    public void partnerAddsSalespersonIdentity(String infoId,String type){
-        boolean exists = sysUserJzgInfoSalesmanService.exists(new LambdaQueryWrapper<>(SysUserJzgInfoSalesman.class).eq(SysUserJzgInfoSalesman::getSysUserJzgInfoId,infoId)
+    public void partnerAddsSalespersonIdentity(String infoId, String type) {
+        boolean exists = sysUserJzgInfoSalesmanService.exists(new LambdaQueryWrapper<>(SysUserJzgInfoSalesman.class).eq(SysUserJzgInfoSalesman::getSysUserJzgInfoId, infoId)
                 .eq(SysUserJzgInfoSalesman::getTypeAttr, type));
-        if (!exists){
+        if (!exists) {
             //   添加合伙人身份
             SysUserJzgInfoSalesman sysUserJzgInfoSalesman = new SysUserJzgInfoSalesman(infoId, type);
             sysUserJzgInfoSalesman.setPartnerStatus(1);
@@ -1786,13 +1788,13 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     public SysUser querySysUserByUserName(String userName) {
         return baseMapper.selectOne(new LambdaQueryWrapper<SysUser>()
-                .eq(SysUser::getUsername,userName));
+                .eq(SysUser::getUsername, userName));
     }
 
     @Override
     public SysUser querySysUserByMobile(String mobile) {
         return baseMapper.selectOne(new LambdaQueryWrapper<SysUser>()
-                .eq(SysUser::getMobile,mobile));
+                .eq(SysUser::getMobile, mobile));
     }
 
 }