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

1、增加查询人员详情接口
2、增加web内容字段

rayson 7 hónapja
szülő
commit
b7169675a3
16 módosított fájl, 169 hozzáadás és 12 törlés
  1. 1 0
      menduner/menduner-system-api/src/main/java/com/citu/module/menduner/system/enums/ErrorCodeConstants.java
  2. 10 3
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonInfoController.java
  3. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/common/web/AppWebContentController.java
  4. 17 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/userperson/UserPersonRespVO.java
  5. 13 5
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/web/WebContentRespVO.java
  6. 6 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/web/WebContentSaveReqVO.java
  7. 10 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/web/WebContentDO.java
  8. 10 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/talent/TalentMapInfoMapper.java
  9. 15 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/user/MdeUserMapper.java
  10. 8 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationService.java
  11. 31 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationServiceImpl.java
  12. 2 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/info/PersonInfoServiceImpl.java
  13. 5 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/talent/TalentMapInfoServiceImpl.java
  14. 13 1
      menduner/menduner-system-biz/src/main/resources/i18n/messages_en_GB.properties
  15. 13 1
      menduner/menduner-system-biz/src/main/resources/i18n/messages_en_US.properties
  16. 13 1
      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

@@ -595,6 +595,7 @@ public interface ErrorCodeConstants {
 
     // ========== 人才地图-人才基本信息 1_100_059_000 ==========
     ErrorCode TALENT_MAP_INFO_NOT_EXISTS = new ErrorCode(1_100_059_001, "人才地图-人才基本信息不存在");
+    ErrorCode TALENT_MAP_INFO_ALREADY_EXISTS = new ErrorCode(1_100_059_002, "人才已存在,请前往修改信息");
 
     // ========== 人才地图-工作经历 1_100_060_000 ==========
     ErrorCode TALENT_MAP_WORK_EXP_NOT_EXISTS = new ErrorCode(1_100_060_001, "人才地图-工作经历不存在");

+ 10 - 3
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/admin/person/PersonInfoController.java

@@ -68,9 +68,16 @@ public class PersonInfoController {
     @Operation(summary = "获得人才信息-人才档案")
     @Parameter(name = "id", description = "编号", required = true, example = "1024")
     @PreAuthorize("@ss.hasPermission('menduner:system:person-info:query')")
-    public CommonResult<PersonInfoRespVO> getUserInfo(@RequestParam("id") Long id) {
-        PersonInfoDO userInfo = personInfoService.getUserInfo(id);
-        return success(BeanUtils.toBean(userInfo, PersonInfoRespVO.class));
+    public CommonResult<PersonInfoDO> getUserInfo(@RequestParam("id") Long id) {
+        return success(personInfoService.getUserInfo(id));
+    }
+
+    @GetMapping("/detail")
+    @Operation(summary = "获得人才详情信息")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('menduner:system:person-info:query')")
+    public CommonResult<UserPersonRespVO> detail(@RequestParam("userId") Long userId) {
+        return success(personIntegrationService.sysDetail(userId));
     }
 
     @GetMapping("/page")

+ 2 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/common/web/AppWebContentController.java

@@ -48,8 +48,10 @@ public class AppWebContentController {
             respVO.setPcLoginCarousel(filter(respVO.getPcLoginCarousel()));
             respVO.setPcLoginBackground(filter(respVO.getPcLoginBackground()));
             respVO.setPcBackendAdvertisement(filter(respVO.getPcBackendAdvertisement()));
+            respVO.setPcHomePreferred(filter(respVO.getPcHomePreferred()));
             respVO.setAppHomeCarousel(filter(respVO.getAppHomeCarousel()));
             respVO.setAppAdvertisement(filter(respVO.getAppAdvertisement()));
+            respVO.setAppHomeColumn(filter(respVO.getAppHomeColumn()));
         }
         return success(respVO);
     }

+ 17 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/userperson/UserPersonRespVO.java

@@ -1,12 +1,17 @@
 package com.citu.module.menduner.system.controller.base.userperson;
 
 
+import com.citu.module.menduner.system.controller.base.eduexp.EduExpRespVO;
+import com.citu.module.menduner.system.controller.base.job.interested.JobInterestedRespVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoRespVO;
+import com.citu.module.menduner.system.controller.base.trainexp.TrainExpRespVO;
 import com.citu.module.menduner.system.controller.base.user.MdeUserRespVO;
 import com.citu.module.menduner.system.controller.base.workexp.WorkExpRespVO;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
+import java.util.List;
+
 @Schema(description = "用户人才信息 Response VO")
 @Data
 public class UserPersonRespVO {
@@ -20,6 +25,18 @@ public class UserPersonRespVO {
     @Schema(description = "最近一份工作经历")
     private WorkExpRespVO work;
 
+    @Schema(description = "教育经历")
+    private List<EduExpRespVO> eduList;
+
+    @Schema(description = "工作经历")
+    private List<WorkExpRespVO> workList;
+
+    @Schema(description = "教育经历")
+    private List<TrainExpRespVO> trainList;
+
+    @Schema(description = "求职意向")
+    private List<JobInterestedRespVO> jobInterestedList;
+
     @Schema(description = "邀请用户,如果邀请方填写了简历就是名字,否则就是登录手机号")
     private String inviteUserStr;
 }

+ 13 - 5
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/web/WebContentRespVO.java

@@ -1,14 +1,14 @@
 package com.citu.module.menduner.system.controller.base.web;
 
 
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.citu.module.menduner.system.dal.dataobject.web.ContentStyle;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import java.util.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
+import lombok.Data;
+
 import java.time.LocalDateTime;
-import com.alibaba.excel.annotation.*;
+import java.util.List;
 
 @Schema(description = "管理后台 - 页面内容 Response VO")
 @Data
@@ -51,6 +51,10 @@ public class WebContentRespVO {
     @ExcelProperty("pc企业端广告")
     private List<ContentStyle> pcBackendAdvertisement;
 
+    @Schema(description = "pc优选")
+    @ExcelProperty("pc优选")
+    private List<ContentStyle> pcHomePreferred;
+
     @Schema(description = "手机端首页轮播图")
     @ExcelProperty("手机端首页轮播图")
     private List<ContentStyle> appHomeCarousel;
@@ -59,6 +63,10 @@ public class WebContentRespVO {
     @ExcelProperty("手机端广告")
     private List<ContentStyle> appAdvertisement;
 
+    @Schema(description = "手机端栏目")
+    @ExcelProperty("手机端栏目")
+    private List<ContentStyle> appHomeColumn;
+
     @Schema(description = "状态(0开启 1关闭)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @ExcelProperty("状态(0开启 1关闭)")
     private String status;

+ 6 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/web/WebContentSaveReqVO.java

@@ -38,12 +38,18 @@ public class WebContentSaveReqVO {
     @Schema(description = "pc企业端广告")
     private List<ContentStyle> pcBackendAdvertisement;
 
+    @Schema(description = "pc优选")
+    private List<ContentStyle> pcHomePreferred;
+
     @Schema(description = "手机端首页轮播图")
     private List<ContentStyle> appHomeCarousel;
 
     @Schema(description = "手机端广告")
     private List<ContentStyle> appAdvertisement;
 
+    @Schema(description = "手机端栏目")
+    private List<ContentStyle> appHomeColumn;
+
     @Schema(description = "状态(0开启 1关闭)", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
     @NotEmpty(message = "状态(0开启 1关闭)不能为空")
     private String status;

+ 10 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/web/WebContentDO.java

@@ -71,6 +71,11 @@ public class WebContentDO extends TenantBaseDO {
      */
     @TableField(typeHandler = JacksonTypeHandler.class)
     private List<ContentStyle> pcBackendAdvertisement;
+    /**
+     * pc优选
+     */
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private List<ContentStyle> pcHomePreferred;
     /**
      * 手机端首页轮播图
      */
@@ -81,6 +86,11 @@ public class WebContentDO extends TenantBaseDO {
      */
     @TableField(typeHandler = JacksonTypeHandler.class)
     private List<ContentStyle> appAdvertisement;
+    /**
+     * 手机端栏目
+     */
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private List<ContentStyle> appHomeColumn;
     /**
      * 状态(0开启 1关闭)
      */

+ 10 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/talent/TalentMapInfoMapper.java

@@ -7,6 +7,7 @@ import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
 import com.citu.module.menduner.system.controller.base.talent.info.TalentMapInfoPageReqVO;
 import com.citu.module.menduner.system.dal.dataobject.talent.TalentMapInfoDO;
 import org.apache.ibatis.annotations.Mapper;
+import org.springframework.util.StringUtils;
 
 
 /**
@@ -45,4 +46,13 @@ public interface TalentMapInfoMapper extends BaseMapperX<TalentMapInfoDO> {
                 .orderByDesc(TalentMapInfoDO::getId));
     }
 
+    default TalentMapInfoDO selectByNameAndPhone(String name, String phone) {
+        if(!StringUtils.hasText(name)|| !StringUtils.hasText(phone)) {
+            return null;
+        }
+        return selectOne(new LambdaQueryWrapperX<TalentMapInfoDO>()
+                .eq(TalentMapInfoDO::getName, name)
+                .eq(TalentMapInfoDO::getPhone, phone));
+    }
+
 }

+ 15 - 1
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/user/MdeUserMapper.java

@@ -47,7 +47,7 @@ public interface MdeUserMapper extends BaseMapperX<MdeUserDO> {
     }
 
     /**
-     * 分页以用户为主查询人才简历信息和最近一份工作经验
+     * 以用户为主查询人才简历信息分页
      **/
     default PageResult<UserPersonRespVO> page(UserPersonPageReqVO reqVO) {
         MPJLambdaWrapperX<MdeUserDO> query = new MPJLambdaWrapperX<>();
@@ -80,6 +80,20 @@ public interface MdeUserMapper extends BaseMapperX<MdeUserDO> {
         return selectJoinPage(reqVO, UserPersonRespVO.class, query);
     }
 
+    /**
+     * 根据userId以用户为主查询人才简历信息
+     **/
+    default UserPersonRespVO getById(Long userId) {
+        MPJLambdaWrapperX<MdeUserDO> query = new MPJLambdaWrapperX<>();
+        query.selectAssociation(MdeUserDO.class, UserPersonRespVO::getUser);
+        query.selectAssociation(PersonInfoDO.class, UserPersonRespVO::getPerson);
+        query.leftJoin(PersonInfoDO.class, on -> on.eq(PersonInfoDO::getUserId, MdeUserDO::getId));
+        query.eq(MdeUserDO::getId, userId);
+
+        query.orderByDesc(PersonInfoDO::getUpdateTime);
+        return selectJoinOne(UserPersonRespVO.class, query);
+    }
+
     default MdeUserDO selectByEmail(String email) {
         return selectOne(MdeUserDO::getEmail, email);
     }

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

@@ -28,6 +28,14 @@ public interface PersonIntegrationService {
     PageResult<UserPersonRespVO> page(UserPersonPageReqVO pageReqVO);
 
 
+    /**
+     * 系统后台-人才详情
+     *
+     * @param userId 用户id
+     * @return 人才详情信息
+     */
+    UserPersonRespVO sysDetail(Long userId);
+
     /**
      * 根据id获取人才在线简历详情
      *

+ 31 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/person/PersonIntegrationServiceImpl.java

@@ -122,6 +122,37 @@ public class PersonIntegrationServiceImpl implements PersonIntegrationService {
         return result;
     }
 
+    @Override
+    public UserPersonRespVO sysDetail(Long userId) {
+        UserPersonRespVO respVO = userMapper.getById(userId);
+        if (null == respVO) {
+            return null;
+        }
+        WorkExpDO lastWorkExp = workExpMapper.selectLastOne(userId);
+        if (null != lastWorkExp) {
+            respVO.setWork(WorkExpConvert.INSTANCE.convert(lastWorkExp));
+        }
+        List<WorkExpDO> workList = workExpMapper.selectByUserIdList(userId);
+        if (null != workList) {
+            respVO.setWorkList(WorkExpConvert.INSTANCE.convertList3(workList));
+        }
+
+        List<EduExpDO> edduList = eduExpMapper.selectByUserIdList(userId);
+        if (null != edduList) {
+            respVO.setEduList(EduExpConvert.INSTANCE.convertList3(edduList));
+        }
+
+        List<TrainExpDO> trainList = trainExpMapper.selectByUserIdList(userId);
+        if (null != trainList) {
+            respVO.setTrainList(TrainExpConvert.INSTANCE.convertList3(trainList));
+        }
+
+        List<JobInterestedDO> jobInterestedList = jobInterestedMapper.selectByUserIdList(userId);
+        if (null != jobInterestedList) {
+            respVO.setJobInterestedList(JobInterestedConvert.INSTANCE.convertList3(jobInterestedList));
+        }
+        return respVO;
+    }
 
     @Override
     public AppRecruitPersonDetailRespVO detail(Long userId) {

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

@@ -16,6 +16,7 @@ import com.citu.module.menduner.system.controller.app.jobhunt.person.vo.AppInvit
 import com.citu.module.menduner.system.controller.base.CommonRespVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoPageReqVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoSaveReqVO;
+import com.citu.module.menduner.system.controller.base.userperson.UserPersonRespVO;
 import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
 import com.citu.module.menduner.system.dal.mysql.person.PersonInfoMapper;
 import com.citu.module.menduner.system.enums.sync.SyncConstants;
@@ -92,6 +93,7 @@ public class PersonInfoServiceImpl implements PersonInfoService {
         return personInfoMapper.selectById(id);
     }
 
+
     @Override
     public PageResult<PersonInfoDO> getUserInfoPage(PersonInfoPageReqVO pageReqVO) {
         return personInfoMapper.selectPage(pageReqVO);

+ 5 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/talent/TalentMapInfoServiceImpl.java

@@ -31,6 +31,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import static com.citu.framework.common.exception.util.ServiceExceptionUtil.exception;
+import static com.citu.module.menduner.system.enums.ErrorCodeConstants.TALENT_MAP_INFO_ALREADY_EXISTS;
 import static com.citu.module.menduner.system.enums.ErrorCodeConstants.TALENT_MAP_INFO_NOT_EXISTS;
 
 /**
@@ -161,6 +162,10 @@ public class TalentMapInfoServiceImpl implements TalentMapInfoService {
     @Override
     @DSTransactional
     public void add(TalentMapSaveReqVO reqVO) {
+        TalentMapInfoDO exist = talentMapInfoMapper.selectByNameAndPhone(reqVO.getPerson().getName(), reqVO.getPerson().getPhone());
+        if (null != exist) {
+            throw exception(TALENT_MAP_INFO_ALREADY_EXISTS);
+        }
         TalentMapInfoDO talentMapInfo = BeanUtils.toBean(reqVO.getPerson(), TalentMapInfoDO.class);
         if (talentMapInfo.getAvatar().contains("base64")) {
             // base64编码

+ 13 - 1
menduner/menduner-system-biz/src/main/resources/i18n/messages_en_GB.properties

@@ -43,6 +43,7 @@
 1_100_001_011=Please fill in your personal basic information first
 1_100_001_012=Email number is invalid, please enter the correct email address
 1_100_001_013=Invalid phone number, please enter the correct phone number
+1_100_001_014=Resume file cannot exceed 10MB!
 # ========== 行业信息 1_100_002_000 ==========
 1_100_002_001=Industry information does not exist
 # ========== 职位信息 1_100_003_000 ==========
@@ -414,4 +415,15 @@
 1_100_056_004=The job fair time has passed, recruitment is temporarily suspended
 1_100_056_005=You do not have permission to attend this job fair
 # ========== 招聘职位扩展 1_100_057_000 ==========
-1_100_057_001=Recruitment position ID cannot be empty
+1_100_057_001=Recruitment position ID cannot be empty
+# ========== 页面内容 1_100_058_000 ==========
+1_100_058_001=Page content does not exist
+# ========== 人才地图-人才基本信息 1_100_059_000 ==========
+1_100_059_001=Talent Map - Basic Talent Information does not exist
+1_100_059_002=Talent already exists, please go to modify information
+# ========== 人才地图-工作经历 1_100_060_000 ==========
+1_100_060_001=Talent map - Work experience does not exist
+# ========== 人才地图-人才教育经历 1_100_061_000 ==========
+1_100_061_001=Talent Map - Talent Education Experience Does Not Exist
+# ========== 人才地图-人才培训经历 1_100_062_000 ==========
+1_100_062_001=Talent map - Talent training experience does not exist

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

@@ -43,6 +43,7 @@
 1_100_001_011=Please fill in your personal basic information first
 1_100_001_012=Email number is invalid, please enter the correct email address
 1_100_001_013=Invalid phone number, please enter the correct phone number
+1_100_001_014=Resume file cannot exceed 10MB!
 # ========== 行业信息 1_100_002_000 ==========
 1_100_002_001=Industry information does not exist
 # ========== 职位信息 1_100_003_000 ==========
@@ -414,4 +415,15 @@
 1_100_056_004=The job fair time has passed, recruitment is temporarily suspended
 1_100_056_005=You do not have permission to attend this job fair
 # ========== 招聘职位扩展 1_100_057_000 ==========
-1_100_057_001=Recruitment position ID cannot be empty
+1_100_057_001=Recruitment position ID cannot be empty
+# ========== 页面内容 1_100_058_000 ==========
+1_100_058_001=Page content does not exist
+# ========== 人才地图-人才基本信息 1_100_059_000 ==========
+1_100_059_001=Talent Map - Basic Talent Information does not exist
+1_100_059_002=Talent already exists, please go to modify information
+# ========== 人才地图-工作经历 1_100_060_000 ==========
+1_100_060_001=Talent map - Work experience does not exist
+# ========== 人才地图-人才教育经历 1_100_061_000 ==========
+1_100_061_001=Talent Map - Talent Education Experience Does Not Exist
+# ========== 人才地图-人才培训经历 1_100_062_000 ==========
+1_100_062_001=Talent map - Talent training experience does not exist

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

@@ -43,6 +43,7 @@
 1_100_001_011=请先填写人才基本信息
 1_100_001_012=邮箱号不合法,请输入正确邮箱
 1_100_001_013=手机号不合法,请输入正确手机号
+1_100_001_014=简历文件不可超过10MB!
 # ========== 行业信息 1_100_002_000 ==========
 1_100_002_001=行业信息不存在
 # ========== 职位信息 1_100_003_000 ==========
@@ -414,4 +415,15 @@
 1_100_056_004=招聘会时间已过,暂停招聘
 1_100_056_005=您没有权限参加该招聘会
 # ========== 招聘职位扩展 1_100_057_000 ==========
-1_100_057_001=招聘职位id不能为空
+1_100_057_001=招聘职位id不能为空
+# ========== 页面内容 1_100_058_000 ==========
+1_100_058_001=页面内容不存在
+# ========== 人才地图-人才基本信息 1_100_059_000 ==========
+1_100_059_001=人才地图-人才基本信息不存在
+1_100_059_002=人才已存在,请前往修改信息
+# ========== 人才地图-工作经历 1_100_060_000 ==========
+1_100_060_001=人才地图-工作经历不存在
+# ========== 人才地图-人才教育经历 1_100_061_000 ==========
+1_100_061_001=人才地图-人才教育经历不存在
+# ========== 人才地图-人才培训经历 1_100_062_000 ==========
+1_100_062_001=人才地图-人才培训经历不存在