Qchen 1 год назад
Родитель
Сommit
6a4ba5c3e4

+ 12 - 0
commons/src/main/java/com/jzg/commons/entity/po/SysUserJzgInfo.java

@@ -210,6 +210,10 @@ public class SysUserJzgInfo extends BaseModel implements Serializable {
     @Schema(description = "薪资")
     private String salary;
 
+    @TableField(value = "salary_level")
+    @Schema(description = "薪资级别")
+    private String salaryLevel;
+
     @TableField(value = "live_address")
     @Schema(description = "居住地址")
     private String liveAddress;
@@ -302,6 +306,14 @@ public class SysUserJzgInfo extends BaseModel implements Serializable {
     @Schema(description = "密码")
     private String password;
 
+    @TableField(exist = false)
+    @Schema(description = "银行卡号")
+    private String bankCardNumber;
+
+    @TableField(exist = false)
+    @Schema(description = "银行卡名称")
+    private String bankName;
+
     public SysUserJzgInfo(SysUser user, String systemCode){
         this.userId = user.getId();
         this.status = 0;

+ 17 - 0
commons/src/main/java/com/jzg/commons/entity/vo/AuditSalesmanVo.java

@@ -0,0 +1,17 @@
+package com.jzg.commons.entity.vo;
+
+import lombok.Data;
+
+import java.io.Serializable;
+
+/**
+ * @author quchen
+ * @date 2025/1/24 15:34
+ */
+
+@Data
+public class AuditSalesmanVo implements Serializable {
+    private String userInfoId;
+
+    private String approvalOpinion;
+}

+ 2 - 0
commons/src/main/java/com/jzg/commons/entity/vo/BatchLeaderVo.java

@@ -13,4 +13,6 @@ public class BatchLeaderVo {
     private String[] ids;
 
     private String leaderId;
+
+    private Integer getAll;
 }

+ 4 - 1
commons/src/main/java/com/jzg/commons/entity/vo/IsDeleteVo.java

@@ -14,5 +14,8 @@ import java.util.List;
 @Data
 public class IsDeleteVo {
     @Schema(description = "id集合")
-    private List<String> id;
+    private List<String> ids;
+
+    @Schema(description = "获取全部")
+    private Integer getAll;
 }

+ 2 - 0
commons/src/main/java/com/jzg/commons/entity/vo/IsEnableVo.java

@@ -13,4 +13,6 @@ public class IsEnableVo {
     private String[] ids;
 
     private Integer isEnable;
+
+    private Integer getAll;
 }

+ 4 - 0
platform/src/main/resources/application.yml

@@ -6,6 +6,10 @@ spring:
       address: redis://192.168.0.250:6379
       password: 123456
       database: 0
+  servlet:
+    multipart:
+      max-file-size: 5MB
+      max-request-size: 5MB
 
   datasource:
       url: jdbc:mysql://39.98.239.48:3366/platform?serverTimezone=Asia/Shanghai&allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&rewriteBatchedStatements=true

+ 12 - 0
tenant/organization/src/main/java/com/jzg/organization/controller/UserController.java

@@ -125,5 +125,17 @@ public class UserController extends BaseController {
         return sysUserService.realNameAuthFailed(userId)? HttpResult.ok("实名认证审核成功") : HttpResult.error("实名认证审核失败");
     }
 
+    @Operation(summary = "业务员审核成功",description = "业务员审核成功")
+    @PostMapping(value = "/salesmanAuthSuccess")
+    public HttpResult salesmanAuthSuccess(@RequestSingleParam(value = "userInfoId") String userInfoId){
+        return sysUserService.salesmanAuthSuccess(userInfoId)? HttpResult.ok("业务员审核成功") : HttpResult.error("业务员审核失败");
+    }
+
+    @Operation(summary = "业务员审核失败",description = "业务员审核失败")
+    @PostMapping(value = "/salesmanAuthFailed")
+    public HttpResult salesmanAuthFailed(@RequestBody AuditSalesmanVo auditSalesmanVo){
+        return sysUserService.salesmanAuthFailed(auditSalesmanVo)? HttpResult.ok("业务员审核成功") : HttpResult.error("业务员审核失败");
+    }
+
 
 }

+ 14 - 0
tenant/organization/src/main/java/com/jzg/organization/service/SysUserService.java

@@ -91,4 +91,18 @@ public interface SysUserService extends IService<SysUser> {
      * @return
      */
     boolean realNameAuthFailed(String userId);
+
+    /**
+     * 业务员审核成功
+     * @param userInfoId
+     * @return
+     */
+    boolean salesmanAuthSuccess(String userInfoId);
+
+    /**
+     * 业务员审核失败
+     * @param userInfoId
+     * @return
+     */
+    boolean salesmanAuthFailed(AuditSalesmanVo auditSalesmanVo);
 }

+ 193 - 22
tenant/organization/src/main/java/com/jzg/organization/service/impl/SysUserServiceImpl.java

@@ -187,6 +187,32 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return stateResult.isResult();
     }
 
+    @Override
+    public boolean salesmanAuthSuccess(String userInfoId) {
+        SysUserJzgInfo userJzgInfo = sysUserJzgInfoService.getById(userInfoId);
+        StateResult stateResult = userStateListener.salesmanAuthSuccess(userJzgInfo);
+        if (stateResult.isResult()) {
+            //更新状态
+            userJzgInfo.setStatus(stateResult.getCurrentState());
+            sysUserJzgInfoService.updateById(userJzgInfo);
+        }
+        return stateResult.isResult();
+    }
+
+    @Override
+    public boolean salesmanAuthFailed(AuditSalesmanVo auditSalesmanVo) {
+        SysUserJzgInfo userJzgInfo = sysUserJzgInfoService.getById(auditSalesmanVo.getUserInfoId());
+        StateResult stateResult = userStateListener.salesmanAuthFailed(userJzgInfo);
+        if (stateResult.isResult()) {
+            //更新状态
+            userJzgInfo.setStatus(stateResult.getCurrentState());
+            userJzgInfo.setApprovalOpinion(auditSalesmanVo.getApprovalOpinion());
+            sysUserJzgInfoService.updateById(userJzgInfo);
+        }
+        return stateResult.isResult();
+    }
+
+
     @Override
     public boolean realNameAuthFailed(String userId){
         SysUserJzgInfo userByUserId = sysUserJzgInfoService.getUserByUserId(userId);
@@ -257,12 +283,17 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResult<Boolean> deleteUserInfo(IsDeleteVo isDeleteVo) {
-        for (String id : isDeleteVo.getId()) {
-            SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
-            if (sysUserJzgInfo == null) {
-                throw new SystemException("该用户不存在");
+        if (isDeleteVo.getGetAll() == 1) {
+            List<SysUserJzgInfo> sysUserJzgInfoList = sysUserJzgInfoService.list();
+            sysUserJzgInfoService.removeBatchByIds(sysUserJzgInfoList);
+        } else {
+            for (String id : isDeleteVo.getIds()) {
+                SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
+                if (sysUserJzgInfo == null) {
+                    throw new SystemException("该用户不存在");
+                }
+                sysUserJzgInfoService.removeById(id);
             }
-            sysUserJzgInfoService.removeById(id);
         }
         return HttpResult.ok("删除业务员成功");
     }
@@ -270,13 +301,21 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResult<Boolean> isEnableUser(IsEnableVo isEnableVo) {
-        for (String id : isEnableVo.getIds()) {
-            SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
-            if (sysUserJzgInfo == null) {
-                throw new SystemException("该用户不存在");
+        if (isEnableVo.getGetAll() == 1) {
+            List<SysUserJzgInfo> sysUserJzgInfoList = sysUserJzgInfoService.list();
+            for (SysUserJzgInfo sysUserJzgInfo : sysUserJzgInfoList) {
+                sysUserJzgInfo.setIsEnable(isEnableVo.getIsEnable());
+            }
+            sysUserJzgInfoService.updateBatchById(sysUserJzgInfoList);
+        } else {
+            for (String id : isEnableVo.getIds()) {
+                SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
+                if (sysUserJzgInfo == null) {
+                    throw new SystemException("该用户不存在");
+                }
+                sysUserJzgInfo.setIsEnable(isEnableVo.getIsEnable());
+                sysUserJzgInfoService.updateById(sysUserJzgInfo);
             }
-            sysUserJzgInfo.setIsEnable(isEnableVo.getIsEnable());
-            sysUserJzgInfoService.updateById(sysUserJzgInfo);
         }
         return HttpResult.ok("业务员状态修改成功");
     }
@@ -284,13 +323,21 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
     @Override
     @Transactional(rollbackFor = Exception.class)
     public HttpResult<Boolean> batchLeader(BatchLeaderVo batchLeaderVo) {
-        for (String id : batchLeaderVo.getIds()) {
-            SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
-            if (sysUserJzgInfo == null) {
-                throw new SystemException("该用户不存在");
+        if (batchLeaderVo.getGetAll() == 1) {
+            List<SysUserJzgInfo> sysUserJzgInfoList = sysUserJzgInfoService.list();
+            for (SysUserJzgInfo sysUserJzgInfo : sysUserJzgInfoList) {
+                sysUserJzgInfo.setLeaderId(batchLeaderVo.getLeaderId());
+            }
+            sysUserJzgInfoService.updateBatchById(sysUserJzgInfoList);
+        } else {
+            for (String id : batchLeaderVo.getIds()) {
+                SysUserJzgInfo sysUserJzgInfo = sysUserJzgInfoService.getById(id);
+                if (sysUserJzgInfo == null) {
+                    throw new SystemException("该用户不存在");
+                }
+                sysUserJzgInfo.setLeaderId(batchLeaderVo.getLeaderId());
+                sysUserJzgInfoService.updateById(sysUserJzgInfo);
             }
-            sysUserJzgInfo.setLeaderId(batchLeaderVo.getLeaderId());
-            sysUserJzgInfoService.updateById(sysUserJzgInfo);
         }
         return HttpResult.ok("设置负责人成功");
     }
@@ -330,7 +377,16 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
 //            throw new SystemException("该业务员已被禁用");
 //        }
         BeanUtils.copyProperties(sysUserVo, sysUserJzgInfo);
-        saveFile(sysUserVo.getSfz1(), sysUserVo.getSfz2(), sysUserVo.getQualification(), sysUserVo.getContract(), sysUserVo.getApplicant(), sysUserVo.getSalaryTable(), sysUserVo.getLeaveTable(), sysUserJzgInfo.getId());
+        verifyFile(sysUserVo.getSfz1(), sysUserVo.getSfz2(), sysUserVo.getQualification(), sysUserVo.getContract(), sysUserVo.getApplicant(), sysUserVo.getSalaryTable(), sysUserVo.getLeaveTable(), sysUserJzgInfo.getId());
+        if (sysUserJzgInfo.getStatus() == 5) { // 如果状态为5  说明该业务员重新提交审核  进行业务员审核
+            StateResult stateResult = userStateListener.salesmanAuthIng(sysUserJzgInfo);
+            if (stateResult.isResult()) {
+                //更新状态
+                sysUserJzgInfo.setStatus(stateResult.getCurrentState());
+                sysUserJzgInfo.setApprovalOpinion("");
+            }
+
+        }
         sysUserJzgInfoService.updateById(sysUserJzgInfo);
 
         //用户角色处理
@@ -381,11 +437,11 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
             }
             sysUserJzgInfo.setRegion(region.substring(0, region.length() - 1));
         }
-        if (!Objects.isNull(sysUserJzgInfo.getLeaderId())) {
+        if (!Objects.isNull(sysUserJzgInfo.getLeaderId()) && !sysUserJzgInfo.getLeaderId().equals("")) {
             String leaderName = sysUserJzgInfoService.getById(sysUserJzgInfo.getLeaderId()).getName();
             sysUserJzgInfo.setLeaderName(leaderName);
         }
-        if (!Objects.isNull(sysUserJzgInfo.getReferrerId())) {
+        if (!Objects.isNull(sysUserJzgInfo.getReferrerId()) && !sysUserJzgInfo.getReferrerId().equals("")) {
             String referrerName = sysUserJzgInfoService.getById(sysUserJzgInfo.getReferrerId()).getName();
             sysUserJzgInfo.setReferrerName(referrerName);
         }
@@ -406,6 +462,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         sysUserJzgInfo.setFileList(sysUserJzgInfoFile);
         List<SysUserJzgInfoBankCardDto> sysUserJzgInfoBankCardDto = sysUserJzgInfoBankCardService.getBankCardByUserId(sysUserJzgInfo.getId());
         sysUserJzgInfo.setBankCardList(sysUserJzgInfoBankCardDto);
+        if (!sysUserJzgInfoBankCardDto.isEmpty()) {
+            sysUserJzgInfo.setBankCardNumber(sysUserJzgInfoBankCardDto.get(0).getBankCardNumber());
+            sysUserJzgInfo.setBankName(sysUserJzgInfoBankCardDto.get(0).getBankName());
+        }
         return HttpResult.ok(sysUserJzgInfo);
     }
 
@@ -500,8 +560,119 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         }
     }
 
-    public void verifyFile(String sfz1,String sfz2,String qualification,String contract,String applicant,String salaryTable,String leaveTable){
-
+    public void verifyFile(String sfz1,String sfz2,String qualification,String contract,String applicant,String salaryTable,String leaveTable,String userId){
+        if (sfz1 != null) {
+            SysUserJzgInfoFile sysUserJzgInfoFileVerify = sysUserJzgInfoFileService.getOne(
+                    (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getId, sfz1)));
+            if (sysUserJzgInfoFileVerify == null) {
+                List<SysUserJzgInfoFile> sysUserJzgInfoFiles = sysUserJzgInfoFileService.list(
+                        (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getUserJzgInfoId, userId)
+                                .eq(SysUserJzgInfoFile::getFileType, "sfz1")));
+                sysUserJzgInfoFileService.removeBatchByIds(sysUserJzgInfoFiles);
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
+                        (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, sfz1));
+                SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(sfz1, userId, sysUploadFiles.getFileName());
+                sysUserJzgInfoFile.setFileType("sfz1");
+                sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
+                sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
+            }
+        }
+        if (sfz2 != null) {
+            SysUserJzgInfoFile sysUserJzgInfoFileVerify = sysUserJzgInfoFileService.getOne(
+                    (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getId, sfz2)));
+            if (sysUserJzgInfoFileVerify == null) {
+                List<SysUserJzgInfoFile> sysUserJzgInfoFiles = sysUserJzgInfoFileService.list(
+                        (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getUserJzgInfoId, userId)
+                                .eq(SysUserJzgInfoFile::getFileType, "sfz2")));
+                sysUserJzgInfoFileService.removeBatchByIds(sysUserJzgInfoFiles);
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
+                        (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, sfz2));
+                SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(sfz2, userId, sysUploadFiles.getFileName());
+                sysUserJzgInfoFile.setFileType("sfz2");
+                sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
+                sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
+            }
+        }
+        if (qualification != null) {
+            SysUserJzgInfoFile sysUserJzgInfoFileVerify = sysUserJzgInfoFileService.getOne(
+                    (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getId, qualification)));
+            if (sysUserJzgInfoFileVerify == null) {
+                List<SysUserJzgInfoFile> sysUserJzgInfoFiles = sysUserJzgInfoFileService.list(
+                        (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getUserJzgInfoId, userId)
+                                .eq(SysUserJzgInfoFile::getFileType, "qualification")));
+                sysUserJzgInfoFileService.removeBatchByIds(sysUserJzgInfoFiles);
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
+                        (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, qualification));
+                SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(qualification, userId, sysUploadFiles.getFileName());
+                sysUserJzgInfoFile.setFileType("qualification");
+                sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
+                sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
+            }
+        }
+        if (contract != null) {
+            SysUserJzgInfoFile sysUserJzgInfoFileVerify = sysUserJzgInfoFileService.getOne(
+                    (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getId, contract)));
+            if (sysUserJzgInfoFileVerify == null) {
+                List<SysUserJzgInfoFile> sysUserJzgInfoFiles = sysUserJzgInfoFileService.list(
+                        (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getUserJzgInfoId, userId)
+                                .eq(SysUserJzgInfoFile::getFileType, "contract")));
+                sysUserJzgInfoFileService.removeBatchByIds(sysUserJzgInfoFiles);
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
+                        (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, contract));
+                SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(contract, userId, sysUploadFiles.getFileName());
+                sysUserJzgInfoFile.setFileType("contract");
+                sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
+                sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
+            }
+        }
+        if (applicant != null) {
+            SysUserJzgInfoFile sysUserJzgInfoFileVerify = sysUserJzgInfoFileService.getOne(
+                    (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getId, applicant)));
+            if (sysUserJzgInfoFileVerify == null) {
+                List<SysUserJzgInfoFile> sysUserJzgInfoFiles = sysUserJzgInfoFileService.list(
+                        (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getUserJzgInfoId, userId)
+                                .eq(SysUserJzgInfoFile::getFileType, "applicant")));
+                sysUserJzgInfoFileService.removeBatchByIds(sysUserJzgInfoFiles);
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
+                        (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, applicant));
+                SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(applicant, userId, sysUploadFiles.getFileName());
+                sysUserJzgInfoFile.setFileType("applicant");
+                sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
+                sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
+            }
+        }
+        if (salaryTable != null) {
+            SysUserJzgInfoFile sysUserJzgInfoFileVerify = sysUserJzgInfoFileService.getOne(
+                    (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getId, salaryTable)));
+            if (sysUserJzgInfoFileVerify == null) {
+                List<SysUserJzgInfoFile> sysUserJzgInfoFiles = sysUserJzgInfoFileService.list(
+                        (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getUserJzgInfoId, userId)
+                                .eq(SysUserJzgInfoFile::getFileType, "salaryTable")));
+                sysUserJzgInfoFileService.removeBatchByIds(sysUserJzgInfoFiles);
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
+                        (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, salaryTable));
+                SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(salaryTable,userId,sysUploadFiles.getFileName());
+                sysUserJzgInfoFile.setFileType("salary");
+                sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
+                sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
+            }
+        }
+        if (leaveTable != null) {
+            SysUserJzgInfoFile sysUserJzgInfoFileVerify = sysUserJzgInfoFileService.getOne(
+                    (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getId, leaveTable)));
+            if (sysUserJzgInfoFileVerify == null) {
+                List<SysUserJzgInfoFile> sysUserJzgInfoFiles = sysUserJzgInfoFileService.list(
+                        (new LambdaQueryWrapper<SysUserJzgInfoFile>().eq(SysUserJzgInfoFile::getUserJzgInfoId, userId)
+                                .eq(SysUserJzgInfoFile::getFileType, "leaveTable")));
+                sysUserJzgInfoFileService.removeBatchByIds(sysUserJzgInfoFiles);
+                SysUploadFiles sysUploadFiles = sysUploadFilesMapper.selectOne
+                        (new LambdaQueryWrapper<SysUploadFiles>().eq(SysUploadFiles::getId, leaveTable));
+                SysUserJzgInfoFile sysUserJzgInfoFile = new SysUserJzgInfoFile(leaveTable, userId, sysUploadFiles.getFileName());
+                sysUserJzgInfoFile.setFileType("leave");
+                sysUserJzgInfoFile.setFileUrl(MinioUtils.getPresignedObjectUrl("jzg", sysUploadFiles.getFileName()));
+                sysUserJzgInfoFileService.save(sysUserJzgInfoFile);
+            }
+        }
     }
 }
 

+ 5 - 1
tenant/organization/src/main/java/com/jzg/organization/state/UserState.java

@@ -51,7 +51,11 @@ public class UserState {
         EMPLOYEE, // 入职
         RESIGN_ING, // 待离职
         RESIGN_FAILED, // 离职失败事件
-        RESIGN // 离职
+        RESIGN, // 离职
+        SALESMAN_AUTH_SUCCESS, //业务员审核成功事件
+        SALESMAN_AUTH_FAILED, // 业务员审核失败事件
+        SALESMAN_AUTH_ING // 业务员审核中
+
     }
 
 

+ 14 - 1
tenant/organization/src/main/java/com/jzg/organization/state/config/UserStateConfig.java

@@ -67,6 +67,19 @@ public class UserStateConfig extends StateMachineConfigurerAdapter<UserState.Use
                 .and()
                 .withExternal()
                 //已入职 -> 离职中
-                .source(UserState.UserStateEnum.ALREADY_EMPLOYEE).target(UserState.UserStateEnum.RESIGN_ING).event(UserState.UserStateEvent.RESIGN_ING);
+                .source(UserState.UserStateEnum.ALREADY_EMPLOYEE).target(UserState.UserStateEnum.RESIGN_ING).event(UserState.UserStateEvent.RESIGN_ING)
+                .and()
+                .withExternal()
+                //业务员审核成功 -> 已入职
+                .source(UserState.UserStateEnum.NOT_CERT).target(UserState.UserStateEnum.ALREADY_EMPLOYEE).event(UserState.UserStateEvent.SALESMAN_AUTH_SUCCESS)
+                .and()
+                .withExternal()
+                //业务员审核失败 -> 业务员入司审核失败
+                .source(UserState.UserStateEnum.NOT_CERT).target(UserState.UserStateEnum.COMPANY_REVIEW_FAILED).event(UserState.UserStateEvent.SALESMAN_AUTH_FAILED)
+                .and()
+                .withExternal()
+                //业务员入司审核失败 -> 业务员审核中
+                .source(UserState.UserStateEnum.COMPANY_REVIEW_FAILED).target(UserState.UserStateEnum.COMPANY_REVIEW_ING).event(UserState.UserStateEvent.SALESMAN_AUTH_ING)
+        ;
     }
 }

+ 26 - 0
tenant/organization/src/main/java/com/jzg/organization/state/listener/UserStateListener.java

@@ -98,4 +98,30 @@ public class UserStateListener {
         StateResult stateResult = callEvent(sysUserJzgInfo, UserState.UserStateEvent.REAL_AUTH_FAILED);
         return stateResult;
     }
+
+    /**
+     * 业务员审核成功
+     * @param sysUserJzgInfo
+     * @return
+     */
+    public StateResult salesmanAuthSuccess(SysUserJzgInfo sysUserJzgInfo){
+        StateResult stateResult = callEvent(sysUserJzgInfo, UserState.UserStateEvent.SALESMAN_AUTH_SUCCESS);
+        return stateResult;
+    }
+
+
+    /**
+     * 业务员审核失败
+     * @param sysUserJzgInfo
+     * @return
+     */
+    public StateResult salesmanAuthFailed(SysUserJzgInfo sysUserJzgInfo){
+        StateResult stateResult = callEvent(sysUserJzgInfo, UserState.UserStateEvent.SALESMAN_AUTH_FAILED);
+        return stateResult;
+    }
+
+    public StateResult salesmanAuthIng(SysUserJzgInfo sysUserJzgInfo){
+        StateResult stateResult = callEvent(sysUserJzgInfo, UserState.UserStateEvent.SALESMAN_AUTH_ING);
+        return stateResult;
+    }
 }

+ 1 - 1
tenant/organization/src/main/resources/mapper/SysUserJzgInfoMapper.xml

@@ -88,7 +88,7 @@
         </if>
         <if test="sysUserInfoListVo.leaderId != null and sysUserInfoListVo.leaderId != ''">
             and (suji.leader_id = #{sysUserInfoListVo.leaderId}
-            or  su.username = #{sysUserInfoListVo.leaderId)
+            or  suji.name = #{sysUserInfoListVo.leaderId})
         </if>
         <if test="sysUserInfoListVo.salesman != null and sysUserInfoListVo.salesman != ''">
             and (suji.name like concat('%',#{sysUserInfoListVo.salesman},'%')