Jelajahi Sumber

1、优化内容管理
2、增加人才地图相关实体类

rayson 7 bulan lalu
induk
melakukan
2d5dd79645
18 mengubah file dengan 1332 tambahan dan 52 penghapusan
  1. 28 1
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/app/common/web/AppWebContentController.java
  2. 63 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/edu/TalentMapEduExpPageReqVO.java
  3. 75 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/edu/TalentMapEduExpRespVO.java
  4. 57 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/edu/TalentMapEduExpSaveReqVO.java
  5. 89 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/info/TalentMapInfoPageReqVO.java
  6. 140 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/info/TalentMapInfoRespVO.java
  7. 102 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/info/TalentMapInfoSaveReqVO.java
  8. 69 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpPageReqVO.java
  9. 101 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpRespVO.java
  10. 77 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpSaveReqVO.java
  11. 85 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/talent/TalentMapEduExpDO.java
  12. 159 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/talent/TalentMapInfoDO.java
  13. 114 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/talent/TalentMapWorkExpDO.java
  14. 3 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/web/ContentStyle.java
  15. 38 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/talent/TalentMapEduExpMapper.java
  16. 48 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/talent/TalentMapInfoMapper.java
  17. 39 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/talent/TalentMapWorkExpMapper.java
  18. 45 51
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/resume/OnlineResumeServiceImpl.java

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

@@ -4,7 +4,9 @@ package com.citu.module.menduner.system.controller.app.common.web;
 import com.citu.framework.common.pojo.CommonResult;
 import com.citu.framework.common.util.object.BeanUtils;
 import com.citu.module.menduner.system.controller.base.web.WebContentRespVO;
+import com.citu.module.menduner.system.dal.dataobject.web.ContentStyle;
 import com.citu.module.menduner.system.dal.dataobject.web.WebContentDO;
+import com.citu.module.menduner.system.enums.MendunerStatusEnum;
 import com.citu.module.menduner.system.service.web.WebContentService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -15,6 +17,10 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.stream.Collectors;
 
 import static com.citu.framework.common.pojo.CommonResult.success;
 
@@ -32,8 +38,29 @@ public class AppWebContentController {
     @Operation(summary = "获得页面内容")
     public CommonResult<WebContentRespVO> getWebContent(@RequestParam("id") Long id) {
         WebContentDO webContent = webContentService.getWebContent(id);
-        return success(BeanUtils.toBean(webContent, WebContentRespVO.class));
+        WebContentRespVO respVO = BeanUtils.toBean(webContent, WebContentRespVO.class);
+        if (null != respVO) {
+            respVO.setPcTop(filter(respVO.getPcTop()));
+            respVO.setPcLeft(filter(respVO.getPcLeft()));
+            respVO.setPcRight(filter(respVO.getPcRight()));
+            respVO.setPcAdvertisement(filter(respVO.getPcAdvertisement()));
+            respVO.setPcHomeCarousel(filter(respVO.getPcHomeCarousel()));
+            respVO.setPcLoginCarousel(filter(respVO.getPcLoginCarousel()));
+            respVO.setPcLoginBackground(filter(respVO.getPcLoginBackground()));
+            respVO.setPcBackendAdvertisement(filter(respVO.getPcBackendAdvertisement()));
+            respVO.setAppHomeCarousel(filter(respVO.getAppHomeCarousel()));
+            respVO.setAppAdvertisement(filter(respVO.getAppAdvertisement()));
+        }
+        return success(respVO);
     }
 
 
+    private List<ContentStyle> filter(List<ContentStyle> contentStyleList) {
+        return Optional.ofNullable(contentStyleList)
+                .map(list -> list.stream()
+                        .filter(contentStyle -> null == contentStyle.getStatus() ||
+                                MendunerStatusEnum.ENABLE.getStatus().equals(contentStyle.getStatus()))
+                        .collect(Collectors.toList()))
+                .orElse(Collections.emptyList());
+    }
 }

+ 63 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/edu/TalentMapEduExpPageReqVO.java

@@ -0,0 +1,63 @@
+package com.citu.module.menduner.system.controller.base.talent.edu;
+
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 人才地图-人才教育经历分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class TalentMapEduExpPageReqVO extends PageParam {
+
+    @Schema(description = "人才id", example = "16679")
+    private Long personId;
+
+    @Schema(description = "学校id", example = "29199")
+    private Long schoolId;
+
+    @Schema(description = "学校名称(没有选择系统企业可自定义)", example = "芋艿")
+    private String schoolName;
+
+    @Schema(description = "学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)", example = "1")
+    private String educationType;
+
+    @Schema(description = "学历文本")
+    private String educationTypeStr;
+
+    @Schema(description = "学制类型(0 全日制 | 1 非全日制)", example = "1")
+    private String educationSystemType;
+
+    @Schema(description = "学制类型文本")
+    private String educationSystemTypeStr;
+
+    @Schema(description = "是否国外")
+    private Integer abroad;
+
+    @Schema(description = "专业id", example = "26395")
+    private Long majorId;
+
+    @Schema(description = "专业名称(没有选择系统企业可自定义)")
+    private String major;
+
+    @Schema(description = "在校开始日期")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] startTime;
+
+    @Schema(description = "在校结束时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] endTime;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 75 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/edu/TalentMapEduExpRespVO.java

@@ -0,0 +1,75 @@
+package com.citu.module.menduner.system.controller.base.talent.edu;
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 人才地图-人才教育经历 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class TalentMapEduExpRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5587")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "人才id", example = "16679")
+    @ExcelProperty("人才id")
+    private Long personId;
+
+    @Schema(description = "学校id", example = "29199")
+    @ExcelProperty("学校id")
+    private Long schoolId;
+
+    @Schema(description = "学校名称(没有选择系统企业可自定义)", example = "芋艿")
+    @ExcelProperty("学校名称(没有选择系统企业可自定义)")
+    private String schoolName;
+
+    @Schema(description = "学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)", example = "1")
+    @ExcelProperty("学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)")
+    private String educationType;
+
+    @Schema(description = "学历文本")
+    @ExcelProperty("学历文本")
+    private String educationTypeStr;
+
+    @Schema(description = "学制类型(0 全日制 | 1 非全日制)", example = "1")
+    @ExcelProperty("学制类型(0 全日制 | 1 非全日制)")
+    private String educationSystemType;
+
+    @Schema(description = "学制类型文本")
+    @ExcelProperty("学制类型文本")
+    private String educationSystemTypeStr;
+
+    @Schema(description = "是否国外")
+    @ExcelProperty("是否国外")
+    private Integer abroad;
+
+    @Schema(description = "专业id", example = "26395")
+    @ExcelProperty("专业id")
+    private Long majorId;
+
+    @Schema(description = "专业名称(没有选择系统企业可自定义)")
+    @ExcelProperty("专业名称(没有选择系统企业可自定义)")
+    private String major;
+
+    @Schema(description = "在校开始日期", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("在校开始日期")
+    private LocalDateTime startTime;
+
+    @Schema(description = "在校结束时间")
+    @ExcelProperty("在校结束时间")
+    private LocalDateTime endTime;
+
+    @Schema(description = "在校经历")
+    @ExcelProperty("在校经历")
+    private String content;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 57 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/edu/TalentMapEduExpSaveReqVO.java

@@ -0,0 +1,57 @@
+package com.citu.module.menduner.system.controller.base.talent.edu;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 人才地图-人才教育经历新增/修改 Request VO")
+@Data
+public class TalentMapEduExpSaveReqVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "5587")
+    private Long id;
+
+    @Schema(description = "人才id", example = "16679")
+    private Long personId;
+
+    @Schema(description = "学校id", example = "29199")
+    private Long schoolId;
+
+    @Schema(description = "学校名称(没有选择系统企业可自定义)", example = "芋艿")
+    private String schoolName;
+
+    @Schema(description = "学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)", example = "1")
+    private String educationType;
+
+    @Schema(description = "学历文本")
+    private String educationTypeStr;
+
+    @Schema(description = "学制类型(0 全日制 | 1 非全日制)", example = "1")
+    private String educationSystemType;
+
+    @Schema(description = "学制类型文本")
+    private String educationSystemTypeStr;
+
+    @Schema(description = "是否国外")
+    private Integer abroad;
+
+    @Schema(description = "专业id", example = "26395")
+    private Long majorId;
+
+    @Schema(description = "专业名称(没有选择系统企业可自定义)")
+    private String major;
+
+    @Schema(description = "在校开始日期", requiredMode = Schema.RequiredMode.REQUIRED)
+    @NotNull(message = "在校开始日期不能为空")
+    private LocalDateTime startTime;
+
+    @Schema(description = "在校结束时间")
+    private LocalDateTime endTime;
+
+    @Schema(description = "在校经历")
+    private String content;
+
+}

+ 89 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/info/TalentMapInfoPageReqVO.java

@@ -0,0 +1,89 @@
+package com.citu.module.menduner.system.controller.base.talent.info;
+
+
+import lombok.*;
+import io.swagger.v3.oas.annotations.media.Schema;
+import com.citu.framework.common.pojo.PageParam;
+import org.springframework.format.annotation.DateTimeFormat;
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 门墩儿-人才地图-人才基本信息分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class TalentMapInfoPageReqVO extends PageParam {
+
+    @Schema(description = "用户id", example = "13625")
+    private Long userId;
+
+    @Schema(description = "真实姓名", example = "李四")
+    private String name;
+
+    @Schema(description = "外文名", example = "张三")
+    private String foreignName;
+
+    @Schema(description = "用户性别")
+    private String sex;
+
+    @Schema(description = "联系手机号")
+    private String phone;
+
+    @Schema(description = "用户邮箱")
+    private String email;
+
+    @Schema(description = "微信号")
+    private String wxCode;
+
+    @Schema(description = "是否党员")
+    private Integer partyMember;
+
+    @Schema(description = "国籍")
+    private String nationality;
+
+    @Schema(description = "婚姻状况(0未婚 1已婚 2离异 3保密)", example = "2")
+    private String maritalStatus;
+
+    @Schema(description = "现居住地", example = "21528")
+    private Long areaId;
+
+    @Schema(description = "现居地文本")
+    private String areaStr;
+
+    @Schema(description = "户籍地", example = "26537")
+    private Long regId;
+
+    @Schema(description = "户籍地文本")
+    private String regStr;
+
+    @Schema(description = "求职类型(0全职 1兼职 2临时 3实习)", example = "1")
+    private String jobType;
+
+    @Schema(description = "求职状态(0离职-随时到岗 1在职-月内到岗 2在职-考虑机会 3在职-暂不考虑)", example = "2")
+    private String jobStatus;
+
+    @Schema(description = "首次工作时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] firstWorkTime;
+
+    @Schema(description = "工作经验", example = "2")
+    private String expType;
+
+    @Schema(description = "学历", example = "2")
+    private String eduType;
+
+    @Schema(description = "是否有筹备经验")
+    private Integer prepareExp;
+
+    @Schema(description = "配偶家乡id", example = "9408")
+    private Long spouseHometownId;
+
+    @Schema(description = "配偶家乡文本")
+    private String spouseHometownStr;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 140 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/info/TalentMapInfoRespVO.java

@@ -0,0 +1,140 @@
+package com.citu.module.menduner.system.controller.base.talent.info;
+
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 门墩儿-人才地图-人才基本信息 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class TalentMapInfoRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8006")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "用户id", example = "13625")
+    @ExcelProperty("用户id")
+    private Long userId;
+
+    @Schema(description = "简历附件地址", example = "https://www.iocoder.cn")
+    @ExcelProperty("简历附件地址")
+    private String resumeUrl;
+
+    @Schema(description = "真实姓名", example = "李四")
+    @ExcelProperty("真实姓名")
+    private String name;
+
+    @Schema(description = "外文名", example = "张三")
+    @ExcelProperty("外文名")
+    private String foreignName;
+
+    @Schema(description = "用户性别")
+    @ExcelProperty("用户性别")
+    private String sex;
+
+    @Schema(description = "头像地址")
+    @ExcelProperty("头像地址")
+    private String avatar;
+
+    @Schema(description = "联系手机号")
+    @ExcelProperty("联系手机号")
+    private String phone;
+
+    @Schema(description = "用户邮箱")
+    @ExcelProperty("用户邮箱")
+    private String email;
+
+    @Schema(description = "微信号")
+    @ExcelProperty("微信号")
+    private String wxCode;
+
+    @Schema(description = "出生日期")
+    @ExcelProperty("出生日期")
+    private LocalDateTime birthday;
+
+    @Schema(description = "是否党员")
+    @ExcelProperty("是否党员")
+    private Integer partyMember;
+
+    @Schema(description = "国籍")
+    @ExcelProperty("国籍")
+    private String nationality;
+
+    @Schema(description = "婚姻状况(0未婚 1已婚 2离异 3保密)", example = "2")
+    @ExcelProperty("婚姻状况(0未婚 1已婚 2离异 3保密)")
+    private String maritalStatus;
+
+    @Schema(description = "现居住地", example = "21528")
+    @ExcelProperty("现居住地")
+    private Long areaId;
+
+    @Schema(description = "现居地文本")
+    @ExcelProperty("现居地文本")
+    private String areaStr;
+
+    @Schema(description = "户籍地", example = "26537")
+    @ExcelProperty("户籍地")
+    private Long regId;
+
+    @Schema(description = "户籍地文本")
+    @ExcelProperty("户籍地文本")
+    private String regStr;
+
+    @Schema(description = "求职类型(0全职 1兼职 2临时 3实习)", example = "1")
+    @ExcelProperty("求职类型(0全职 1兼职 2临时 3实习)")
+    private String jobType;
+
+    @Schema(description = "求职状态(0离职-随时到岗 1在职-月内到岗 2在职-考虑机会 3在职-暂不考虑)", example = "2")
+    @ExcelProperty("求职状态(0离职-随时到岗 1在职-月内到岗 2在职-考虑机会 3在职-暂不考虑)")
+    private String jobStatus;
+
+    @Schema(description = "首次工作时间")
+    @ExcelProperty("首次工作时间")
+    private LocalDateTime firstWorkTime;
+
+    @Schema(description = "个人优势")
+    @ExcelProperty("个人优势")
+    private String advantage;
+
+    @Schema(description = "工作经验", example = "2")
+    @ExcelProperty("工作经验")
+    private String expType;
+
+    @Schema(description = "学历", example = "2")
+    @ExcelProperty("学历")
+    private String eduType;
+
+    @Schema(description = "是否有筹备经验")
+    @ExcelProperty("是否有筹备经验")
+    private Integer prepareExp;
+
+    @Schema(description = "意向工作城市")
+    @ExcelProperty("意向工作城市")
+    private String interestedAreaIdList;
+
+    @Schema(description = "人才标签")
+    @ExcelProperty("人才标签")
+    private String tagList;
+
+    @Schema(description = "配偶家乡id", example = "9408")
+    @ExcelProperty("配偶家乡id")
+    private Long spouseHometownId;
+
+    @Schema(description = "配偶家乡文本")
+    @ExcelProperty("配偶家乡文本")
+    private String spouseHometownStr;
+
+    @Schema(description = "子女年龄")
+    @ExcelProperty("子女年龄")
+    private String childAge;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 102 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/info/TalentMapInfoSaveReqVO.java

@@ -0,0 +1,102 @@
+package com.citu.module.menduner.system.controller.base.talent.info;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 门墩儿-人才地图-人才基本信息新增/修改 Request VO")
+@Data
+public class TalentMapInfoSaveReqVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "8006")
+    private Long id;
+
+    @Schema(description = "用户id", example = "13625")
+    private Long userId;
+
+    @Schema(description = "简历附件地址", example = "https://www.iocoder.cn")
+    private String resumeUrl;
+
+    @Schema(description = "真实姓名", example = "李四")
+    private String name;
+
+    @Schema(description = "外文名", example = "张三")
+    private String foreignName;
+
+    @Schema(description = "用户性别")
+    private String sex;
+
+    @Schema(description = "头像地址")
+    private String avatar;
+
+    @Schema(description = "联系手机号")
+    private String phone;
+
+    @Schema(description = "用户邮箱")
+    private String email;
+
+    @Schema(description = "微信号")
+    private String wxCode;
+
+    @Schema(description = "出生日期")
+    private LocalDateTime birthday;
+
+    @Schema(description = "是否党员")
+    private Integer partyMember;
+
+    @Schema(description = "国籍")
+    private String nationality;
+
+    @Schema(description = "婚姻状况(0未婚 1已婚 2离异 3保密)", example = "2")
+    private String maritalStatus;
+
+    @Schema(description = "现居住地", example = "21528")
+    private Long areaId;
+
+    @Schema(description = "现居地文本")
+    private String areaStr;
+
+    @Schema(description = "户籍地", example = "26537")
+    private Long regId;
+
+    @Schema(description = "户籍地文本")
+    private String regStr;
+
+    @Schema(description = "求职类型(0全职 1兼职 2临时 3实习)", example = "1")
+    private String jobType;
+
+    @Schema(description = "求职状态(0离职-随时到岗 1在职-月内到岗 2在职-考虑机会 3在职-暂不考虑)", example = "2")
+    private String jobStatus;
+
+    @Schema(description = "首次工作时间")
+    private LocalDateTime firstWorkTime;
+
+    @Schema(description = "个人优势")
+    private String advantage;
+
+    @Schema(description = "工作经验", example = "2")
+    private String expType;
+
+    @Schema(description = "学历", example = "2")
+    private String eduType;
+
+    @Schema(description = "是否有筹备经验")
+    private Integer prepareExp;
+
+    @Schema(description = "意向工作城市")
+    private String interestedAreaIdList;
+
+    @Schema(description = "人才标签")
+    private String tagList;
+
+    @Schema(description = "配偶家乡id", example = "9408")
+    private Long spouseHometownId;
+
+    @Schema(description = "配偶家乡文本")
+    private String spouseHometownStr;
+
+    @Schema(description = "子女年龄")
+    private String childAge;
+
+}

+ 69 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpPageReqVO.java

@@ -0,0 +1,69 @@
+package com.citu.module.menduner.system.controller.base.talent.work;
+
+
+import com.citu.framework.common.pojo.PageParam;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import java.time.LocalDateTime;
+
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
+
+@Schema(description = "管理后台 - 人才地图-工作经历分页 Request VO")
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+public class TalentMapWorkExpPageReqVO extends PageParam {
+
+    @Schema(description = "人才id", example = "2101")
+    private Long personId;
+
+    @Schema(description = "集团")
+    private String bloc;
+
+    @Schema(description = "品牌")
+    private String brand;
+
+    @Schema(description = "企业id", example = "1149")
+    private Long enterpriseId;
+
+    @Schema(description = "企业名称(没有选择系统企业时可自定义)", example = "王五")
+    private String enterpriseName;
+
+    @Schema(description = "企业类型", example = "2")
+    private String type;
+
+    @Schema(description = "是否在职")
+    private Integer currentlyEmployed;
+
+    @Schema(description = "所属行业", example = "27790")
+    private Long industryId;
+
+    @Schema(description = "所属部门", example = "王五")
+    private String deptName;
+
+    @Schema(description = "所属职位", example = "19797")
+    private Long positionId;
+
+    @Schema(description = "职位名称(没有选择系统职位时可自定义)", example = "赵六")
+    private String positionName;
+
+    @Schema(description = "在职开始日期")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] startTime;
+
+    @Schema(description = "在职结束时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] endTime;
+
+    @Schema(description = "货币类型", example = "2")
+    private String currencyType;
+
+    @Schema(description = "创建时间")
+    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
+    private LocalDateTime[] createTime;
+
+}

+ 101 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpRespVO.java

@@ -0,0 +1,101 @@
+package com.citu.module.menduner.system.controller.base.talent.work;
+
+
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 人才地图-工作经历 Response VO")
+@Data
+@ExcelIgnoreUnannotated
+public class TalentMapWorkExpRespVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31463")
+    @ExcelProperty("id")
+    private Long id;
+
+    @Schema(description = "人才id", example = "2101")
+    @ExcelProperty("人才id")
+    private Long personId;
+
+    @Schema(description = "集团")
+    @ExcelProperty("集团")
+    private String bloc;
+
+    @Schema(description = "品牌")
+    @ExcelProperty("品牌")
+    private String brand;
+
+    @Schema(description = "企业id", example = "1149")
+    @ExcelProperty("企业id")
+    private Long enterpriseId;
+
+    @Schema(description = "企业名称(没有选择系统企业时可自定义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+    @ExcelProperty("企业名称(没有选择系统企业时可自定义)")
+    private String enterpriseName;
+
+    @Schema(description = "企业类型", example = "2")
+    @ExcelProperty("企业类型")
+    private String type;
+
+    @Schema(description = "是否在职")
+    @ExcelProperty("是否在职")
+    private Integer currentlyEmployed;
+
+    @Schema(description = "所属行业", example = "27790")
+    @ExcelProperty("所属行业")
+    private Long industryId;
+
+    @Schema(description = "所属部门", example = "王五")
+    @ExcelProperty("所属部门")
+    private String deptName;
+
+    @Schema(description = "所属职位", example = "19797")
+    @ExcelProperty("所属职位")
+    private Long positionId;
+
+    @Schema(description = "职位名称(没有选择系统职位时可自定义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
+    @ExcelProperty("职位名称(没有选择系统职位时可自定义)")
+    private String positionName;
+
+    @Schema(description = "在职开始日期")
+    @ExcelProperty("在职开始日期")
+    private LocalDateTime startTime;
+
+    @Schema(description = "在职结束时间")
+    @ExcelProperty("在职结束时间")
+    private LocalDateTime endTime;
+
+    @Schema(description = "工作内容")
+    @ExcelProperty("工作内容")
+    private String content;
+
+    @Schema(description = "业绩")
+    @ExcelProperty("业绩")
+    private String achievement;
+
+    @Schema(description = "薪酬")
+    @ExcelProperty("薪酬")
+    private BigDecimal pay;
+
+    @Schema(description = "薪酬单位(0月薪 1年薪)")
+    @ExcelProperty("薪酬单位(0月薪 1年薪)")
+    private String payUnit;
+
+    @Schema(description = "货币类型", example = "2")
+    @ExcelProperty("货币类型")
+    private String currencyType;
+
+    @Schema(description = "技能")
+    @ExcelProperty("技能")
+    private String skillList;
+
+    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
+    @ExcelProperty("创建时间")
+    private LocalDateTime createTime;
+
+}

+ 77 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/controller/base/talent/work/TalentMapWorkExpSaveReqVO.java

@@ -0,0 +1,77 @@
+package com.citu.module.menduner.system.controller.base.talent.work;
+
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Schema(description = "管理后台 - 人才地图-工作经历新增/修改 Request VO")
+@Data
+public class TalentMapWorkExpSaveReqVO {
+
+    @Schema(description = "id", requiredMode = Schema.RequiredMode.REQUIRED, example = "31463")
+    private Long id;
+
+    @Schema(description = "人才id", example = "2101")
+    private Long personId;
+
+    @Schema(description = "集团")
+    private String bloc;
+
+    @Schema(description = "品牌")
+    private String brand;
+
+    @Schema(description = "企业id", example = "1149")
+    private Long enterpriseId;
+
+    @Schema(description = "企业名称(没有选择系统企业时可自定义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "王五")
+    @NotEmpty(message = "企业名称(没有选择系统企业时可自定义)不能为空")
+    private String enterpriseName;
+
+    @Schema(description = "企业类型", example = "2")
+    private String type;
+
+    @Schema(description = "是否在职")
+    private Integer currentlyEmployed;
+
+    @Schema(description = "所属行业", example = "27790")
+    private Long industryId;
+
+    @Schema(description = "所属部门", example = "王五")
+    private String deptName;
+
+    @Schema(description = "所属职位", example = "19797")
+    private Long positionId;
+
+    @Schema(description = "职位名称(没有选择系统职位时可自定义)", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
+    @NotEmpty(message = "职位名称(没有选择系统职位时可自定义)不能为空")
+    private String positionName;
+
+    @Schema(description = "在职开始日期")
+    private LocalDateTime startTime;
+
+    @Schema(description = "在职结束时间")
+    private LocalDateTime endTime;
+
+    @Schema(description = "工作内容")
+    private String content;
+
+    @Schema(description = "业绩")
+    private String achievement;
+
+    @Schema(description = "薪酬")
+    private BigDecimal pay;
+
+    @Schema(description = "薪酬单位(0月薪 1年薪)")
+    private String payUnit;
+
+    @Schema(description = "货币类型", example = "2")
+    private String currencyType;
+
+    @Schema(description = "技能")
+    private String skillList;
+
+}

+ 85 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/talent/TalentMapEduExpDO.java

@@ -0,0 +1,85 @@
+package com.citu.module.menduner.system.dal.dataobject.talent;
+
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.citu.framework.tenant.core.db.TenantBaseDO;
+import lombok.*;
+
+import java.time.LocalDateTime;
+
+/**
+ * 人才地图-人才教育经历 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_talent_map_edu_exp")
+@KeySequence("mde_talent_map_edu_exp_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TalentMapEduExpDO extends TenantBaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 人才id
+     */
+    private Long personId;
+    /**
+     * 学校id
+     */
+    private Long schoolId;
+    /**
+     * 学校名称(没有选择系统企业可自定义)
+     */
+    private String schoolName;
+    /**
+     * 学历(0初中及以下 | 1中专/中技 | 2高中 | 3大专 | 4 本科 5 硕士 6 博士 99 其他)
+     */
+    private String educationType;
+    /**
+     * 学历文本
+     */
+    private String educationTypeStr;
+    /**
+     * 学制类型(0 全日制 | 1 非全日制)
+     */
+    private String educationSystemType;
+    /**
+     * 学制类型文本
+     */
+    private String educationSystemTypeStr;
+    /**
+     * 是否国外
+     */
+    private Integer abroad;
+    /**
+     * 专业id
+     */
+    private Long majorId;
+    /**
+     * 专业名称(没有选择系统企业可自定义)
+     */
+    private String major;
+    /**
+     * 在校开始日期
+     */
+    private LocalDateTime startTime;
+    /**
+     * 在校结束时间
+     */
+    private LocalDateTime endTime;
+    /**
+     * 在校经历
+     */
+    private String content;
+
+}

+ 159 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/talent/TalentMapInfoDO.java

@@ -0,0 +1,159 @@
+package com.citu.module.menduner.system.dal.dataobject.talent;
+
+
+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
+ *
+ * @author Rayson
+ */
+@TableName(value = "mde_talent_map_info", autoResultMap = true)
+@KeySequence("mde_talent_map_info_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TalentMapInfoDO extends TenantBaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 用户id
+     */
+    private Long userId;
+    /**
+     * 简历附件地址
+     */
+    private String resumeUrl;
+    /**
+     * 真实姓名
+     */
+    private String name;
+    /**
+     * 外文名
+     */
+    private String foreignName;
+    /**
+     * 用户性别
+     */
+    private String sex;
+    /**
+     * 头像地址
+     */
+    private String avatar;
+    /**
+     * 联系手机号
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private String phone;
+    /**
+     * 用户邮箱
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private String email;
+    /**
+     * 微信号
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private String wxCode;
+    /**
+     * 出生日期
+     */
+    private LocalDateTime birthday;
+    /**
+     * 是否党员
+     */
+    private Integer partyMember;
+    /**
+     * 国籍
+     */
+    private String nationality;
+    /**
+     * 婚姻状况(0未婚 1已婚 2离异 3保密)
+     */
+    private String maritalStatus;
+    /**
+     * 现居住地
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private Long areaId;
+    /**
+     * 现居地文本
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private String areaStr;
+    /**
+     * 户籍地
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private Long regId;
+    /**
+     * 户籍地文本
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private String regStr;
+    /**
+     * 求职类型(0全职 1兼职 2临时 3实习)
+     */
+    private String jobType;
+    /**
+     * 求职状态(0离职-随时到岗 1在职-月内到岗 2在职-考虑机会 3在职-暂不考虑)
+     */
+    private String jobStatus;
+    /**
+     * 首次工作时间
+     */
+    private LocalDateTime firstWorkTime;
+    /**
+     * 个人优势
+     */
+    private String advantage;
+    /**
+     * 工作经验
+     */
+    private String expType;
+    /**
+     * 学历
+     */
+    private String eduType;
+    /**
+     * 是否有筹备经验
+     */
+    private Integer prepareExp;
+    /**
+     * 意向工作城市
+     */
+    private String interestedAreaIdList;
+    /**
+     * 人才标签
+     */
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private List<String> tagList;
+    /**
+     * 配偶家乡id
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private Long spouseHometownId;
+    /**
+     * 配偶家乡文本
+     */
+    @TableField(updateStrategy = FieldStrategy.ALWAYS)
+    private String spouseHometownStr;
+    /**
+     * 子女年龄
+     */
+    private String childAge;
+
+}

+ 114 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/talent/TalentMapWorkExpDO.java

@@ -0,0 +1,114 @@
+package com.citu.module.menduner.system.dal.dataobject.talent;
+
+
+import com.baomidou.mybatisplus.annotation.KeySequence;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler;
+import com.citu.framework.tenant.core.db.TenantBaseDO;
+import lombok.*;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.List;
+
+/**
+ * 人才地图-工作经历 DO
+ *
+ * @author Rayson
+ */
+@TableName(value = "mde_talent_map_work_exp", autoResultMap = true)
+@KeySequence("mde_talent_map_work_exp_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class TalentMapWorkExpDO extends TenantBaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 人才id
+     */
+    private Long personId;
+    /**
+     * 集团
+     */
+    private String bloc;
+    /**
+     * 品牌
+     */
+    private String brand;
+    /**
+     * 企业id
+     */
+    private Long enterpriseId;
+    /**
+     * 企业名称(没有选择系统企业时可自定义)
+     */
+    private String enterpriseName;
+    /**
+     * 企业类型
+     */
+    private String type;
+    /**
+     * 是否在职
+     */
+    private Integer currentlyEmployed;
+    /**
+     * 所属行业
+     */
+    private Long industryId;
+    /**
+     * 所属部门
+     */
+    private String deptName;
+    /**
+     * 所属职位
+     */
+    private Long positionId;
+    /**
+     * 职位名称(没有选择系统职位时可自定义)
+     */
+    private String positionName;
+    /**
+     * 在职开始日期
+     */
+    private LocalDateTime startTime;
+    /**
+     * 在职结束时间
+     */
+    private LocalDateTime endTime;
+    /**
+     * 工作内容
+     */
+    private String content;
+    /**
+     * 业绩
+     */
+    private String achievement;
+    /**
+     * 薪酬
+     */
+    private BigDecimal pay;
+    /**
+     * 薪酬单位(0月薪 1年薪)
+     */
+    private String payUnit;
+    /**
+     * 货币类型
+     */
+    private String currencyType;
+    /**
+     * 技能
+     */
+    @TableField(typeHandler = JacksonTypeHandler.class)
+    private List<String> skillList;
+
+}

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

@@ -20,4 +20,7 @@ public class ContentStyle {
     /** 排序 **/
     private Integer sort;
 
+    /** 状态 **/
+    private String status;
+
 }

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

@@ -0,0 +1,38 @@
+package com.citu.module.menduner.system.dal.mysql.talent;
+
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.citu.module.menduner.system.controller.base.talent.edu.TalentMapEduExpPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.talent.TalentMapEduExpDO;
+import org.apache.ibatis.annotations.Mapper;
+
+
+/**
+ * 人才地图-人才教育经历 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface TalentMapEduExpMapper extends BaseMapperX<TalentMapEduExpDO> {
+
+    default PageResult<TalentMapEduExpDO> selectPage(TalentMapEduExpPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<TalentMapEduExpDO>()
+                .eqIfPresent(TalentMapEduExpDO::getPersonId, reqVO.getPersonId())
+                .eqIfPresent(TalentMapEduExpDO::getSchoolId, reqVO.getSchoolId())
+                .likeIfPresent(TalentMapEduExpDO::getSchoolName, reqVO.getSchoolName())
+                .eqIfPresent(TalentMapEduExpDO::getEducationType, reqVO.getEducationType())
+                .likeIfPresent(TalentMapEduExpDO::getEducationTypeStr, reqVO.getEducationTypeStr())
+                .eqIfPresent(TalentMapEduExpDO::getEducationSystemType, reqVO.getEducationSystemType())
+                .likeIfPresent(TalentMapEduExpDO::getEducationSystemTypeStr, reqVO.getEducationSystemTypeStr())
+                .eqIfPresent(TalentMapEduExpDO::getAbroad, reqVO.getAbroad())
+                .eqIfPresent(TalentMapEduExpDO::getMajorId, reqVO.getMajorId())
+                .likeIfPresent(TalentMapEduExpDO::getMajor, reqVO.getMajor())
+                .betweenIfPresent(TalentMapEduExpDO::getStartTime, reqVO.getStartTime())
+                .betweenIfPresent(TalentMapEduExpDO::getEndTime, reqVO.getEndTime())
+                .betweenIfPresent(TalentMapEduExpDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(TalentMapEduExpDO::getId));
+    }
+
+}

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

@@ -0,0 +1,48 @@
+package com.citu.module.menduner.system.dal.mysql.talent;
+
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+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;
+
+
+/**
+ * 门墩儿-人才地图-人才基本信息 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface TalentMapInfoMapper extends BaseMapperX<TalentMapInfoDO> {
+
+    default PageResult<TalentMapInfoDO> selectPage(TalentMapInfoPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<TalentMapInfoDO>()
+                .eqIfPresent(TalentMapInfoDO::getUserId, reqVO.getUserId())
+                .likeIfPresent(TalentMapInfoDO::getName, reqVO.getName())
+                .likeIfPresent(TalentMapInfoDO::getForeignName, reqVO.getForeignName())
+                .eqIfPresent(TalentMapInfoDO::getSex, reqVO.getSex())
+                .eqIfPresent(TalentMapInfoDO::getPhone, reqVO.getPhone())
+                .eqIfPresent(TalentMapInfoDO::getEmail, reqVO.getEmail())
+                .eqIfPresent(TalentMapInfoDO::getWxCode, reqVO.getWxCode())
+                .eqIfPresent(TalentMapInfoDO::getPartyMember, reqVO.getPartyMember())
+                .likeIfPresent(TalentMapInfoDO::getNationality, reqVO.getNationality())
+                .eqIfPresent(TalentMapInfoDO::getMaritalStatus, reqVO.getMaritalStatus())
+                .eqIfPresent(TalentMapInfoDO::getAreaId, reqVO.getAreaId())
+                .likeIfPresent(TalentMapInfoDO::getAreaStr, reqVO.getAreaStr())
+                .eqIfPresent(TalentMapInfoDO::getRegId, reqVO.getRegId())
+                .likeIfPresent(TalentMapInfoDO::getRegStr, reqVO.getRegStr())
+                .eqIfPresent(TalentMapInfoDO::getJobType, reqVO.getJobType())
+                .eqIfPresent(TalentMapInfoDO::getJobStatus, reqVO.getJobStatus())
+                .betweenIfPresent(TalentMapInfoDO::getFirstWorkTime, reqVO.getFirstWorkTime())
+                .eqIfPresent(TalentMapInfoDO::getExpType, reqVO.getExpType())
+                .eqIfPresent(TalentMapInfoDO::getEduType, reqVO.getEduType())
+                .eqIfPresent(TalentMapInfoDO::getPrepareExp, reqVO.getPrepareExp())
+                .eqIfPresent(TalentMapInfoDO::getSpouseHometownId, reqVO.getSpouseHometownId())
+                .likeIfPresent(TalentMapInfoDO::getSpouseHometownStr, reqVO.getSpouseHometownStr())
+                .betweenIfPresent(TalentMapInfoDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(TalentMapInfoDO::getId));
+    }
+
+}

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

@@ -0,0 +1,39 @@
+package com.citu.module.menduner.system.dal.mysql.talent;
+
+
+import com.citu.framework.common.pojo.PageResult;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
+import com.citu.module.menduner.system.controller.base.talent.work.TalentMapWorkExpPageReqVO;
+import com.citu.module.menduner.system.dal.dataobject.talent.TalentMapWorkExpDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 人才地图-工作经历 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface TalentMapWorkExpMapper extends BaseMapperX<TalentMapWorkExpDO> {
+
+    default PageResult<TalentMapWorkExpDO> selectPage(TalentMapWorkExpPageReqVO reqVO) {
+        return selectPage(reqVO, new LambdaQueryWrapperX<TalentMapWorkExpDO>()
+                .eqIfPresent(TalentMapWorkExpDO::getPersonId, reqVO.getPersonId())
+                .likeIfPresent(TalentMapWorkExpDO::getBloc, reqVO.getBloc())
+                .likeIfPresent(TalentMapWorkExpDO::getBrand, reqVO.getBrand())
+                .eqIfPresent(TalentMapWorkExpDO::getEnterpriseId, reqVO.getEnterpriseId())
+                .likeIfPresent(TalentMapWorkExpDO::getEnterpriseName, reqVO.getEnterpriseName())
+                .eqIfPresent(TalentMapWorkExpDO::getType, reqVO.getType())
+                .eqIfPresent(TalentMapWorkExpDO::getCurrentlyEmployed, reqVO.getCurrentlyEmployed())
+                .eqIfPresent(TalentMapWorkExpDO::getIndustryId, reqVO.getIndustryId())
+                .likeIfPresent(TalentMapWorkExpDO::getDeptName, reqVO.getDeptName())
+                .eqIfPresent(TalentMapWorkExpDO::getPositionId, reqVO.getPositionId())
+                .likeIfPresent(TalentMapWorkExpDO::getPositionName, reqVO.getPositionName())
+                .betweenIfPresent(TalentMapWorkExpDO::getStartTime, reqVO.getStartTime())
+                .betweenIfPresent(TalentMapWorkExpDO::getEndTime, reqVO.getEndTime())
+                .eqIfPresent(TalentMapWorkExpDO::getCurrencyType, reqVO.getCurrencyType())
+                .betweenIfPresent(TalentMapWorkExpDO::getCreateTime, reqVO.getCreateTime())
+                .orderByDesc(TalentMapWorkExpDO::getId));
+    }
+
+}

+ 45 - 51
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/service/resume/OnlineResumeServiceImpl.java

@@ -7,7 +7,6 @@ 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.PersonDetailExtendRespVO;
 import com.citu.module.menduner.system.controller.base.person.info.PersonInfoRespVO;
-import com.citu.module.menduner.system.controller.base.person.skill.PersonSkillRespVO;
 import com.citu.module.menduner.system.controller.base.projectexp.ProjectExpRespVO;
 import com.citu.module.menduner.system.controller.base.resume.resumesdk.*;
 import com.citu.module.menduner.system.controller.base.trainexp.TrainExpRespVO;
@@ -15,12 +14,10 @@ import com.citu.module.menduner.system.controller.base.workexp.WorkExpRespVO;
 import com.citu.module.menduner.system.enums.eduexp.EducationTypeEnum;
 import com.citu.module.menduner.system.enums.workexp.ExpTypeEnum;
 import com.citu.module.menduner.system.service.area.AreaService;
-import com.google.common.collect.ImmutableMap;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
-
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.ArrayList;
@@ -35,12 +32,10 @@ import static com.citu.module.menduner.system.enums.ErrorCodeConstants.MDE_PERSO
 public class OnlineResumeServiceImpl implements OnlineResumeService {
 
 
-    @Resource
-    private TenResumeService tenResumeService;
-
     @Resource
     AreaService areaService;
-
+    @Resource
+    private TenResumeService tenResumeService;
 
     @Override
     public TemResumeResVo resumeParser(String fileUrl) {
@@ -81,7 +76,7 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
     }
 
 
-    PersonInfoRespVO temResumeResVoConvertToPersonInfoRespVO(TemResumeContent temResumeResVo){
+    PersonInfoRespVO temResumeResVoConvertToPersonInfoRespVO(TemResumeContent temResumeResVo) {
         PersonInfoRespVO personInfoRespVO = new PersonInfoRespVO();
         personInfoRespVO.setName(temResumeResVo.getName());
 //        personInfoRespVO.setForeignName(temResumeResVo.getNameEn());
@@ -92,42 +87,42 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
         personInfoRespVO.setWxCode(temResumeResVo.getWeixin());
         personInfoRespVO.setBirthday(convertDate(temResumeResVo.getBirthday()));
         personInfoRespVO.setMaritalStatus("3");
-        if(StringUtils.isNotBlank(temResumeResVo.getMaritalStatus())){
+        if (StringUtils.isNotBlank(temResumeResVo.getMaritalStatus())) {
             String maritalStatus = temResumeResVo.getMaritalStatus().replaceAll(" ", "");
-            Map<String,String> maritalStatusMap =  new HashMap<>();
-            maritalStatusMap.put("未婚","0");
-            maritalStatusMap.put("未结婚","0");
-            maritalStatusMap.put("未婚未育","0");
-            maritalStatusMap.put("暂未结婚","0");
-            maritalStatusMap.put("已婚","1");
-            maritalStatusMap.put("已经结婚","1");
-            maritalStatusMap.put("已结婚","1");
-            maritalStatusMap.put("已婚已育","1");
-            personInfoRespVO.setMaritalStatus( maritalStatusMap.getOrDefault(maritalStatus,"3"));
+            Map<String, String> maritalStatusMap = new HashMap<>();
+            maritalStatusMap.put("未婚", "0");
+            maritalStatusMap.put("未结婚", "0");
+            maritalStatusMap.put("未婚未育", "0");
+            maritalStatusMap.put("暂未结婚", "0");
+            maritalStatusMap.put("已婚", "1");
+            maritalStatusMap.put("已经结婚", "1");
+            maritalStatusMap.put("已结婚", "1");
+            maritalStatusMap.put("已婚已育", "1");
+            personInfoRespVO.setMaritalStatus(maritalStatusMap.getOrDefault(maritalStatus, "3"));
         }
 
-        if(StringUtils.isNotBlank(temResumeResVo.getCityNorm())){
+        if (StringUtils.isNotBlank(temResumeResVo.getCityNorm())) {
             String cityNorm = temResumeResVo.getCityNorm().replaceAll(" ", "");
             String[] split = cityNorm.split("-");// 规范化的城市名,到“区县”一级: 中国-广东省 中国-湖南省-岳阳市 中国-湖南省-岳阳市-华容县
             // 只有省级别
-            if(split.length ==2){
+            if (split.length == 2) {
                 personInfoRespVO.setAreaId(areaService.getAreaByName(split[1]).getId());
             }
             // 只有市级别
-            if(split.length ==3){
+            if (split.length == 3) {
                 personInfoRespVO.setAreaId(areaService.getAreaByName(split[2]).getId());
             }
         }
 
-        if(StringUtils.isNotBlank(temResumeResVo.getHukouAddressNorm())){
+        if (StringUtils.isNotBlank(temResumeResVo.getHukouAddressNorm())) {
             String hukouAddressNorm = temResumeResVo.getHukouAddressNorm().replaceAll(" ", "");
             String[] split = hukouAddressNorm.split("-");// 规范化的城市名,到“区县”一级: 中国-广东省 中国-湖南省-岳阳市 中国-湖南省-岳阳市-华容县
             // 只有省级别
-            if(split.length ==2){
+            if (split.length == 2) {
                 personInfoRespVO.setRegId(areaService.getAreaByName(split[1]).getId());
             }
             // 只有市级别
-            if(split.length ==3){
+            if (split.length == 3) {
                 personInfoRespVO.setRegId(areaService.getAreaByName(split[2]).getId());
             }
         }
@@ -135,24 +130,25 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
 //        personInfoRespVO.setJobStatus();// //	expect_jstatus 期望工作性质
 
         personInfoRespVO.setFirstWorkTime(convertDate(temResumeResVo.getWorkStartTime()));
-        if(null == personInfoRespVO.getFirstWorkTime()){
+        if (null == personInfoRespVO.getFirstWorkTime()) {
             personInfoRespVO.setFirstWorkTime(convertDate(temResumeResVo.getWorkStartTimeInf()));
         }
         personInfoRespVO.setAdvantage(temResumeResVo.getContMyDesc());
         personInfoRespVO.setEduType(temResumeResVo.getDegree());
         String type = ExpTypeEnum.getOCREnumByYear(temResumeResVo.getWorkYearNorm()).getType();
         String type2 = ExpTypeEnum.getOCREnumByYear(temResumeResVo.getWorkYearInf()).getType();
-        personInfoRespVO.setExpType(null==type?type2:null);// expect_work_year 期望工作年限
+        personInfoRespVO.setExpType(null == type ? type2 : null);// expect_work_year 期望工作年限
         return personInfoRespVO;
     }
-    List<JobInterestedRespVO> temResumeResVoConvertToJobInterestedRespVO(TemResumeContent temResumeResVo){
+
+    List<JobInterestedRespVO> temResumeResVoConvertToJobInterestedRespVO(TemResumeContent temResumeResVo) {
         List<JobInterestedRespVO> interestedList = new ArrayList<>();
-        JobInterestedRespVO jobInterestedRespVO =new JobInterestedRespVO();
-        if(StringUtils.isNotBlank(temResumeResVo.getExpectSalaryMin())){
-            jobInterestedRespVO.setPayFrom(new BigDecimal( temResumeResVo.getExpectSalaryMin()));
+        JobInterestedRespVO jobInterestedRespVO = new JobInterestedRespVO();
+        if (StringUtils.isNotBlank(temResumeResVo.getExpectSalaryMin())) {
+            jobInterestedRespVO.setPayFrom(new BigDecimal(temResumeResVo.getExpectSalaryMin()));
         }
-        if(StringUtils.isNotBlank( temResumeResVo.getExpectSalaryMax())){
-            jobInterestedRespVO.setPayTo(new BigDecimal( temResumeResVo.getExpectSalaryMax()));
+        if (StringUtils.isNotBlank(temResumeResVo.getExpectSalaryMax())) {
+            jobInterestedRespVO.setPayTo(new BigDecimal(temResumeResVo.getExpectSalaryMax()));
         }
 
         interestedList.add(jobInterestedRespVO);
@@ -160,8 +156,8 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
         return interestedList;
     }
 
-    List<EduExpRespVO> temResumeResVoConvertToEduExpRespVO(TemResumeContent temResumeResVo){
-        List<EduExpRespVO> respVOS =new ArrayList<>();
+    List<EduExpRespVO> temResumeResVoConvertToEduExpRespVO(TemResumeContent temResumeResVo) {
+        List<EduExpRespVO> respVOS = new ArrayList<>();
 
         for (TemResumeEduVo educationObj : temResumeResVo.getEducationObjs()) {
             //可填schoolName、educationType(EducationTypeEnum)、major、startTime、endTime
@@ -178,7 +174,7 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
     }
 
     List<WorkExpRespVO> temResumeResVoConvertToWorkExpRespVO(TemResumeContent temResumeResVo) {
-        List<WorkExpRespVO> respVOS =new ArrayList<>();
+        List<WorkExpRespVO> respVOS = new ArrayList<>();
         //可填enterpriseName、positionName、startTime、endTime、content
         for (TemResumeWorkVo jobExpObj : temResumeResVo.getJobExpObjs()) {
             WorkExpRespVO workExpRespVO = new WorkExpRespVO();
@@ -191,11 +187,11 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
             respVOS.add(workExpRespVO);
         }
 
-        return  respVOS;
+        return respVOS;
     }
 
-    List<ProjectExpRespVO> temResumeResVoConvertToProjectExpRespVO(TemResumeContent temResumeResVo){
-        List<ProjectExpRespVO> respVOS =   new ArrayList<>();
+    List<ProjectExpRespVO> temResumeResVoConvertToProjectExpRespVO(TemResumeContent temResumeResVo) {
+        List<ProjectExpRespVO> respVOS = new ArrayList<>();
         for (TemResumetProjectVo projectVo : temResumeResVo.getProjExpObjs()) {
             ProjectExpRespVO projectExpRespVO = new ProjectExpRespVO();
             projectExpRespVO.setName(projectVo.getProjName());
@@ -207,8 +203,8 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
         return respVOS;
     }
 
-    List<TrainExpRespVO> temResumeResVoConvertToTrainExpRespVO(TemResumeContent temResumeResVo){
-        List<TrainExpRespVO> respVOS =new ArrayList<>();
+    List<TrainExpRespVO> temResumeResVoConvertToTrainExpRespVO(TemResumeContent temResumeResVo) {
+        List<TrainExpRespVO> respVOS = new ArrayList<>();
         for (TemResumetTrainingVo trainingObj : temResumeResVo.getTrainingObjs()) {
             TrainExpRespVO trainExpRespVO = new TrainExpRespVO();
             trainExpRespVO.setStartTime(convertDate(trainingObj.getStartDate()));
@@ -221,19 +217,19 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
         return respVOS;
     }
 
-    private LocalDateTime  convertDate(String date){
-        if(null == date){
+    private LocalDateTime convertDate(String date) {
+        if (null == date) {
             return null;
         }
-        String [] formats = {"yyyy.MM.dd","yyyy.MM","yyyy-MM-dd","yyyy/MM/dd","yyyy-MM","yyyy/MM","yyyy年MM月","yyyy年MM月dd"};
-        date = date.replaceAll(" ","");
-        if(date.length()>10){
-            date = date.substring(0,10);
+        String[] formats = {"yyyy.MM.dd", "yyyy.MM", "yyyy-MM-dd", "yyyy/MM/dd", "yyyy-MM", "yyyy/MM", "yyyy年MM月", "yyyy年MM月dd"};
+        date = date.replaceAll(" ", "");
+        if (date.length() > 10) {
+            date = date.substring(0, 10);
         }
         for (String format : formats) {
             try {
-               return DateUtil.parse(date,format).toLocalDateTime();
-            }catch (Exception e){
+                return DateUtil.parse(date, format).toLocalDateTime();
+            } catch (Exception e) {
                 continue;
             }
         }
@@ -241,6 +237,4 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
     }
 
 
-
-
 }