瀏覽代碼

1、优化统计的查询条件
2、修改注册企业的效验

rayson 10 月之前
父節點
當前提交
9a784da7bc

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/analysis/AnalysisBaseReqVO.java

@@ -13,12 +13,13 @@ import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DA
 @Data
 public class AnalysisBaseReqVO extends PageParam {
 
+    public static final String ALL = "-1";
     public static final String TYPE_RECENT_7_DAYS = "0";
     public static final String TYPE_LAST_MONTH = "1";
     public static final String TYPE_LAST_QUARTER = "2";
     public static final String TYPE_CUSTOM = "99";
 
-    @Schema(description = "统计类型 0最近7天|1上个月|2上季度|99自定义",required = true)
+    @Schema(description = "统计类型 0最近7天|1上个月|2上季度|99自定义", required = true)
     private String type;
 
     @Schema(description = "自定义时间范围")

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/job/JobAdvertisedReqVO.java

@@ -37,7 +37,7 @@ public class JobAdvertisedReqVO {
     private String eduType;
 
     @Schema(description = "是否雇佣 (众聘)")
-    private boolean hire;
+    private Boolean hire;
 
     @Schema(description = "职位状态", example = "2")
     private String status;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/job/JobAdvertisedDO.java

@@ -119,7 +119,7 @@ public class JobAdvertisedDO extends TenantBaseDO {
     /**
      * 职位状态
      * <p>
-     * 枚举 {@link TODO menduner_status 对应的类}
+     * 枚举 {@link TODO menduner_job_status 对应的类}
      */
     private String status;
 

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/es/job/ESJobAdvertisedMergeDO.java

@@ -133,7 +133,7 @@ public class ESJobAdvertisedMergeDO extends ESBaseDO {
     /**
      * 职位状态
      * <p>
-     * 枚举 {@link TODO menduner_status 对应的类}
+     * 枚举 {@link TODO menduner_job_status 对应的类}
      */
     @Field(type = FieldType.Auto)
     private String status;

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

@@ -182,18 +182,20 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
         return selectJoinList(InterviewInviteDO.class, query);
     }
 
-    /** 获取推荐职位面试会话状态数量 **/
+    /**
+     * 获取推荐职位面试会话状态数量
+     **/
     default List<CommonRespVO> getRecommendCount(Long userId) {
         MPJLambdaWrapperX<InterviewInviteDO> wrapper = new MPJLambdaWrapperX<>();
         wrapper.
                 selectAs(InterviewInviteDO::getConversationStatus, "`key`");
         wrapper.selectCount(InterviewInviteDO::getId, CommonRespVO::getValue);
         wrapper.innerJoin(JobCvRelDO.class, on -> on
-                        .eq(JobCvRelDO::getJobId, InterviewInviteDO::getJobId)
-                        .eq(JobCvRelDO::getUserId, InterviewInviteDO::getUserId)
+                .eq(JobCvRelDO::getJobId, InterviewInviteDO::getJobId)
+                .eq(JobCvRelDO::getUserId, InterviewInviteDO::getUserId)
         );
         wrapper.eq(JobCvRelDO::getType, "1");
-        wrapper.eq(JobCvRelDO::getRecommendUserId,userId);
+        wrapper.eq(JobCvRelDO::getRecommendUserId, userId);
         wrapper.in(InterviewInviteDO::getConversationStatus,
                 ConversationStatusEnum.ENTRY.getStatus(), ConversationStatusEnum.SETTLEMENT.getStatus());
         wrapper.groupBy(InterviewInviteDO::getConversationStatus);
@@ -225,7 +227,7 @@ public interface InterviewInviteMapper extends BaseMapperX<InterviewInviteDO> {
         query.eqIfPresent(InterviewInviteDO::getJobId, reqVO.getJobId());
         query.eqIfPresent(InterviewInviteDO::getStatus, status);
         query.eqIfPresent(InterviewInviteDO::getConversationStatus, ConversationStatusEnum.INVITE.getStatus());
-        query.between(JobCvRelDO::getCreateTime, startTime, endTime);
+        query.between(null != startTime && null != endTime, JobCvRelDO::getCreateTime, startTime, endTime);
 
         query.orderByDesc(InterviewInviteDO::getUpdateTime);
 

+ 4 - 6
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/job/JobAdvertisedMapper.java

@@ -70,7 +70,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
                 .eqIfPresent(JobAdvertisedDO::getType, reqVO.getType())
                 .eqIfPresent(JobAdvertisedDO::getExpType, reqVO.getExpType())
                 .eqIfPresent(JobAdvertisedDO::getEduType, reqVO.getEduType())
-                .eqIfPresent(JobAdvertisedDO::getHire, reqVO.isHire())
+                .eqIfPresent(JobAdvertisedDO::getHire, reqVO.getHire())
                 .eqIfPresent(JobAdvertisedDO::getStatus, reqVO.getStatus())
                 .orderByDesc(JobAdvertisedDO::getId));
     }
@@ -225,7 +225,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
                         .eq(MdeVisitsDO::getType, MdeVisitsEnum.POSITION_PUBLISH_CLICK.getType())
         );
 
-        query.between(MdeVisitsDO::getUpdateTime, startTime, endTime);
+        query.between(null != startTime && null != endTime,MdeVisitsDO::getUpdateTime, startTime, endTime);
 
         query.groupBy(JobAdvertisedDO::getId);
         query.orderByDesc(MdeVisitsDO::getUpdateTime);
@@ -254,7 +254,7 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
                         .eq(MdeVisitsDO::getType, MdeVisitsEnum.POSITION_PUBLISH_CLICK.getType())
         );
 
-        query.between(MdeVisitsDO::getUpdateTime, startTime, endTime);
+        query.between(null != startTime && null != endTime,MdeVisitsDO::getUpdateTime, startTime, endTime);
 
         Map<String, Object> result = selectJoinMap(query);
         if (null == result) {
@@ -267,16 +267,14 @@ public interface JobAdvertisedMapper extends BaseMapperX<JobAdvertisedDO> {
            RecruitAnalysisReqVO reqVO, LocalDateTime startTime, LocalDateTime endTime) {
        MPJLambdaWrapperX<JobAdvertisedDO> query = new MPJLambdaWrapperX<>();
        query.selectAll(JobAdvertisedDO.class);
-       query.selectCount(JobAdvertisedDO::getId, RecruitJobAnalysisRespVO::getNum);
 
        query.eqIfPresent(JobAdvertisedDO::getEnterpriseId, reqVO.getEnterpriseId());
        query.inIfPresent(JobAdvertisedDO::getUserId, reqVO.getUserId());
        query.eqIfPresent(JobAdvertisedDO::getId, reqVO.getJobId());
        query.eqIfPresent(JobAdvertisedDO::getStatus, reqVO.getJobStatus());
 
-       query.between(JobAdvertisedDO::getCreateTime, startTime, endTime);
+       query.betweenIfPresent(JobAdvertisedDO::getCreateTime, startTime, endTime);
 
-       query.groupBy(JobAdvertisedDO::getStatus);
        query.orderByDesc(JobAdvertisedDO::getUpdateTime);
 
        return selectJoinPage(reqVO, RecruitJobAnalysisRespVO.class, query);

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

@@ -231,7 +231,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         wrapper.selectAs(PersonInfoDO::getSex, "`key`");
         wrapper.selectCount(JobCvRelDO::getId, CommonRespVO::getValue);
         wrapper.innerJoin(PersonInfoDO.class, PersonInfoDO::getUserId, JobCvRelDO::getUserId);
-        wrapper.between(JobCvRelDO::getCreateTime, startTime, endTime);
+        wrapper.betweenIfPresent(JobCvRelDO::getCreateTime, startTime, endTime);
 
         wrapper.eqIfPresent(JobCvRelDO::getJobId, reqVO.getJobId());
         wrapper.eqIfPresent(JobCvRelDO::getEnterpriseId, reqVO.getEnterpriseId());
@@ -262,7 +262,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
 
 
         wrapper.innerJoin(PersonInfoDO.class, PersonInfoDO::getUserId, JobCvRelDO::getUserId);
-        wrapper.between(JobCvRelDO::getCreateTime, startTime, endTime);
+        wrapper.betweenIfPresent(JobCvRelDO::getCreateTime, startTime, endTime);
 
         wrapper.eqIfPresent(JobCvRelDO::getJobId, reqVO.getJobId());
         wrapper.eqIfPresent(JobCvRelDO::getEnterpriseId, reqVO.getEnterpriseId());
@@ -282,7 +282,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         wrapper.selectCount(JobCvRelDO::getId, CommonRespVO::getValue);
 
         wrapper.innerJoin(PersonInfoDO.class, PersonInfoDO::getUserId, JobCvRelDO::getUserId);
-        wrapper.between(JobCvRelDO::getCreateTime, startTime, endTime);
+        wrapper.betweenIfPresent(JobCvRelDO::getCreateTime, startTime, endTime);
 
         wrapper.eqIfPresent(JobCvRelDO::getJobId, reqVO.getJobId());
         wrapper.eqIfPresent(JobCvRelDO::getEnterpriseId, reqVO.getEnterpriseId());
@@ -302,7 +302,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         wrapper.selectCount(JobCvRelDO::getId, CommonRespVO::getValue);
 
         wrapper.innerJoin(PersonInfoDO.class, PersonInfoDO::getUserId, JobCvRelDO::getUserId);
-        wrapper.between(JobCvRelDO::getCreateTime, startTime, endTime);
+        wrapper.betweenIfPresent(JobCvRelDO::getCreateTime, startTime, endTime);
 
         wrapper.eqIfPresent(JobCvRelDO::getJobId, reqVO.getJobId());
         wrapper.eqIfPresent(JobCvRelDO::getEnterpriseId, reqVO.getEnterpriseId());
@@ -333,7 +333,7 @@ public interface JobCvRelMapper extends BaseMapperX<JobCvRelDO> {
         wrapper.inIfPresent(JobCvRelDO::getPublishUserId, reqVO.getUserId());
         wrapper.eqIfPresent(JobCvRelDO::getJobId, reqVO.getJobId());
         wrapper.eqIfPresent(JobCvRelDO::getStatus, status);
-        wrapper.between(JobCvRelDO::getCreateTime, startTime, endTime);
+        wrapper.betweenIfPresent(JobCvRelDO::getCreateTime, startTime, endTime);
 
         // 投递的职位 inner 招聘职位
         wrapper.innerJoin(JobAdvertisedDO.class, JobAdvertisedDO::getId, JobCvRelDO::getJobId);

+ 19 - 12
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/register/EnterpriseRegisterServiceImpl.java

@@ -15,7 +15,6 @@ import com.citu.module.menduner.system.convert.EnterpriseConvert;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseBusinessDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseRegisterDO;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserBindDO;
-import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseBusinessMapper;
 import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseRegisterMapper;
 import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import com.citu.module.menduner.system.enums.enterprise.EnterpriseRegisterAuditStatusEnum;
@@ -107,10 +106,12 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
             // 已审批
             throw exception(MDE_ENTERPRISE_REGISTER_AUDITING_APPROVED);
         }
-        // 查询社会统一信用代码是否存在
-        EnterpriseBusinessDO enterpriseBusinessDO = businessService.getByCode(enterpriseRegister.getCode());
-        if (null != enterpriseBusinessDO) {
-            throw exception(MDE_ENTERPRISE_REGISTER_DUPLICATE);
+        if (StringUtils.hasText(enterpriseRegister.getCode())) {
+            // 查询社会统一信用代码是否存在
+            EnterpriseBusinessDO enterpriseBusinessDO = businessService.getByCode(enterpriseRegister.getCode());
+            if (null != enterpriseBusinessDO) {
+                throw exception(MDE_ENTERPRISE_REGISTER_DUPLICATE);
+            }
         }
 
         enterpriseRegister.setStatus(EnterpriseRegisterAuditStatusEnum.APPROVED.getStatus());
@@ -123,7 +124,7 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
                 enterpriseRegister.getPhone(), enterpriseRegister.getPrepare());
 
         // 增加企业工商信息
-        if(StringUtils.hasText(enterpriseRegister.getCode())) {
+        if (StringUtils.hasText(enterpriseRegister.getCode())) {
             // 不为空时添加工商信息
             businessService.createSimpleBusiness(enterpriseId, enterpriseRegister.getCode(), enterpriseRegister.getName());
         }
@@ -174,7 +175,9 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
         mapper.insert(register);
     }
 
-    /** 效验企业申请注册参数 **/
+    /**
+     * 效验企业申请注册参数
+     **/
     public void validateApply(AppEnterpriseRegisterReqVO reqVO) {
         if (null == reqVO.getPrepare() || !reqVO.getPrepare()) {
             // 非筹备中,参数一定要填
@@ -191,7 +194,7 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
                 throw exception(MDE_ENTERPRISE_REGISTER_BUSINESS_LICENSE_URL_NOT_NULL);
             }
             reqVO.setPrepare(false);
-        }else {
+        } else {
             // 筹备中 可以不填,填了就效验
             if (StringUtils.hasText(reqVO.getCode())) {
                 if (reqVO.getCode().length() != 18) {
@@ -199,7 +202,7 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
                     throw exception(MDE_ENTERPRISE_REGISTER_CREDIT_CODE_FORMAT_ERROR);
                 }
             }
-            if(StringUtils.hasText(reqVO.getBusinessLicenseUrl())) {
+            if (StringUtils.hasText(reqVO.getBusinessLicenseUrl())) {
                 if (!ValidationUtils.isURL(reqVO.getBusinessLicenseUrl())) {
                     // 营业执照图片
                     throw exception(MDE_ENTERPRISE_REGISTER_BUSINESS_LICENSE_URL_NOT_NULL);
@@ -214,9 +217,13 @@ public class EnterpriseRegisterServiceImpl implements EnterpriseRegisterService
             // 存在审批中的申请
             throw exception(MDE_ENTERPRISE_REGISTER_APPLY_DUPLICATE);
         }
-        if (mapper.existsByCode(null, reqVO.getCode())) {
-            // 重复
-            throw exception(MDE_ENTERPRISE_REGISTER_CREDIT_CODE_DUPLICATE);
+
+        // 兼容筹备中提交统一社会信用代码的情况
+        if (StringUtils.hasText(reqVO.getCode())) {
+            if (mapper.existsByCode(null, reqVO.getCode())) {
+                // 重复
+                throw exception(MDE_ENTERPRISE_REGISTER_CREDIT_CODE_DUPLICATE);
+            }
         }
     }
 

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/util/RecruitAnalysisUtils.java

@@ -47,6 +47,10 @@ public class RecruitAnalysisUtils {
         LocalDateTime[] dateTimeRange = new LocalDateTime[2];
         LocalDateTime now = LocalDateTime.now();
         switch (reqVO.getType()) {
+            case AnalysisBaseReqVO.ALL:
+                dateTimeRange[0] = null;
+                dateTimeRange[1] = null;
+                break;
             case AnalysisBaseReqVO.TYPE_RECENT_7_DAYS:
                 // 最新7天内
                 dateTimeRange[0] = now.minusDays(7);