Przeglądaj źródła

1、优化人才技能无法修改bug
2、增加企业修改邮箱的消炎
3、人才信息表增加标签字段

rayson 9 miesięcy temu
rodzic
commit
3266df19a6
11 zmienionych plików z 90 dodań i 41 usunięć
  1. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/jobhunt/person/resume/AppPersonInfoSaveReqVO.java
  2. 1 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/user/AppRecruitUserController.java
  3. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/user/vo/AppRecruitEnterpriseUserUpdateEmailReqVO.java
  4. 5 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoRespVO.java
  5. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoSaveReqVO.java
  6. 4 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonSimpleRespVO.java
  7. 7 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonInfoDO.java
  8. 36 30
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/ESConsumer.java
  9. 1 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindService.java
  10. 7 4
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindServiceImpl.java
  11. 18 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/skill/PersonSkillServiceImpl.java

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

@@ -7,6 +7,7 @@ import org.springframework.format.annotation.DateTimeFormat;
 import javax.validation.constraints.NotBlank;
 import javax.validation.constraints.NotNull;
 import java.time.LocalDateTime;
+import java.util.List;
 
 import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
 
@@ -66,4 +67,7 @@ public class AppPersonInfoSaveReqVO {
     @Schema(description = "学历", example = "2")
     private String eduType;
 
+    @Schema(description = "人才标签")
+    private List<String> tagList;
+
 }

+ 1 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/user/AppRecruitUserController.java

@@ -95,7 +95,7 @@ public class AppRecruitUserController {
     @Operation(summary = "绑定/修改用户邮箱")
     @PreAuthenticated
     public CommonResult<Boolean> updateUserEmail(@RequestBody @Valid AppRecruitEnterpriseUserUpdateEmailReqVO reqVO) {
-        service.updateUserEmail(LoginUserContext.getEnterpriseId(), LoginUserContext.getUserId(), reqVO);
+        service.updateUserEmail(reqVO);
         return success(true);
     }
 

+ 3 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/recruit/user/vo/AppRecruitEnterpriseUserUpdateEmailReqVO.java

@@ -11,6 +11,9 @@ import javax.validation.constraints.Size;
 @Data
 public class AppRecruitEnterpriseUserUpdateEmailReqVO {
 
+    @Schema(description = "id", example = "23697")
+    private Long id;
+
     @Schema(description = "邮箱", example = "123456789@qq.com")
     @Email(message = "{1_100_016_022}")
     @NotBlank(message = "{1_100_016_024}")

+ 5 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoRespVO.java

@@ -6,6 +6,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description = "人才信息-人才档案 Response VO")
 @Data
@@ -84,6 +85,10 @@ public class PersonInfoRespVO {
     @ExcelProperty("学历")
     private String eduType;
 
+    @Schema(description = "人才标签")
+    @ExcelProperty("人才标签")
+    private List<String> tagList;
+
     @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonInfoSaveReqVO.java

@@ -5,6 +5,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
 
@@ -67,4 +68,7 @@ public class PersonInfoSaveReqVO {
 
     @Schema(description = "学历", example = "2")
     private String eduType;
+
+    @Schema(description = "人才标签")
+    private List<String> tagList;
 }

+ 4 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/person/info/PersonSimpleRespVO.java

@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 @Schema(description = "人才简易信息 Response VO")
 @Data
@@ -36,6 +37,9 @@ public class PersonSimpleRespVO {
     @Schema(description = "学历", example = "2")
     private String eduType;
 
+    @Schema(description = "人才标签")
+    private List<String> tagList;
+
     @Schema(description = "更新时间")
     private LocalDateTime updateTime;
 

+ 7 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/person/PersonInfoDO.java

@@ -1,10 +1,12 @@
 package com.citu.module.menduner.system.dal.dataobject.person;
 
 import com.baomidou.mybatisplus.annotation.*;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
 import com.citu.framework.tenant.core.db.TenantBaseDO;
 import lombok.*;
 
 import java.time.LocalDateTime;
+import java.util.List;
 
 /**
  * 人才信息-人才档案 DO
@@ -103,5 +105,10 @@ public class PersonInfoDO extends TenantBaseDO {
      * 学历
      */
     private String eduType;
+    /**
+     * 人才标签
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS, typeHandler = JacksonTypeHandler.class)
+    private List<String> tagList;
 
 }

+ 36 - 30
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/mq/consumer/ESConsumer.java

@@ -1,6 +1,7 @@
 package com.citu.module.menduner.system.mq.consumer;
 
 import cn.hutool.core.collection.CollUtil;
+import com.citu.framework.tenant.core.aop.TenantIgnore;
 import com.citu.module.menduner.system.convert.JobAdvertisedConvert;
 import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
 import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
@@ -67,42 +68,47 @@ public class ESConsumer implements RocketMQListener<ESJobAdvertisedMergeSendMess
 
     // TODO 赶时间写法,待改
     @Override
+    @TenantIgnore
     public void onMessage(ESJobAdvertisedMergeSendMessage message) {
         log.info("接收到队列消息[{}]", message);
-        switch (message.getOperate()) {
-            case SYNC_ALL:
-                if (JOB.equals(message.getType())) {
-                    sync();
-                } else if (ENTERPRISE.equals(message.getType())) {
+        try {
+            switch (message.getOperate()) {
+                case SYNC_ALL:
+                    if (JOB.equals(message.getType())) {
+                        sync();
+                    } else if (ENTERPRISE.equals(message.getType())) {
 
-                }
-                break;
-            case ADD:
-                if (JOB.equals(message.getType())) {
-                    jobAdd(message.getId());
-                } else {
+                    }
+                    break;
+                case ADD:
+                    if (JOB.equals(message.getType())) {
+                        jobAdd(message.getId());
+                    } else {
 
-                }
-                break;
-            case UPDATE:
-                if (JOB.equals(message.getType())) {
-                    jobUpdate(message.getId());
-                } else {
-                    enterpriseUpdate(message.getId());
-                }
-                break;
-            case DELETE:
-                if (JOB.equals(message.getType())) {
-                    jobDel(message.getId());
-                } else {
-                    enterpriseDel(message.getId());
-                }
-                break;
+                    }
+                    break;
+                case UPDATE:
+                    if (JOB.equals(message.getType())) {
+                        jobUpdate(message.getId());
+                    } else {
+                        enterpriseUpdate(message.getId());
+                    }
+                    break;
+                case DELETE:
+                    if (JOB.equals(message.getType())) {
+                        jobDel(message.getId());
+                    } else {
+                        enterpriseDel(message.getId());
+                    }
+                    break;
 
-            default:
-                break;
+                default:
+                    break;
+            }
+            log.info("消息处理完备[{}]", message);
+        }catch (Exception ex) {
+            ex.printStackTrace();
         }
-        log.info("消息处理完备[{}]", message);
 
     }
 

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

@@ -90,11 +90,9 @@ public interface EnterpriseUserBindService {
 
     /**
      * 更新用户邮箱
-     * @param enterpriseId
-     * @param userId
      * @param reqVO
      **/
-    void updateUserEmail(Long enterpriseId,Long userId, AppRecruitEnterpriseUserUpdateEmailReqVO reqVO);
+    void updateUserEmail( AppRecruitEnterpriseUserUpdateEmailReqVO reqVO);
 
     /**
      * 根据企业id和用户id查询用户绑定数据

+ 7 - 4
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/enterprise/bind/EnterpriseUserBindServiceImpl.java

@@ -133,18 +133,21 @@ public class EnterpriseUserBindServiceImpl implements EnterpriseUserBindService
 
     @Override
     @DSTransactional
-    public void updateUserEmail(Long enterpriseId, Long userId, AppRecruitEnterpriseUserUpdateEmailReqVO reqVO) {
+    public void updateUserEmail(AppRecruitEnterpriseUserUpdateEmailReqVO reqVO) {
+        // 效验是否管理员
+        LoginUserContext.checkUserTypeIsAdmin();
+
         // 检测用户是否存在
-        EnterpriseUserBindDO user = mapper.selectByEnterpriseIdAndUserId(enterpriseId, userId);
+        EnterpriseUserBindDO user = mapper.selectById(reqVO.getId());
         if (!StringUtils.hasText(user.getEmail())) {
             throw exception(MDE_USER_EMAIL_EXISTS);
         }
         // 效验邮箱是否被占用
         EnterpriseUserBindDO emailUser = mapper.selectByEmail(reqVO.getEmail());
-        if (null != emailUser && !emailUser.getUserId().equals(userId)) {
+        if (null != emailUser && !emailUser.getId().equals(reqVO.getId())) {
             throw exception(MDE_USER_EMAIL_EXISTS_OTHER);
         }
-        mapper.updateById(EnterpriseUserBindDO.builder().id(userId).email(reqVO.getEmail()).build());
+        mapper.updateById(EnterpriseUserBindDO.builder().id(reqVO.getId()).email(reqVO.getEmail()).build());
     }
 
     @Override

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

@@ -1,5 +1,6 @@
 package com.citu.module.menduner.system.service.person.skill;
 
+import cn.hutool.core.util.ObjectUtil;
 import com.baomidou.dynamic.datasource.annotation.DSTransactional;
 import com.citu.framework.common.pojo.PageResult;
 import com.citu.framework.common.util.object.BeanUtils;
@@ -88,15 +89,29 @@ public class PersonSkillServiceImpl implements PersonSkillService {
     @DSTransactional // 单机+多数据源方案,使用 @DSTransactional 保证本地事务,以及数据源的切换
     public Boolean savePersonSkill(AppPersonSkillSaveReqVO reqVO) {
         Long userId = LoginUserContext.getUserId();
-        if (personSkillMapper.existByUserIdAndSkillId(userId, reqVO.getId(), reqVO.getSkillId())) {
-            throw exception(MDE_USER_SKILL_EXISTS);
-        }
         PersonSkillDO personSkillDO = BeanUtils.toBean(reqVO, PersonSkillDO.class);
         personSkillDO.setUserId(userId);
         if (null == reqVO.getId()) {
+            if (personSkillMapper.existByUserIdAndSkillId(userId, reqVO.getId(), reqVO.getSkillId())) {
+                throw exception(MDE_USER_SKILL_EXISTS);
+            }
              personSkillMapper.insert(personSkillDO);
         } else {
             personSkillDO.setId(reqVO.getId());
+            // 获取现有的记录
+            PersonSkillDO existingPersonSkill = personSkillMapper.selectById(reqVO.getId());
+            if (existingPersonSkill == null) {
+                throw exception(MDE_USER_SKILL_NOT_EXISTS);
+            }
+
+            // 检查 skillId 是否发生了变化
+            if (!ObjectUtil.equals(existingPersonSkill.getSkillId(), reqVO.getSkillId())) {
+                // 如果 skillId 发生了变化,需要重新检查唯一性约束
+                if (personSkillMapper.existByUserIdAndSkillId(userId, reqVO.getId(), reqVO.getSkillId())) {
+                    throw exception(MDE_USER_SKILL_EXISTS);
+                }
+            }
+
             personSkillMapper.updateById(personSkillDO);
         }
         return true;