|
@@ -13,6 +13,7 @@ import com.citu.module.menduner.system.controller.base.talent.info.TalentMapInfo
|
|
|
import com.citu.module.menduner.system.controller.base.talent.train.TalentMapTrainExpRespVO;
|
|
|
import com.citu.module.menduner.system.controller.base.talent.work.TalentMapWorkExpRespVO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.area.AreaDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
|
|
|
import com.citu.module.menduner.system.enums.eduexp.EducationTypeEnum;
|
|
|
import com.citu.module.menduner.system.enums.job.JobSeekStatusEnum;
|
|
|
import com.citu.module.menduner.system.enums.job.JobTypeEnum;
|
|
@@ -20,8 +21,9 @@ import com.citu.module.menduner.system.enums.person.MaritalStatusEnum;
|
|
|
import com.citu.module.menduner.system.enums.person.PersonSexEnum;
|
|
|
import com.citu.module.menduner.system.enums.workexp.ExpTypeEnum;
|
|
|
import com.citu.module.menduner.system.service.area.AreaService;
|
|
|
-import org.apache.commons.lang3.StringUtils;
|
|
|
+import com.citu.module.menduner.system.service.position.PositionService;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
+import org.springframework.util.StringUtils;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.math.BigDecimal;
|
|
@@ -40,6 +42,8 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
@Resource
|
|
|
private AreaService areaService;
|
|
|
@Resource
|
|
|
+ private PositionService positionService;
|
|
|
+ @Resource
|
|
|
private TenResumeService tenResumeService;
|
|
|
|
|
|
@Override
|
|
@@ -71,6 +75,21 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
resp.setEduList(temResumeResVoConvertToEduExpRespVO(temResumeResVo));
|
|
|
// TODO resp.workList 可填enterpriseName、positionName、startTime、endTime、content
|
|
|
resp.setWorkList(temResumeResVoConvertToWorkExpRespVO(temResumeResVo));
|
|
|
+ resp.setLastEmployed(getLastEmployed(resp.getWorkList()));
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getExpectJob())) {
|
|
|
+ // 定义分隔符数组
|
|
|
+ String[] delimiters = {"/", ",", "、", ","};
|
|
|
+ // 将多个分隔符转换为一个正则表达式
|
|
|
+ String regex = StrUtil.join("|", Arrays.asList(delimiters));
|
|
|
+ // 使用正则表达式分割字符串
|
|
|
+ String[] parts = temResumeResVo.getExpectJob().split(regex);
|
|
|
+ if (parts.length > 0) {
|
|
|
+ PositionDO position = positionService.getByName(parts[0]);
|
|
|
+ if (null != position) {
|
|
|
+ resp.setLastPositionId(position.getId());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
// TODO resp.projectList 自行评估有没有
|
|
|
// resp.setProjectList(temResumeResVoConvertToProjectExpRespVO(temResumeResVo));
|
|
|
// TODO resp.trainList 大概率没有
|
|
@@ -122,7 +141,7 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
talentMapInfoRespVO.setHeight(temResumeResVo.getHeight());
|
|
|
talentMapInfoRespVO.setWeight(temResumeResVo.getWeight());
|
|
|
// 是否党员
|
|
|
- if (StringUtils.isNotBlank(temResumeResVo.getPolitStatus())) {
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getPolitStatus())) {
|
|
|
if ("党员".contains(temResumeResVo.getPolitStatus())
|
|
|
|| "共产党员".equals(temResumeResVo.getPolitStatus())
|
|
|
|| "共产党党员".equals(temResumeResVo.getPolitStatus())
|
|
@@ -138,7 +157,7 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
// 婚姻状态
|
|
|
talentMapInfoRespVO.setMaritalStatus(MaritalStatusEnum.NOT_DISCLOSED.getType());
|
|
|
talentMapInfoRespVO.setMaritalStatusStr(MaritalStatusEnum.NOT_DISCLOSED.getName());
|
|
|
- if (StringUtils.isNotBlank(temResumeResVo.getMaritalStatus())) {
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getMaritalStatus())) {
|
|
|
|
|
|
String maritalStatus = temResumeResVo.getMaritalStatus().replaceAll(" ", "");
|
|
|
Map<String, MaritalStatusEnum> maritalStatusMap = new HashMap<>();
|
|
@@ -156,7 +175,7 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
}
|
|
|
|
|
|
// 所在城市
|
|
|
- if (StringUtils.isNotBlank(temResumeResVo.getCityNorm())) {
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getCityNorm())) {
|
|
|
String cityNorm = temResumeResVo.getCityNorm().replaceAll(" ", "");
|
|
|
String[] split = cityNorm.split("-");// 规范化的城市名,到“区县”一级: 中国-广东省 中国-湖南省-岳阳市 中国-湖南省-岳阳市-华容县
|
|
|
// 只有省级别
|
|
@@ -178,7 +197,7 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
}
|
|
|
|
|
|
// 户籍地
|
|
|
- if (StringUtils.isNotBlank(temResumeResVo.getHukouAddressNorm())) {
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getHukouAddressNorm())) {
|
|
|
String hukouAddressNorm = temResumeResVo.getHukouAddressNorm().replaceAll(" ", "");
|
|
|
String[] split = hukouAddressNorm.split("-");// 规范化的城市名,到“区县”一级: 中国-广东省 中国-湖南省-岳阳市 中国-湖南省-岳阳市-华容县
|
|
|
// 只有省级别
|
|
@@ -202,8 +221,8 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
}
|
|
|
|
|
|
// 意向城市
|
|
|
- if (StringUtils.isNotBlank(temResumeResVo.getExpectJLocationNorm())) {
|
|
|
- String expectJLocationNorm = temResumeResVo.getExpectJLocationNorm().replaceAll(" ", "");
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getExpectJLocationNorm())) {
|
|
|
+ String expectJLocationNorm = temResumeResVo.getExpectJLocationNorm().replaceAll(" ", "");
|
|
|
String[] split = expectJLocationNorm.split("-");// 规范化的城市名,到“区县”一级: 中国-广东省 中国-湖南省-岳阳市 中国-湖南省-岳阳市-华容县
|
|
|
// 只有省级别
|
|
|
if (split.length == 2) {
|
|
@@ -253,9 +272,9 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
talentMapInfoRespVO.setJobTypeStr(jobTypeEnum.getName());
|
|
|
|
|
|
// 求职意向
|
|
|
- if (StringUtils.isNotBlank(temResumeResVo.getExpectJob())) {
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getExpectJob())) {
|
|
|
// 定义分隔符数组
|
|
|
- String[] delimiters = {"/", ",", "、",","};
|
|
|
+ String[] delimiters = {"/", ",", "、", ","};
|
|
|
// 将多个分隔符转换为一个正则表达式
|
|
|
String regex = StrUtil.join("|", Arrays.asList(delimiters));
|
|
|
// 使用正则表达式分割字符串
|
|
@@ -268,10 +287,10 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
List<JobInterestedRespVO> temResumeResVoConvertToJobInterestedRespVO(TemResumeContent temResumeResVo) {
|
|
|
List<JobInterestedRespVO> interestedList = new ArrayList<>();
|
|
|
JobInterestedRespVO jobInterestedRespVO = new JobInterestedRespVO();
|
|
|
- if (StringUtils.isNotBlank(temResumeResVo.getExpectSalaryMin())) {
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getExpectSalaryMin())) {
|
|
|
jobInterestedRespVO.setPayFrom(new BigDecimal(temResumeResVo.getExpectSalaryMin()));
|
|
|
}
|
|
|
- if (StringUtils.isNotBlank(temResumeResVo.getExpectSalaryMax())) {
|
|
|
+ if (StringUtils.hasText(temResumeResVo.getExpectSalaryMax())) {
|
|
|
jobInterestedRespVO.setPayTo(new BigDecimal(temResumeResVo.getExpectSalaryMax()));
|
|
|
}
|
|
|
|
|
@@ -322,6 +341,17 @@ public class OnlineResumeServiceImpl implements OnlineResumeService {
|
|
|
return respVOS;
|
|
|
}
|
|
|
|
|
|
+ TalentMapWorkExpRespVO getLastEmployed(List<TalentMapWorkExpRespVO> list) {
|
|
|
+ TalentMapWorkExpRespVO lastEmployed = list.stream()
|
|
|
+ .filter(TalentMapWorkExpRespVO::getCurrentlyEmployed).findFirst().orElse(null);
|
|
|
+ if(null != lastEmployed) {
|
|
|
+ // 取在职那一条数据
|
|
|
+ return lastEmployed;
|
|
|
+ }
|
|
|
+ // 取endTime最新一条
|
|
|
+ return list.stream().max(Comparator.comparing(TalentMapWorkExpRespVO::getEndTime)).orElse(null);
|
|
|
+ }
|
|
|
+
|
|
|
List<ProjectExpRespVO> temResumeResVoConvertToProjectExpRespVO(TemResumeContent temResumeResVo) {
|
|
|
List<ProjectExpRespVO> respVOS = new ArrayList<>();
|
|
|
for (TemResumetProjectVo projectVo : temResumeResVo.getProjExpObjs()) {
|