Forráskód Böngészése

1、增加入职、结算的逻辑

rayson 1 éve
szülő
commit
cb1cfa8c6c
27 módosított fájl, 323 hozzáadás és 117 törlés
  1. 6 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  2. 4 5
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/cv/ConversationStatusEnum.java
  3. 1 1
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/cv/JobCvRelStatusEnum.java
  4. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/hire/HireCommissionRatioController.java
  5. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/enterprise/vo/register/AppEnterpriseRegisterReqVO.java
  6. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/interview/vo/AppInterviewInvitePageReqVO.java
  7. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/interview/vo/AppAdminInterviewInviteReqPageVO.java
  8. 13 6
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/AppAdminPersonCvController.java
  9. 11 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/cv/AppAdminJobCvRelPageReqVO.java
  10. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInvitePageReqVO.java
  11. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInviteRespVO.java
  12. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInviteSaveReqVO.java
  13. 9 7
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/interview/InterviewInviteDO.java
  14. 28 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/interview/InterviewInviteMapper.java
  15. 44 42
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java
  16. 56 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/scheduled/InterviewInviteScheduled.java
  17. 1 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/hire/HireCommissionRatioService.java
  18. 7 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/hire/HireCommissionRatioServiceImpl.java
  19. 12 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/interview/InterviewInviteService.java
  20. 48 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/interview/InterviewInviteServiceImpl.java
  21. 0 8
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/HireJobIntegrationService.java
  22. 21 35
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/HireJobIntegrationServiceImpl.java
  23. 19 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelService.java
  24. 16 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelServiceImpl.java
  25. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java
  26. 3 0
      menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties
  27. 3 0
      menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

+ 6 - 0
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java

@@ -215,6 +215,9 @@ public interface ErrorCodeConstants {
     ErrorCode MDE_ENTERPRISE_REGISTER_APPLY_DUPLICATE
             = new ErrorCode(1_100_021_010, "企业已申请审核中,请勿重复提交");
 
+    ErrorCode MDE_ENTERPRISE_REGISTER_CREDIT_CODE_FORMAT_ERROR
+            = new ErrorCode(1_100_021_011, "统一社会信用代码格式不正确");
+
     // ========== 企业地址 1_100_022_001 ==========
     ErrorCode MDE_ENTERPRISE_ADDRESS_NOT_EXISTS = new ErrorCode(1_100_022_001, "企业地址不存在");
 
@@ -292,6 +295,9 @@ public interface ErrorCodeConstants {
     ErrorCode INTERVIEW_INVITE_ADDRESS_NOT_NULL = new ErrorCode(1_100_033_009, "面试地址不能为空");
     ErrorCode INTERVIEW_INVITE_STATUS_NOT_NULL = new ErrorCode(1_100_033_010, "面试状态不能为空");
 
+    ErrorCode INTERVIEW_INVITE_STATUS_NOT_COMPLETED = new ErrorCode(1_100_033_011, "当前面试未完成");
+    ErrorCode INTERVIEW_INVITE_STATUS_NOT_ENTRY = new ErrorCode(1_100_033_012, "当前员工还未入职,无法结算");
+
     // ========== 企业用户申请 1_100_034_000 ==========
     ErrorCode ENTERPRISE_USER_APPLY_NOT_EXISTS = new ErrorCode(1_100_034_001, "企业用户申请不存在");
     ErrorCode ENTERPRISE_USER_APPLY_APPROVED = new ErrorCode(1_100_034_002, "用户申请已审批");

+ 4 - 5
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/cv/ConversationStatusEnum.java

@@ -4,16 +4,15 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 
 /**
- * 会话状态(0 邀约 | 1 已发offer 2 已入职 | 3 已结算 )
+ * 会话状态(0 邀约 | 已入职 | 已结算 )
  **/
 @Getter
 @AllArgsConstructor
 public enum ConversationStatusEnum {
 
-    INVITE("0", "已邀约"),
-    OFFER("1", "已发offer"),
-    ENTRY("2", "已入职"),
-    SETTLEMENT("3", "已结算"),
+    INVITE("0", "邀约"),
+    ENTRY("1", "已入职"),
+    SETTLEMENT("2", "已结算"),
     ;
 
     private final String status;

+ 1 - 1
menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/cv/JobCvRelStatusEnum.java

@@ -4,7 +4,7 @@ import lombok.AllArgsConstructor;
 import lombok.Getter;
 
 /**
- * 简历投递状态(0 新投递 | 1 已查看 | 2 已邀约 | 3 已发offer 4 已入职 | 99 不合适 已淘汰
+ * 简历投递状态(0 新投递 | 1 已查看 )
  **/
 @Getter
 @AllArgsConstructor

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/hire/HireCommissionRatioController.java

@@ -68,7 +68,7 @@ public class HireCommissionRatioController {
     @Operation(summary = "获得众聘-佣金比例")
     // @PreAuthorize("@ss.hasPermission('menduner:system:hire-commission-ratio:query')")
     public CommonResult<HireCommissionRatioRespVO> get() {
-        HireCommissionRatioDO hireCommissionRatio = hireCommissionRatioService.get();
+        HireCommissionRatioDO hireCommissionRatio = hireCommissionRatioService.getHireCommissionRatio();
         return success(BeanUtils.toBean(hireCommissionRatio, HireCommissionRatioRespVO.class));
     }
 

+ 2 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/enterprise/vo/register/AppEnterpriseRegisterReqVO.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.controller.app.enterprise.vo.register;
 
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
+import org.hibernate.validator.constraints.Length;
 
 import javax.validation.constraints.NotBlank;
 
@@ -23,6 +24,7 @@ public class AppEnterpriseRegisterReqVO {
     private String email;
 
     @NotBlank(message = "{1_100_021_006}")
+    @Length(min = 18, max = 18, message = "{1_100_021_011}")
     @Schema(description = "统一社会信用代码")
     private String code;
 

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/interview/vo/AppInterviewInvitePageReqVO.java

@@ -27,4 +27,7 @@ public class AppInterviewInvitePageReqVO extends PageParam {
 
     @Schema(description = "状态(0待接受|1待面试|2即将面试|3已完成|4已反馈|5未能爽约|98拒绝|99已取消)", example = "2")
     private String status;
+
+    @Schema(description = "会话状态(0邀约|1入职|2结算)")
+    private String conversationStatus;
 }

+ 2 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/interview/vo/AppAdminInterviewInviteReqPageVO.java

@@ -36,5 +36,7 @@ public class AppAdminInterviewInviteReqPageVO extends AppAdminPersonPageReqVO {
     @Schema(description = "状态(0待接受|1待面试|2即将面试|3已完成|4已反馈|5未能爽约|98拒绝|99已取消)", example = "2")
     private String status;
 
+    @Schema(description = "会话状态(0邀约|1入职|2结算)")
+    private String conversationStatus;
 
 }

+ 13 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/AppAdminPersonCvController.java

@@ -12,6 +12,8 @@ import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPer
 import com.citu.module.menduner.system.controller.appadmin.unfit.AppAdminUnfitCandidatePageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.unfit.AppAdminUnfitCandidateRespVO;
 import com.citu.module.menduner.system.controller.appadmin.unfit.AppAdminUnfitCandidateSaveReqVO;
+import com.citu.module.menduner.system.service.interview.InterviewInviteService;
+import com.citu.module.menduner.system.service.interview.InterviewInviteServiceImpl;
 import com.citu.module.menduner.system.service.job.HireJobIntegrationService;
 import com.citu.module.menduner.system.service.job.JobCvRelService;
 import com.citu.module.menduner.system.service.job.JobIntegrationService;
@@ -49,6 +51,9 @@ public class AppAdminPersonCvController {
     @Resource
     private UnfitCandidateService unfitCandidateService;
 
+    @Resource
+    private InterviewInviteService interviewInviteService;
+
 
     @PreAuthenticated
     @GetMapping("/page")
@@ -73,12 +78,6 @@ public class AppAdminPersonCvController {
         return success(hireJobIntegrationService.page(pageReqVO));
     }
 
-    @PreAuthenticated
-    @GetMapping("/hire/recommend/list")
-    @Operation(summary = "获取赏金职位推荐人的用户列表")
-    public CommonResult<List<AppAdminPersonSimpleRespVO>> getRecommendUser() {
-        return success(hireJobIntegrationService.getRecommendUser());
-    }
 
     @PreAuthenticated
     @GetMapping("/detail")
@@ -108,6 +107,14 @@ public class AppAdminPersonCvController {
         return success(unfitCandidateService.cancellation(id));
     }
 
+    @PreAuthenticated
+    @PostMapping("/entry")
+    @Operation(summary = "入职")
+    public CommonResult<Boolean> entry(@RequestParam("id") Long id) {
+        interviewInviteService.entry(id);
+        return success(true);
+    }
+
 
     @PreAuthenticated
     @PostMapping("/settlement")

+ 11 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/appadmin/person/cv/AppAdminJobCvRelPageReqVO.java

@@ -8,7 +8,6 @@ import lombok.Data;
 @Data
 public class AppAdminJobCvRelPageReqVO extends AppAdminPersonPageReqVO {
 
-
     @Schema(description = "简历投递类型",example = "1")
     private String type;
 
@@ -18,4 +17,15 @@ public class AppAdminJobCvRelPageReqVO extends AppAdminPersonPageReqVO {
     @Schema(description = "投递的岗位", example = "1")
     private Long jobId;
 
+    @Schema(description = "推荐人", example = "21239")
+    private Long recommendUserId;
+
+    @Schema(description = "投递人名称", example = "芋艿")
+    private String name;
+
+    @Schema(description = "投递人联系电话")
+    private String phone;
+
+    @Schema(description = "是否雇佣 (众聘)")
+    private Boolean hire;
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInvitePageReqVO.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.controller.base.interview;
 
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.citu.framework.common.pojo.PageParam;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
@@ -46,6 +47,9 @@ public class InterviewInvitePageReqVO extends PageParam {
     @Schema(description = "(0待接受|1待面试|2即将面试|3已完成|4已反馈|5未能爽约|98拒绝|99已取消)", example = "2")
     private String status;
 
+    @Schema(description = "会话状态(0邀约|1入职|2结算)")
+    private String conversationStatus;
+
     @Schema(description = "创建时间")
     @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
     private LocalDateTime[] createTime;

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInviteRespVO.java

@@ -65,6 +65,10 @@ public class InterviewInviteRespVO {
     @ExcelProperty("(0待接受|1待面试|2即将面试|3已完成|4已反馈|5未能爽约|98拒绝|99已取消)")
     private String status;
 
+    @Schema(description = "会话状态(0邀约|1入职|2结算)")
+    @ExcelProperty("会话状态(0邀约|1入职|2结算)")
+    private String conversationStatus;
+
     @Schema(description = "原因")
     @ExcelProperty("原因")
     private String reason;

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/interview/InterviewInviteSaveReqVO.java

@@ -70,4 +70,7 @@ public class InterviewInviteSaveReqVO {
     @NotEmpty(message = "{1_100_033_010}")
     private String status;
 
+    @Schema(description = "会话状态(0邀约|1入职|2结算)")
+    private String conversationStatus;
+
 }

+ 9 - 7
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/interview/InterviewInviteDO.java

@@ -1,15 +1,13 @@
 package com.citu.module.menduner.system.dal.dataobject.interview;
 
 
-import com.alibaba.excel.annotation.ExcelProperty;
-import io.swagger.v3.oas.annotations.media.Schema;
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.citu.framework.mybatis.core.dataobject.BaseDO;
 import lombok.*;
-import java.util.*;
-import java.time.LocalDateTime;
-import java.time.LocalDateTime;
+
 import java.time.LocalDateTime;
-import com.baomidou.mybatisplus.annotation.*;
-import com.citu.framework.mybatis.core.dataobject.BaseDO;
 
 /**
  * 面试邀请 DO
@@ -79,6 +77,10 @@ public class InterviewInviteDO extends BaseDO {
      * (0待接受|1待面试|2即将面试|3已完成|4已反馈|5未能爽约|98拒绝|99已取消)
      */
     private String status;
+    /**
+     * 会话状态(0邀约|1入职|2结算)
+     */
+    private String conversationStatus;
     /**
      * 原因
      */

+ 28 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/interview/InterviewInviteMapper.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.dal.mysql.interview;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.mybatis.core.mapper.BaseMapperX;
 import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
@@ -17,6 +18,7 @@ import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.time.LocalDateTime;
 import java.util.List;
 
 /**
@@ -55,7 +57,11 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
         query
                 .eqIfPresent(InterviewInviteDO::getType, reqVO.getType())
                 .betweenIfPresent(InterviewInviteDO::getTime, reqVO.getTime())
-                .eqIfPresent(InterviewInviteDO::getStatus, reqVO.getStatus());
+                .eqIfPresent(InterviewInviteDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(InterviewInviteDO::getStatus, reqVO.getConversationStatus());
+
+
+        query.orderByDesc(InterviewInviteDO::getUpdateTime);
 
         return selectJoinPage(reqVO, AppInterviewInviteRespVO.class, query);
     }
@@ -83,11 +89,15 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
                 .eqIfPresent(InterviewInviteDO::getType, reqVO.getType())
                 .betweenIfPresent(InterviewInviteDO::getTime, reqVO.getTime())
                 .eqIfPresent(InterviewInviteDO::getPhone, reqVO.getPhone())
-                .eqIfPresent(InterviewInviteDO::getStatus, reqVO.getStatus());
+                .eqIfPresent(InterviewInviteDO::getStatus, reqVO.getStatus())
+                .eqIfPresent(InterviewInviteDO::getStatus, reqVO.getConversationStatus());
+
+        query.orderByDesc(InterviewInviteDO::getUpdateTime);
 
         return selectJoinPage(reqVO, AppAdminInterviewInviteRespVO.class, query);
     }
 
+    /** 按时间分组统计面试邀请的数量 **/
     default List<CommonRespVO> getCountByTime(Long enterpriseId, Long userId) {
         MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
         query.selectFunc("DATE(%s)", arg -> arg.accept(InterviewInviteDO::getTime), "`key`");
@@ -99,4 +109,20 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
         return selectJoinList(CommonRespVO.class, query);
     }
 
+
+    default List<InterviewInviteDO> getApproachingInterviewList(){
+        // 获取当前时间
+        LocalDateTime now = LocalDateTime.now();
+
+        // 计算三个小时前的时间
+        LocalDateTime threeHoursAgo = now.minusHours(3);
+
+        MPJLambdaWrapperX<InterviewInviteDO> query = new MPJLambdaWrapperX<>();
+        // 设置查询条件,筛选time在threeHoursAgo和now之间的记录
+        query.ge(InterviewInviteDO::getTime, threeHoursAgo);
+        query.le(InterviewInviteDO::getTime, now);
+
+        return selectJoinList(InterviewInviteDO.class, query);
+    }
+
 }

+ 44 - 42
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobCvRelMapper.java

@@ -11,7 +11,6 @@ import com.citu.module.menduner.system.controller.appadmin.person.cv.AppAdminJob
 import com.citu.module.menduner.system.controller.appadmin.person.cv.AppAdminJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.appadmin.person.hire.AppAdminHireJobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.person.hire.AppAdminHireJobCvRelRespVO;
-import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonSimpleRespVO;
 import com.citu.module.menduner.system.controller.base.job.JobCvRelPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
@@ -76,6 +75,39 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
     }
 
 
+    /**
+     * 获得赏金投递职位分页
+     **/
+    default PageResult<AppAdminHireJobCvRelRespVO> page(AppAdminHireJobCvRelPageReqVO reqVO) {
+        // 职位投递userId inner 招聘职位userId and 职位投递userId inner 人才信息userId
+        MPJLambdaWrapperX<JobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
+        wrapper.selectAsClass(JobCvRelDO.class, AppAdminHireJobCvRelRespVO.class);
+        wrapper.selectAssociation(JobAdvertisedDO.class, AppAdminJobCvRelRespVO::getJob);
+        wrapper.selectAssociation("person", PersonInfoDO.class, AppAdminHireJobCvRelRespVO::getPerson);
+        wrapper.selectAssociation("recommend", PersonInfoDO.class, AppAdminHireJobCvRelRespVO::getRecommendPerson);
+
+        // 投递的职位 inner 招聘职位
+        wrapper.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, JobCvRelDO::getJobId);
+        // 招聘职位的条件
+        wrapper.eqIfExists(JobCvRelDO::getJobId, reqVO.getJobId());
+        wrapper.eqIfExists(JobCvRelDO::getStatus, reqVO.getStatus());
+
+        // 投递的职位 inner 人才信息 (投递人)
+        wrapper.innerJoin(PersonInfoDO.class, "person", PersonInfoDO::getUserId, JobCvRelDO::getUserId);
+        // 人才相关的条件
+        wrapper.likeIfExists("person.name", reqVO.getName());
+
+        // 投递的职位 inner 人才信息 (推荐人)
+        wrapper.innerJoin(PersonInfoDO.class, "recommend", PersonInfoDO::getUserId, JobCvRelDO::getRecommendUserId);
+        // 人才相关的条件
+        wrapper.likeIfExists("recommend.name", reqVO.getName());
+
+        setUnfitCandidate(wrapper);
+
+        wrapper.orderByDesc(JobCvRelDO::getUpdateTime);
+        return selectJoinPage(reqVO, AppAdminHireJobCvRelRespVO.class, wrapper);
+    }
+
     default PageResult<AppHireJobCvRelRespVO> page(AppHireJobCvRelQueryReqVO reqVO, Long userId) {
         // 职位投递userId inner 招聘职位userId and 职位投递userId inner 人才信息userId
         MPJLambdaWrapperX<JobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
@@ -95,11 +127,11 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
 
         setUnfitCandidate(wrapper);
 
-
         wrapper.orderByDesc(JobCvRelDO::getUpdateTime);
         return selectJoinPage(reqVO, AppHireJobCvRelRespVO.class, wrapper);
     }
 
+
     /**
      * 过滤不合适的候选人
      **/
@@ -113,39 +145,6 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         wrapper.isNull(UnfitCandidateDO::getId);
     }
 
-    /**
-     * 获得赏金投递职位分页
-     **/
-    default PageResult<AppAdminHireJobCvRelRespVO> page(AppAdminHireJobCvRelPageReqVO reqVO) {
-        // 职位投递userId inner 招聘职位userId and 职位投递userId inner 人才信息userId
-        MPJLambdaWrapperX<JobCvRelDO> wrapper = new MPJLambdaWrapperX<>();
-        wrapper.selectAsClass(JobCvRelDO.class, AppAdminHireJobCvRelRespVO.class);
-        wrapper.selectAssociation(JobAdvertisedDO.class, AppAdminJobCvRelRespVO::getJob);
-        wrapper.selectAssociation("person", PersonInfoDO.class, AppAdminHireJobCvRelRespVO::getPerson);
-        wrapper.selectAssociation("recommend", PersonInfoDO.class, AppAdminHireJobCvRelRespVO::getRecommendPerson);
-
-        // 投递的职位 inner 招聘职位
-        wrapper.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, JobCvRelDO::getJobId);
-        // 招聘职位的条件
-        wrapper.eqIfExists(JobCvRelDO::getJobId, reqVO.getJobId());
-        wrapper.eqIfExists(JobCvRelDO::getStatus, reqVO.getStatus());
-
-        // 投递的职位 inner 人才信息 (投递人)
-        wrapper.innerJoin(PersonInfoDO.class, "person", PersonInfoDO::getUserId, JobCvRelDO::getUserId);
-        // 人才相关的条件
-        wrapper.likeIfExists("person.name", reqVO.getName());
-
-        // 投递的职位 inner 人才信息 (推荐人)
-        wrapper.innerJoin(PersonInfoDO.class, "recommend", PersonInfoDO::getUserId, JobCvRelDO::getRecommendUserId);
-        // 人才相关的条件
-        wrapper.likeIfExists("recommend.name", reqVO.getName());
-
-        setUnfitCandidate(wrapper);
-
-        wrapper.orderByDesc(JobCvRelDO::getUpdateTime);
-        return selectJoinPage(reqVO, AppAdminHireJobCvRelRespVO.class, wrapper);
-    }
-
 
     // 根据用户ID和职位id判断15天内是否有数据,如果有返回true
     default Boolean checkDataWithin15Day(Long userId, Long jobId) {
@@ -155,6 +154,16 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
                 .ge(JobCvRelDO::getCreateTime, LocalDateTime.now().minusDays(15))) > 0;
     }
 
+    // 根据用户id和职位id获取投递简历信息
+    default JobCvRelDO selectByUserIdAndJobId(Long userId, Long jobId) {
+        return selectOne(new LambdaQueryWrapperX<JobCvRelDO>()
+                .eq(JobCvRelDO::getUserId, userId)
+                .eq(JobCvRelDO::getJobId, jobId)
+                // 小于15天内投递的
+                .lt(JobCvRelDO::getCreateTime, LocalDateTime.now().minusDays(15))
+        );
+    }
+
     default List<JobCvRelDO> selectByJobIdList(List<Long> jobIdList) {
         return selectList(new LambdaQueryWrapperX<JobCvRelDO>()
                 .in(JobCvRelDO::getJobId, jobIdList)
@@ -167,13 +176,6 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
     }
 
 
-    /**
-     * 获取投递简历中的推荐人列表
-     **/
-    default List<AppAdminPersonSimpleRespVO> getRecommendUser() {
-        return null;
-    }
-
     /**
      * 查询用户被看过的简历
      **/

+ 56 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/scheduled/InterviewInviteScheduled.java

@@ -0,0 +1,56 @@
+package com.citu.module.menduner.system.scheduled;
+
+import cn.hutool.core.collection.CollUtil;
+import com.citu.framework.tenant.core.aop.TenantIgnore;
+import com.citu.module.menduner.system.controller.app.interview.vo.AppInterviewInviteRespVO;
+import com.citu.module.menduner.system.dal.dataobject.interview.InterviewInviteDO;
+import com.citu.module.menduner.system.dal.mysql.interview.InterviewInviteMapper;
+import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.util.StopWatch;
+
+import javax.annotation.Resource;
+import java.util.List;
+
+/**
+ * @author rayson
+ * 面试定时任务
+ * @create 2024/7/24 下午2:28
+ **/
+@Slf4j
+@Configuration
+@RequiredArgsConstructor
+public class InterviewInviteScheduled {
+
+    @Resource
+    private InterviewInviteMapper mapper;
+
+    /**
+     * 即将到达的面试提醒
+     * 每隔5分钟扫描一遍
+     **/
+    @TenantIgnore
+    @Scheduled(cron = "* 5 * * * ?")
+    public void approachingInterview() {
+        List<InterviewInviteDO> list = mapper.getApproachingInterviewList();
+
+        if (CollUtil.isEmpty(list)) {
+            return;
+        }
+
+        StopWatch stopWatch = new StopWatch();
+        stopWatch.start("即将到达的面试提醒");
+
+        for (InterviewInviteDO inviteDO : list) {
+            inviteDO.setStatus(InterviewInviteStatusEnum.APPROACHING_INTERVIEW.getStatus());
+            mapper.updateById(inviteDO);
+            // TODO 发送消息提醒
+
+        }
+        stopWatch.stop();
+        stopWatch.prettyPrint();
+    }
+}

+ 1 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/hire/HireCommissionRatioService.java

@@ -39,10 +39,9 @@ public interface HireCommissionRatioService {
     /**
      * 获得众聘-佣金比例
      *
-     * @param id 编号
      * @return 众聘-佣金比例
      */
-    HireCommissionRatioDO getHireCommissionRatio(Long id);
+    HireCommissionRatioDO getHireCommissionRatio();
 
     /**
      * 获得众聘-佣金比例分页

+ 7 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/hire/HireCommissionRatioServiceImpl.java

@@ -64,8 +64,8 @@ public class HireCommissionRatioServiceImpl implements HireCommissionRatioServic
     }
 
     @Override
-    public HireCommissionRatioDO getHireCommissionRatio(Long id) {
-        return mapper.selectById(id);
+    public HireCommissionRatioDO getHireCommissionRatio() {
+        return mapper.selectByOne();
     }
 
     @Override
@@ -75,7 +75,11 @@ public class HireCommissionRatioServiceImpl implements HireCommissionRatioServic
 
     @Override
     public HireCommissionRatioDO get() {
-        return mapper.selectByOne();
+        HireCommissionRatioDO ratio =  mapper.selectByOne();
+        if (null == ratio) {
+            throw exception(HIRE_COMMISSION_RATIO_NOT_EXISTS);
+        }
+        return ratio;
     }
 
     @Override

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/interview/InterviewInviteService.java

@@ -132,5 +132,17 @@ public interface InterviewInviteService {
      **/
     void feedback(AppAdminInterviewInviteFeedbackReqVO reqVO);
 
+    /**
+     * 结算
+     *
+     * @param id id
+     */
+    void settlement(Long id);
 
+    /**
+     * 入职
+     *
+     * @param id id
+     */
+    void entry(Long id);
 }

+ 48 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/interview/InterviewInviteServiceImpl.java

@@ -16,6 +16,7 @@ import com.citu.module.menduner.system.controller.base.interview.InterviewInvite
 import com.citu.module.menduner.system.dal.dataobject.interview.InterviewInviteDO;
 import com.citu.module.menduner.system.dal.mysql.interview.InterviewInviteMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
+import com.citu.module.menduner.system.enums.cv.ConversationStatusEnum;
 import com.citu.module.menduner.system.enums.interview.InterviewInviteStatusEnum;
 import com.citu.module.menduner.system.service.enterprise.bind.EnterpriseUserBindService;
 import com.citu.module.menduner.system.service.hire.HireCommissionRatioService;
@@ -28,7 +29,7 @@ import javax.annotation.Resource;
 import java.util.List;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.INTERVIEW_INVITE_NOT_EXISTS;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.*;
 
 /**
  * 面试邀请 Service 实现类
@@ -122,6 +123,7 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
 
     public void setStatus(InterviewInviteDO interviewInvite, InterviewInviteStatusEnum statusEnum) {
         interviewInvite.setStatus(statusEnum.getStatus());
+        interviewInvite.setConversationStatus(ConversationStatusEnum.INVITE.getStatus());
     }
 
     @Override
@@ -208,4 +210,49 @@ public class InterviewInviteServiceImpl implements InterviewInviteService {
         interviewInvite.setReason(reqVO.getReason());
         mapper.updateById(interviewInvite);
     }
+
+    /** 状态检查 */
+    public void checkStatusIsCompleted(InterviewInviteDO interviewInvite) {
+        if (Integer.parseInt(interviewInvite.getStatus())
+                < Integer.parseInt(InterviewInviteStatusEnum.COMPLETED.getStatus())) {
+            // 状态不是面试完成后的
+            throw exception(INTERVIEW_INVITE_STATUS_NOT_COMPLETED);
+        }
+
+    }
+
+    @Override
+    @DSTransactional
+    public void entry(Long id) {
+        InterviewInviteDO interviewInvite = validateInterviewInviteExists(id);
+
+        checkStatusIsCompleted(interviewInvite);
+        // 标记为入职
+        interviewInvite.setStatus(ConversationStatusEnum.ENTRY.getStatus());
+        mapper.updateById(interviewInvite);
+
+        //TODO 发送推送消息
+    }
+
+    @Override
+    @DSTransactional
+    public void settlement(Long id) {
+
+        InterviewInviteDO interviewInvite = validateInterviewInviteExists(id);
+
+        checkStatusIsCompleted(interviewInvite);
+
+        if(!interviewInvite.getConversationStatus()
+                .equals(ConversationStatusEnum.ENTRY.getStatus())) {
+            // 不是已入职状态
+            throw exception(INTERVIEW_INVITE_STATUS_NOT_ENTRY);
+        }
+        // 标记为结算
+        interviewInvite.setStatus(ConversationStatusEnum.SETTLEMENT.getStatus());
+        mapper.updateById(interviewInvite);
+
+        //TODO 发送推送消息
+    }
+
+
 }

+ 0 - 8
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/HireJobIntegrationService.java

@@ -23,14 +23,6 @@ public interface HireJobIntegrationService {
      **/
     PageResult<AppAdminHireJobCvRelRespVO> page(AppAdminHireJobCvRelPageReqVO reqVO);
 
-
-    /**
-     * 获取推荐人的用户列表
-     * @return PageResult<AppAdminHireJobCvRelRespVO>
-     **/
-    List<AppAdminPersonSimpleRespVO> getRecommendUser();
-
-
     /**
      * 结算
      *

+ 21 - 35
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/HireJobIntegrationServiceImpl.java

@@ -1,22 +1,18 @@
 package com.citu.module.menduner.system.service.job;
 
-import cn.hutool.core.collection.CollUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.module.menduner.system.controller.appadmin.person.hire.AppAdminHireJobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.appadmin.person.hire.AppAdminHireJobCvRelRespVO;
-import com.citu.module.menduner.system.controller.appadmin.person.vo.AppAdminPersonSimpleRespVO;
 import com.citu.module.menduner.system.dal.dataobject.hire.HireCommissionRatioDO;
+import com.citu.module.menduner.system.dal.dataobject.interview.InterviewInviteDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
-import com.citu.module.menduner.system.dal.mysql.interview.InterviewInviteMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
 import com.citu.module.menduner.system.dal.mysql.job.JobCvRelMapper;
 import com.citu.module.menduner.system.enums.MathOperationEnum;
 import com.citu.module.menduner.system.enums.account.BalanceBizTypeEnum;
 import com.citu.module.menduner.system.enums.account.PointBizTypeEnum;
-import com.citu.module.menduner.system.enums.cv.ConversationStatusEnum;
-import com.citu.module.menduner.system.enums.cv.JobCvRelStatusEnum;
 import com.citu.module.menduner.system.service.hire.HireCommissionRatioService;
 import com.citu.module.menduner.system.service.interview.InterviewInviteService;
 import com.citu.module.menduner.system.service.record.EnterpriseAccountRecordService;
@@ -28,10 +24,8 @@ import org.springframework.validation.annotation.Validated;
 import javax.annotation.Resource;
 import java.math.BigDecimal;
 import java.math.RoundingMode;
-import java.util.List;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.HIRE_COMMISSION_RATIO_NOT_EXISTS;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.HIRE_JOB_CV_REL_NOT_EXISTS;
 
 @Slf4j
@@ -39,14 +33,15 @@ import static com.citu.module.menduner.system.enums.ErrorCodeConstants.HIRE_JOB_
 @Validated
 public class HireJobIntegrationServiceImpl implements HireJobIntegrationService {
 
-
     @Resource
-    private JobCvRelMapper jobCvRelMapper;
-
+    private JobCvRelService jobCvRelService;
 
     @Resource
     private JobAdvertisedMapper jobAdvertisedMapper;
 
+    @Resource
+    private InterviewInviteService interviewInviteService;
+
     @Resource
     private HireCommissionRatioService ratioService;
 
@@ -59,34 +54,25 @@ public class HireJobIntegrationServiceImpl implements HireJobIntegrationService
 
     @Override
     public PageResult<AppAdminHireJobCvRelRespVO> page(AppAdminHireJobCvRelPageReqVO reqVO) {
-        PageResult<AppAdminHireJobCvRelRespVO> pageResult = jobCvRelMapper.page(reqVO);
-        if (CollUtil.isEmpty(pageResult.getList())) {
-            return PageResult.empty();
-        }
-        return pageResult;
-    }
-
-    @Override
-    public List<AppAdminPersonSimpleRespVO> getRecommendUser() {
-        return jobCvRelMapper.getRecommendUser();
+        return jobCvRelService.page(reqVO);
     }
 
     @Override
     @DSTransactional
     public boolean settlement(Long id) {
-        JobCvRelDO cv = jobCvRelMapper.selectById(id);
-        if (null == cv) {
-            throw exception(HIRE_JOB_CV_REL_NOT_EXISTS);
-        }
-        cv.setStatus(ConversationStatusEnum.SETTLEMENT.getStatus());
-        jobCvRelMapper.updateById(cv);
+
+        InterviewInviteDO interviewInvite = interviewInviteService.getInterviewInvite(id);
+
+        // 标记结算
+        interviewInviteService.settlement(id);
+
+        // 获取 面试的求职者投递的简历信息
+        JobCvRelDO cv = jobCvRelService
+                .selectByUserIdAndJobId(interviewInvite.getUserId(), interviewInvite.getJobId());
 
         // 猎头、 推荐人、投递人
         // 获取比例配置
         HireCommissionRatioDO ratio = ratioService.get();
-        if (null == ratio) {
-            throw exception(HIRE_COMMISSION_RATIO_NOT_EXISTS);
-        }
 
         JobAdvertisedDO job = jobAdvertisedMapper.selectById(cv.getJobId());
 
@@ -124,7 +110,7 @@ public class HireJobIntegrationServiceImpl implements HireJobIntegrationService
                 .divide(totalRate, 2, RoundingMode.HALF_UP);
 
         // 猎头 (平台自己)
-        if(headhuntPrice.compareTo(BigDecimal.ZERO)>0) {
+        if (headhuntPrice.compareTo(BigDecimal.ZERO) > 0) {
             enterpriseAccountRecordService.createBalanceRecord(
                     1L,
                     1L,
@@ -137,7 +123,7 @@ public class HireJobIntegrationServiceImpl implements HireJobIntegrationService
         }
 
         // 推荐人
-        if(headhuntPrice.compareTo(BigDecimal.ZERO)>0) {
+        if (headhuntPrice.compareTo(BigDecimal.ZERO) > 0) {
             userAccountRecordService.createBalanceRecord(
                     cv.getRecommendUserId(),
                     BalanceBizTypeEnum.RECOMMENDED_POSITIONS.getName(),
@@ -149,7 +135,7 @@ public class HireJobIntegrationServiceImpl implements HireJobIntegrationService
         }
 
         // 投递人
-        if(headhuntPrice.compareTo(BigDecimal.ZERO)>0) {
+        if (headhuntPrice.compareTo(BigDecimal.ZERO) > 0) {
             userAccountRecordService.createBalanceRecord(
                     cv.getUserId(),
                     BalanceBizTypeEnum.DELIVERY_PERSON.getName(),
@@ -189,7 +175,7 @@ public class HireJobIntegrationServiceImpl implements HireJobIntegrationService
         headhuntPoint += remainingPoint;
 
         // 猎头 (平台自己)
-        if(headhuntPoint>0) {
+        if (headhuntPoint > 0) {
             enterpriseAccountRecordService.createPointRecord(
                     1L,
                     1L,
@@ -202,7 +188,7 @@ public class HireJobIntegrationServiceImpl implements HireJobIntegrationService
         }
 
         // 推荐人
-        if(headhuntPoint>0) {
+        if (headhuntPoint > 0) {
             userAccountRecordService.createPointRecord(
                     cv.getRecommendUserId(),
                     "",
@@ -215,7 +201,7 @@ public class HireJobIntegrationServiceImpl implements HireJobIntegrationService
         }
 
         // 投递人
-        if(headhuntPoint>0) {
+        if (headhuntPoint > 0) {
             userAccountRecordService.createPointRecord(
                     cv.getUserId(),
                     "",

+ 19 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelService.java

@@ -6,6 +6,8 @@ import com.citu.module.menduner.system.controller.app.job.hire.AppHireJobCvRelRe
 import com.citu.module.menduner.system.controller.app.job.hire.AppHireJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.app.job.vo.AppJobCvRelReqVO;
 import com.citu.module.menduner.system.controller.appadmin.person.cv.AppAdminJobCvRelInviteReqVO;
+import com.citu.module.menduner.system.controller.appadmin.person.hire.AppAdminHireJobCvRelPageReqVO;
+import com.citu.module.menduner.system.controller.appadmin.person.hire.AppAdminHireJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.base.CommonRespVO;
 import com.citu.module.menduner.system.controller.base.job.JobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.base.job.JobCvRelSaveReqVO;
@@ -59,6 +61,16 @@ public interface JobCvRelService {
      */
     PageResult<JobCvRelDO> getJobCvRelPage(JobCvRelPageReqVO pageReqVO);
 
+    /**
+     * 根据用户id和招聘职位id查询投递简历
+     *
+     * @param userId 用户id
+     * @param jobId  职位id
+     * @return 投递简历
+     */
+    JobCvRelDO selectByUserIdAndJobId(Long userId, Long jobId);
+
+
     // ========== 求职端 ==========
 
     /**
@@ -102,4 +114,11 @@ public interface JobCvRelService {
      * @param id 投递简历id
      */
     boolean look(Long id);
+
+    /**
+     * 获取发布的众聘职位分页
+     * @param reqVO 条件
+     * @return PageResult<AppAdminHireJobCvRelRespVO>
+     **/
+    PageResult<AppAdminHireJobCvRelRespVO> page(AppAdminHireJobCvRelPageReqVO reqVO);
 }

+ 16 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/job/JobCvRelServiceImpl.java

@@ -9,6 +9,8 @@ import com.citu.module.menduner.system.controller.app.job.hire.AppHireJobCvRelRe
 import com.citu.module.menduner.system.controller.app.job.hire.AppHireJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.app.job.vo.AppJobCvRelReqVO;
 import com.citu.module.menduner.system.controller.appadmin.person.cv.AppAdminJobCvRelInviteReqVO;
+import com.citu.module.menduner.system.controller.appadmin.person.hire.AppAdminHireJobCvRelPageReqVO;
+import com.citu.module.menduner.system.controller.appadmin.person.hire.AppAdminHireJobCvRelRespVO;
 import com.citu.module.menduner.system.controller.base.CommonRespVO;
 import com.citu.module.menduner.system.controller.base.job.JobCvRelPageReqVO;
 import com.citu.module.menduner.system.controller.base.job.JobCvRelSaveReqVO;
@@ -47,8 +49,6 @@ public class JobCvRelServiceImpl implements JobCvRelService {
     @Resource
     private JobAdvertisedService jobAdvertisedService;
 
-    @Resource
-    private InterviewInviteService interviewInviteService;
 
     @Override
     public Long createJobCvRel(JobCvRelSaveReqVO createReqVO) {
@@ -94,6 +94,15 @@ public class JobCvRelServiceImpl implements JobCvRelService {
         return jobCvRelMapper.selectPage(pageReqVO);
     }
 
+    @Override
+    public JobCvRelDO selectByUserIdAndJobId(Long userId, Long jobId) {
+        JobCvRelDO cv = jobCvRelMapper.selectByUserIdAndJobId(userId, jobId);
+        if (null == cv) {
+            throw exception(HIRE_JOB_CV_REL_NOT_EXISTS);
+        }
+        return cv;
+    }
+
     @Override
     @DSTransactional
     public void send(AppJobCvRelReqVO reqVO) {
@@ -195,4 +204,9 @@ public class JobCvRelServiceImpl implements JobCvRelService {
         jobCvRel.setStatus(JobCvRelStatusEnum.LOOK.getStatus());
         return jobCvRelMapper.updateById(jobCvRel) == 1;
     }
+
+    @Override
+    public PageResult<AppAdminHireJobCvRelRespVO> page(AppAdminHireJobCvRelPageReqVO reqVO) {
+        return jobCvRelMapper.page(reqVO);
+    }
 }

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java

@@ -104,7 +104,8 @@ public class PersonInfoServiceImpl implements PersonInfoService {
         Long userId = LoginUserContext.getUserId();
         PersonInfoDO info = personInfoMapper.selectOne(PersonInfoDO::getUserId, userId);
         if (null == info) {
-            throw exception(MDE_USER_INFO_NOT_EXISTS);
+            personInfoMapper.insert(PersonInfoDO.builder().userId(userId).avatar(avatar).build());
+            return;
         }
         info.setAvatar(avatar);
         personInfoMapper.updateById(info);

+ 3 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties

@@ -168,6 +168,7 @@
 1_100_021_008=Unified social credit code cannot be empty
 1_100_021_009=Enterprise registered
 1_100_021_010=The enterprise has applied for review, please do not resubmit
+1_100_021_011=Incorrect format of unified social credit code
 # ========== 企业地址 1_100_022_001 ==========
 1_100_022_001=The company address does not exist
 # ========== 企业登录用户 1_100_023_000 ==========
@@ -230,6 +231,8 @@
 1_100_033_008=The contact phone number of the inviting party cannot be empty
 1_100_033_009=Interview address cannot be empty
 1_100_033_010=Interview status cannot be empty
+1_100_033_011=The current interview has not been completed
+1_100_033_012=The current employee has not yet joined and cannot be settled
 # ========== 企业用户申请 1_100_034_000 ==========
 1_100_034_001=Enterprise user application does not exist
 1_100_034_002=User application has been approved

+ 3 - 0
menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

@@ -168,6 +168,7 @@
 1_100_021_008=统一社会信用代码不能为空
 1_100_021_009=企业已注册
 1_100_021_010=企业已申请审核中,请勿重复提交
+1_100_021_011=统一社会信用代码格式不正确
 # ========== 企业地址 1_100_022_001 ==========
 1_100_022_001=企业地址不存在
 # ========== 企业登录用户 1_100_023_000 ==========
@@ -230,6 +231,8 @@
 1_100_033_008=邀请方联系电话不能为空
 1_100_033_009=面试地址不能为空
 1_100_033_010=面试状态不能为空
+1_100_033_011=当前面试未完成
+1_100_033_012=当前员工还未入职,无法结算
 # ========== 企业用户申请 1_100_034_000 ==========
 1_100_034_001=企业用户申请不存在
 1_100_034_002=用户申请已审批