Prechádzať zdrojové kódy

1、解决更改字典类型字段后validation无法效验问题

rayson 1 rok pred
rodič
commit
a4d0af8079
19 zmenil súbory, kde vykonal 50 pridanie a 33 odobranie
  1. 2 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  2. 3 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/eduexp/vo/EduExpSaveReqVO.java
  3. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/bind/EnterpriseUserBindSaveReqVO.java
  4. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/post/EnterprisePostSaveReqVO.java
  5. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/register/EnterpriseRegisterSaveReqVO.java
  6. 4 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/job/vo/JobAdvertisedSaveReqVO.java
  7. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/major/vo/MajorSaveReqVO.java
  8. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/school/vo/SchoolSaveReqVO.java
  9. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/user/vo/MdeUserSaveReqVO.java
  10. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/user/vo/MdeUserUpdateStatusReqVO.java
  11. 3 2
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/eduexp/AppEduExpSaveReqVO.java
  12. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/job/AppJobInterestedSaveReqVO.java
  13. 5 5
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/resume/AppPersonInfoSaveReqVO.java
  14. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/vo/AppPersonSkillSaveReqVO.java
  15. 6 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/person/PersonSkillMapper.java
  16. 2 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/message/MdeVisitsSendMessage.java
  17. 9 12
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillServiceImpl.java
  18. 1 0
      menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties
  19. 1 0
      menduner/menduner-system-biz/src/main/resources/i18n/messages_zh_CN.properties

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

@@ -81,6 +81,8 @@ public interface ErrorCodeConstants {
 
     // ========== 人员技能 1_100_013_000 ==========
     ErrorCode MDE_USER_SKILL_NOT_EXISTS = new ErrorCode(1_100_013_001, "人员技能不存在");
+    ErrorCode MDE_USER_SKILL_EXISTS = new ErrorCode(1_100_013_002, "该技能已存在");
+
 
     // ========== 证书 1_100_014_000 ==========
     ErrorCode MDE_CERTIFICATE_NOT_EXISTS = new ErrorCode(1_100_014_001, "证书不存在");

+ 3 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/eduexp/vo/EduExpSaveReqVO.java

@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
 
@@ -25,11 +26,11 @@ public class EduExpSaveReqVO {
     @Schema(description = "学校名称(没有选择系统企业可自定义)", example = "李四")
     private String schoolName;
 
-    @NotNull(message = "{1_100_006_002}")
+    @NotBlank(message = "{1_100_006_002}")
     @Schema(description = "学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)", example = "2")
     private String educationType;
 
-    @NotNull(message = "{1_100_006_003}")
+    @NotBlank(message = "{1_100_006_003}")
     @Schema(description = "学制类型(0 全日制 | 1 非全日制)", example = "1")
     private String educationSystemType;
 

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/bind/EnterpriseUserBindSaveReqVO.java

@@ -43,7 +43,7 @@ public class EnterpriseUserBindSaveReqVO {
     private String email;
 
     @Schema(description = "帐号状态(0正常 1停用 2 等待审核 3不通过)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @NotNull(message = "{1_200_018_001}")
+    @NotBlank(message = "{1_200_018_001}")
     private String status;
 
     @Schema(description = "最后登录IP")

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/post/EnterprisePostSaveReqVO.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.controller.admin.enterprise.post;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 
@@ -32,7 +33,7 @@ public class EnterprisePostSaveReqVO {
     private Integer sort;
 
     @Schema(description = "状态(0正常 1停用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @NotNull(message = "{1_200_018_001}")
+    @NotBlank(message = "{1_200_018_001}")
     private String status;
 
     @Schema(description = "备注", example = "随便")

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/enterprise/register/EnterpriseRegisterSaveReqVO.java

@@ -29,7 +29,7 @@ public class EnterpriseRegisterSaveReqVO {
     private String businessLicenseUrl;
 
     @Schema(description = "帐号状态(0正常 1停用 2 等待审核 3不通过)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @NotNull(message = "{1_200_018_001}")
+    @NotBlank(message = "{1_200_018_001}")
     private String status;
 
     @Schema(description = "审核原因", example = "不喜欢")

+ 4 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/job/vo/JobAdvertisedSaveReqVO.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.controller.admin.job.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
@@ -36,15 +37,15 @@ public class JobAdvertisedSaveReqVO {
     private Long positionId;
 
     @Schema(description = "招聘类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @NotNull(message = "{1_200_010_004}")
+    @NotBlank(message = "{1_200_010_004}")
     private String type;
 
     @Schema(description = "工作经验", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotNull(message = "{1_200_010_006}")
+    @NotBlank(message = "{1_200_010_006}")
     private String expType;
 
     @Schema(description = "学历要求", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotNull(message = "{1_200_010_007}")
+    @NotBlank(message = "{1_200_010_007}")
     private String eduType;
 
     @Schema(description = "薪酬from")

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/major/vo/MajorSaveReqVO.java

@@ -19,7 +19,7 @@ public class MajorSaveReqVO {
     private String nameEn;
 
     @Schema(description = "状态(0正常 1停用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotNull(message = "{1_200_018_001}")
+    @NotBlank(message = "{1_200_018_001}")
     private String status;
 
 }

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/school/vo/SchoolSaveReqVO.java

@@ -40,7 +40,7 @@ public class SchoolSaveReqVO {
     private String latitude;
 
     @Schema(description = "帐号状态(0正常 1停用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @NotNull(message = "{1_200_018_001}")
+    @NotBlank(message = "{1_200_018_001}")
     private String status;
 
 }

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/user/vo/MdeUserSaveReqVO.java

@@ -4,6 +4,7 @@ package com.citu.module.menduner.system.controller.admin.user.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotEmpty;
 import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
@@ -33,7 +34,7 @@ public class MdeUserSaveReqVO {
     private String avatar;
 
     @Schema(description = "帐号状态(0正常 1停用)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
-    @NotNull(message = "{1_200_018_001}")
+    @NotBlank(message = "{1_200_018_001}")
     private String status;
 
     @Schema(description = "注册 IP")

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/user/vo/MdeUserUpdateStatusReqVO.java

@@ -5,6 +5,7 @@ import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
 @Schema(description = "管理后台 - 门墩儿-用户更新状态 Request VO")
@@ -16,7 +17,7 @@ public class MdeUserUpdateStatusReqVO {
     private Long id;
 
     @Schema(description = "状态,见 MendunerStatusEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
-    @NotNull(message = "{1_200_018_001}")
+    @NotBlank(message = "{1_200_018_001}")
     @InEnum(value = MendunerStatusEnum.class, message = "{1_200_018_002}")
     private String status;
 

+ 3 - 2
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/eduexp/AppEduExpSaveReqVO.java

@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
 
@@ -22,11 +23,11 @@ public class AppEduExpSaveReqVO {
     @Schema(description = "学校名称(没有选择系统企业可自定义)", example = "李四")
     private String schoolName;
 
-    @NotNull(message = "{1_100_006_002}")
+    @NotBlank(message = "{1_100_006_002}")
     @Schema(description = "学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)", example = "2")
     private String educationType;
 
-    @NotNull(message = "{1_100_006_003}")
+    @NotBlank(message = "{1_100_006_003}")
     @Schema(description = "学制类型(0 全日制 | 1 非全日制)", example = "1")
     private String educationSystemType;
 

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/job/AppJobInterestedSaveReqVO.java

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.controller.app.person.job;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.math.BigDecimal;
 import java.util.List;
@@ -22,7 +23,7 @@ public class AppJobInterestedSaveReqVO {
     @Schema(description = "期望行业")
     private List<String> industryIdList;
 
-    @NotNull(message = "{1_100_007_004}")
+    @NotBlank(message = "{1_100_007_004}")
     @Schema(description = "求职类型(0全职 1兼职 2临时 3实习)", example = "2")
     private String jobType;
 

+ 5 - 5
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/person/resume/AppPersonInfoSaveReqVO.java

@@ -47,7 +47,7 @@ public class AppPersonInfoSaveReqVO {
     @Schema(description = "求职类型(0全职 1兼职 2临时 3实习)", example = "1")
     private String jobType;
 
-    @NotNull(message = "{1_100_001_008}")
+    @NotBlank(message = "{1_100_001_008}")
     @Schema(description = "求职状态(0离职-随时到岗 1在职-月内到岗 2在职-考虑机会 3在职-暂不考虑)", example = "1")
     private String jobStatus;
 
@@ -55,12 +55,12 @@ public class AppPersonInfoSaveReqVO {
     @Schema(description = "首次工作时间")
     private LocalDateTime firstWorkTime;
 
-    @NotNull(message = "{1_100_001_006}")
+    @NotBlank(message = "{1_100_001_006}")
     @Schema(description = "工作经验", example = "1")
-    private Integer expType;
+    private String expType;
 
-    @NotNull(message = "{1_100_001_007}")
+    @NotBlank(message = "{1_100_001_007}")
     @Schema(description = "学历", example = "2")
-    private Integer eduType;
+    private String eduType;
 
 }

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

@@ -3,6 +3,7 @@ package com.citu.module.menduner.system.controller.app.person.vo;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 
 @Schema(description = "menduner - 人才技能保存 Request VO")
@@ -12,6 +13,7 @@ public class AppPersonSkillSaveReqVO {
     @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "24591")
     private Long id;
 
+    @NotBlank(message = "{1_100_013_002}")
     @Schema(description = "技能id", example = "1")
     private String skillId;
 

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

@@ -30,6 +30,12 @@ public interface PersonSkillMapper extends BaseMapperX<PersonSkillDO> {
                 .eq(PersonSkillDO::getUserId, userId));
     }
 
+    default PersonSkillDO selectByUserIdAndSkillId(Long userId,String skillId) {
+        return selectOne(new LambdaQueryWrapperX<PersonSkillDO>()
+                .eq(PersonSkillDO::getSkillId, skillId)
+                .eq(PersonSkillDO::getUserId, userId));
+    }
+
     default void deleteByIdAndUserId(Long id, Long userId) {
         delete(new LambdaQueryWrapperX<PersonSkillDO>()
                 .eq(PersonSkillDO::getId, id)

+ 2 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/message/MdeVisitsSendMessage.java

@@ -7,6 +7,7 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
 
@@ -20,7 +21,7 @@ import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DA
 @Schema(description = "用户端 - 访问量新增/修改 Request VO")
 public class MdeVisitsSendMessage {
 
-    @NotNull(message = "{1_100_015_002}")
+    @NotBlank(message = "{1_100_015_002}")
     @Schema(description = "业务类型")
     private String type;
 

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

@@ -1,29 +1,23 @@
 package com.citu.module.menduner.system.service.person.skill;
 
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillPageReqVO;
 import com.citu.module.menduner.system.controller.admin.person.vo.skill.PersonSkillSaveReqVO;
 import com.citu.module.menduner.system.controller.app.person.vo.AppPersonSkillSaveReqVO;
-import com.citu.module.menduner.system.dal.dataobject.projectexp.ProjectExpDO;
-import org.springframework.stereotype.Service;
-import javax.annotation.Resource;
-
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.validation.annotation.Validated;
-
 import com.citu.module.menduner.system.dal.dataobject.person.PersonSkillDO;
-import com.citu.framework.common.pojo.PageResult;
-import com.citu.framework.common.util.object.BeanUtils;
-
 import com.citu.module.menduner.system.dal.mysql.person.PersonSkillMapper;
+import org.springframework.stereotype.Service;
+import org.springframework.validation.annotation.Validated;
 
-import java.util.Collections;
+import javax.annotation.Resource;
 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;
-import static com.citu.module.menduner.system.enums.ErrorCodeConstants.PROJECT_EXP_NOT_EXISTS;
 
 /**
  * 人才技能 Service 实现类
@@ -94,6 +88,9 @@ public class PersonSkillServiceImpl implements PersonSkillService {
     @DSTransactional // 单机+多数据源方案,使用 @DSTransactional 保证本地事务,以及数据源的切换
     public Boolean savePersonSkill(AppPersonSkillSaveReqVO reqVO) {
         Long userId = getLoginUserId();
+        if (null != personSkillMapper.selectByUserIdAndSkillId(userId, reqVO.getSkillId())) {
+            throw exception(MDE_USER_SKILL_EXISTS);
+        }
         PersonSkillDO personSkillDO = BeanUtils.toBean(reqVO, PersonSkillDO.class);
         personSkillDO.setUserId(userId);
         if (null == reqVO.getId()) {

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

@@ -72,6 +72,7 @@
 1_200_012_003=No end time selected for employment
 # ========== 人员技能 1_100_013_000 ==========
 1_100_013_001=Personnel skill does not exist
+1_100_013_002=The skill already exists
 # ========== 证书 1_100_014_000 ==========
 1_100_014_001=Certificate does not exist
 # ========== 访问量 1_100_015_000 ==========

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

@@ -73,6 +73,7 @@
 1_200_012_003=未选择在职结束时间
 # ========== 人员技能 1_100_013_000 ==========
 1_100_013_001=人员技能不存在
+1_100_013_002=该技能已存在
 # ========== 证书 1_100_014_000 ==========
 1_100_014_001=证书不存在
 # ========== 访问量 1_100_015_000 ==========