Kaynağa Gözat

1、增加简历技能的逻辑限制

rayson 1 yıl önce
ebeveyn
işleme
d2d5bf7262
14 değiştirilmiş dosya ile 34 ekleme ve 11 silme
  1. 1 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  2. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillPageReqVO.java
  3. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillRespVO.java
  4. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillSaveReqVO.java
  5. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonSkillRespVO.java
  6. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonSkillSaveReqVO.java
  7. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonSkillDO.java
  8. 5 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/cvattachment/CvAttachmentMapper.java
  9. 8 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonSkillMapper.java
  10. 6 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/cvattachment/CvAttachmentServiceImpl.java
  11. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImpl.java
  12. 5 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillServiceImpl.java
  13. 1 0
      menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties
  14. 1 0
      menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

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

@@ -39,6 +39,7 @@ public interface ErrorCodeConstants {
 
     // ========== 简历附件 1_100_005_000 ==========
     ErrorCode MDE_CV_ATTACHMENT_NOT_EXISTS = new ErrorCode(1_100_005_001, "简历附件不存在");
+    ErrorCode MDE_CV_ATTACHMENT_MAX_EXISTS = new ErrorCode(1_100_005_002, "简历附件最多上传5份");
 
     // ========== 教育经历 1_100_006_000 ==========
     ErrorCode MDE_EDU_EXP_NOT_EXISTS = new ErrorCode(1_100_006_001, "教育经历不存在");

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillPageReqVO.java

@@ -18,7 +18,7 @@ public class PersonSkillPageReqVO extends PageParam {
     private Long userId;
 
     @Schema(description = "技能id", example = "1")
-    private String skillId;
+    private Long skillId;
 
     @Schema(description = "技能等级(0一般 1良好 2熟练 3 精通)")
     private String level;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillRespVO.java

@@ -25,7 +25,7 @@ public class PersonSkillRespVO {
 
     @Schema(description = "技能id", example = "1")
     @ExcelProperty("技能id")
-    private String skillId;
+    private Long skillId;
 
     @Schema(description = "技能等级(0一般 1良好 2熟练 3 精通)")
     @ExcelProperty(value = "技能等级(0一般 1良好 2熟练 3 精通)", converter = DictConvert.class)

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/vo/skill/PersonSkillSaveReqVO.java

@@ -17,7 +17,7 @@ public class PersonSkillSaveReqVO {
     private Long userId;
 
     @Schema(description = "技能id", example = "1")
-    private String skillId;
+    private Long skillId;
 
     @Schema(description = "技能等级(0一般 1良好 2熟练 3 精通)")
     private String level;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonSkillRespVO.java

@@ -14,7 +14,7 @@ public class AppPersonSkillRespVO {
     private Long id;
 
     @Schema(description = "技能id", example = "1")
-    private String skillId;
+    private Long skillId;
 
     @Schema(description = "技能等级(0一般 1良好 2熟练 3 精通)")
     private String level;

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonSkillSaveReqVO.java

@@ -15,7 +15,7 @@ public class AppPersonSkillSaveReqVO {
 
     @NotBlank(message = "{1_100_013_002}")
     @Schema(description = "技能id", example = "1")
-    private String skillId;
+    private Long skillId;
 
     @Schema(description = "技能等级(0一般 1良好 2熟练 3 精通)")
     private String level;

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

@@ -34,7 +34,7 @@ public class PersonSkillDO extends TenantBaseDO {
     /**
      * 技能id
      */
-    private String skillId;
+    private Long skillId;
     /**
      * 技能等级(0一般 1良好 2熟练 3 精通)
      * <p>

+ 5 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/cvattachment/CvAttachmentMapper.java

@@ -30,4 +30,9 @@ public interface CvAttachmentMapper extends BaseMapperX<CvAttachmentDO> {
         return selectList(new LambdaQueryWrapperX<CvAttachmentDO>()
                 .eq(CvAttachmentDO::getUserId, userId));
     }
+
+    default Long countByUserId(Long userId) {
+        return selectCount(new LambdaQueryWrapperX<CvAttachmentDO>()
+                .eq(CvAttachmentDO::getUserId, userId));
+    }
 }

+ 8 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonSkillMapper.java

@@ -30,7 +30,7 @@ public interface PersonSkillMapper extends BaseMapperX<PersonSkillDO> {
                 .eqIfPresent(PersonSkillDO::getUserId, userId));
     }
 
-    default PersonSkillDO selectByUserIdAndSkillId(Long userId,String skillId) {
+    default PersonSkillDO selectByUserIdAndSkillId(Long userId,Long skillId) {
         return selectOne(new LambdaQueryWrapperX<PersonSkillDO>()
                 .eqIfPresent(PersonSkillDO::getSkillId, skillId)
                 .eqIfPresent(PersonSkillDO::getUserId, userId));
@@ -42,4 +42,11 @@ public interface PersonSkillMapper extends BaseMapperX<PersonSkillDO> {
                 .eqIfPresent(PersonSkillDO::getUserId, userId));
     }
 
+    default boolean existByUserIdAndSkillId(Long userId,Long id, Long skillId) {
+        return selectCount(new LambdaQueryWrapperX<PersonSkillDO>()
+                .eqIfPresent(PersonSkillDO::getId, id)
+                .eqIfPresent(PersonSkillDO::getUserId, userId)
+                .eqIfPresent(PersonSkillDO::getSkillId, skillId)) > 0;
+    }
+
 }

+ 6 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/cvattachment/CvAttachmentServiceImpl.java

@@ -5,9 +5,7 @@ import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.system.controller.admin.cvattachment.vo.CvAttachmentPageReqVO;
 import com.citu.module.menduner.system.controller.admin.cvattachment.vo.CvAttachmentSaveReqVO;
-import com.citu.module.menduner.system.controller.app.person.cvattachment.AppCvAttachmentRespVO;
 import com.citu.module.menduner.system.controller.app.person.cvattachment.AppCvAttachmentSaveReqVO;
-import com.citu.module.menduner.system.convert.CvAttachmentConvert;
 import com.citu.module.menduner.system.dal.dataobject.cvattachment.CvAttachmentDO;
 import com.citu.module.menduner.system.dal.mysql.cvattachment.CvAttachmentMapper;
 import org.springframework.stereotype.Service;
@@ -18,6 +16,7 @@ import java.util.List;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.citu.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_CV_ATTACHMENT_MAX_EXISTS;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_CV_ATTACHMENT_NOT_EXISTS;
 
 /**
@@ -77,9 +76,13 @@ public class CvAttachmentServiceImpl implements CvAttachmentService {
     @Override
     @DSTransactional
     public void create(AppCvAttachmentSaveReqVO reqVO) {
+        Long userId = getLoginUserId();
+        if (cvAttachmentMapper.countByUserId(userId) > 5) {
+            throw exception(MDE_CV_ATTACHMENT_MAX_EXISTS);
+        }
         // 插入
         CvAttachmentDO cvAttachment = BeanUtils.toBean(reqVO, CvAttachmentDO.class);
-        cvAttachment.setUserId(getLoginUserId());
+        cvAttachment.setUserId(userId);
         cvAttachmentMapper.insert(cvAttachment);
     }
 

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/EnterpriseServiceImpl.java

@@ -158,7 +158,7 @@ public class EnterpriseServiceImpl implements EnterpriseService {
 
     @Override
     public PageResult<AppEnterpriseSimpleRespVO> search(AppEnterpriseSearchPageReqVO reqVO) {
-        return enterpriseMapper.selectPage(reqVO);
+        return enterpriseMapper.search(reqVO);
     }
 
     @Override

+ 5 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillServiceImpl.java

@@ -16,6 +16,7 @@ import java.util.List;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
 import static com.citu.framework.security.core.util.SecurityFrameworkUtils.getLoginUserId;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_USER_SKILL_EXISTS;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_USER_SKILL_NOT_EXISTS;
 
 /**
@@ -87,6 +88,9 @@ public class PersonSkillServiceImpl implements PersonSkillService {
     @DSTransactional // 单机+多数据源方案,使用 @DSTransactional 保证本地事务,以及数据源的切换
     public Boolean savePersonSkill(AppPersonSkillSaveReqVO reqVO) {
         Long userId = getLoginUserId();
+        if (personSkillMapper.existByUserIdAndSkillId(userId, reqVO.getId(), reqVO.getSkillId())) {
+            throw exception(MDE_USER_SKILL_EXISTS);
+        }
         PersonSkillDO entity = personSkillMapper.selectByUserIdAndSkillId(userId, reqVO.getSkillId());
         PersonSkillDO personSkillDO = BeanUtils.toBean(reqVO, PersonSkillDO.class);
         personSkillDO.setUserId(userId);
@@ -99,6 +103,7 @@ public class PersonSkillServiceImpl implements PersonSkillService {
         return true;
     }
 
+
     @Override
     @DSTransactional // 单机+多数据源方案,使用 @DSTransactional 保证本地事务,以及数据源的切换
     public void removePersonSkill(Long id) {

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

@@ -41,6 +41,7 @@
 1_100_004_003=Work area cannot be empty
 # ========== 简历附件 1_100_005_000 ==========
 1_100_005_001=Resume attachment does not exist
+1_100_005_002=Upload a maximum of 5 resume attachments
 # ========== 教育经历 1_100_006_000 ==========
 1_100_006_001=Educational experience does not exist
 1_100_006_002=No education selected

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

@@ -42,6 +42,7 @@
 1_100_004_003=工作地区不能为空
 # ========== 简历附件 1_100_005_000 ==========
 1_100_005_001=简历附件不存在
+1_100_005_002=简历附件最多上传5份
 # ========== 教育经历 1_100_006_000 ==========
 1_100_006_001=教育经历不存在
 1_100_006_002=未选择学历