|
@@ -2,36 +2,47 @@ package com.citu.module.menduner.system.old;
|
|
|
|
|
|
import com.citu.framework.common.util.date.DateUtils;
|
|
|
import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
+import com.citu.framework.tenant.core.db.TenantBaseDO;
|
|
|
import com.citu.framework.tenant.core.util.TenantUtils;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.cvattachment.CvAttachmentDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.eduexp.EduExpDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseUserBindDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.job.JobAdvertisedDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.job.JobCvRelDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.person.PersonInfoDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.position.PositionDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.user.MdeUserDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.workexp.WorkExpDO;
|
|
|
+import com.citu.module.menduner.system.dal.mysql.cvattachment.CvAttachmentMapper;
|
|
|
+import com.citu.module.menduner.system.dal.mysql.eduexp.EduExpMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseUserBindMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.job.JobAdvertisedMapper;
|
|
|
+import com.citu.module.menduner.system.dal.mysql.job.JobCvRelMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.person.PersonInfoMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.position.PositionMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.user.MdeUserMapper;
|
|
|
+import com.citu.module.menduner.system.dal.mysql.workexp.WorkExpMapper;
|
|
|
import com.citu.module.menduner.system.enums.MendunerStatusEnum;
|
|
|
+import com.citu.module.menduner.system.enums.eduexp.EducationTypeEnum;
|
|
|
import com.citu.module.menduner.system.enums.enterprise.EnterpriseUserTypeEnum;
|
|
|
-import com.citu.module.menduner.system.old.dataobject.OldMdeDepartment;
|
|
|
-import com.citu.module.menduner.system.old.dataobject.OldMdeJobAdvertised;
|
|
|
-import com.citu.module.menduner.system.old.dataobject.OldMdePosition;
|
|
|
-import com.citu.module.menduner.system.old.dataobject.OldMdeUser;
|
|
|
-import com.citu.module.menduner.system.old.mysql.OldMdeDepartmentMapper;
|
|
|
-import com.citu.module.menduner.system.old.mysql.OldMdeJobAdvertisedMapper;
|
|
|
-import com.citu.module.menduner.system.old.mysql.OldMdePositionMapper;
|
|
|
-import com.citu.module.menduner.system.old.mysql.OldMdeUserMapper;
|
|
|
+import com.citu.module.menduner.system.enums.job.JobTypeEnum;
|
|
|
+import com.citu.module.menduner.system.enums.job.PayTypeEnum;
|
|
|
+import com.citu.module.menduner.system.enums.workexp.ExpTypeEnum;
|
|
|
+import com.citu.module.menduner.system.old.dataobject.*;
|
|
|
+import com.citu.module.menduner.system.old.mysql.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
import org.springframework.security.crypto.password.PasswordEncoder;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
+import java.math.BigDecimal;
|
|
|
import java.util.Collections;
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
|
@@ -43,54 +54,82 @@ import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DA
|
|
|
@Component
|
|
|
public class MdeOldSyncService {
|
|
|
|
|
|
+ /**
|
|
|
+ * 工作经验新旧平台对照
|
|
|
+ **/
|
|
|
+ private final Map<String, String> expTypeMapRelation = new HashMap() {{
|
|
|
+ put("-1", ExpTypeEnum.NO_LIMIT.getType());
|
|
|
+ put("1", ExpTypeEnum.ONE_TO_THREE_YEARS.getType());
|
|
|
+ put("3", ExpTypeEnum.THREE_TO_FIVE_YEARS.getType());
|
|
|
+ put("5", ExpTypeEnum.FIVE_TO_TEN_YEARS.getType());
|
|
|
+ put("10", ExpTypeEnum.MORE_THAN_TEN_YEARS.getType());
|
|
|
+ }};
|
|
|
+ /**
|
|
|
+ * 学历新旧平台对照
|
|
|
+ **/
|
|
|
+ private final Map<String, String> eduTypeMapRelation = new HashMap() {{
|
|
|
+ put("1", EducationTypeEnum.DOCTOR.getType());
|
|
|
+ put("2", EducationTypeEnum.MASTER.getType());
|
|
|
+ put("3", EducationTypeEnum.BACHELOR.getType());
|
|
|
+ put("4", EducationTypeEnum.COLLEGE.getType());
|
|
|
+ put("6", EducationTypeEnum.HIGH_SCHOOL.getType());
|
|
|
+ put("7", EducationTypeEnum.JUNIOR_HIGH_SCHOOL.getType());
|
|
|
+ put("10", EducationTypeEnum.OTHER.getType());
|
|
|
+ }};
|
|
|
@Resource
|
|
|
private OldMdeDepartmentMapper oldMdeDepartmentMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private OldMdePositionMapper oldPositionMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private PositionMapper positionMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private OldMdeUserMapper oldUserMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private MdeUserMapper mdeUserMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private PersonInfoMapper personInfoMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private PasswordEncoder passwordEncoder;
|
|
|
-
|
|
|
@Resource
|
|
|
private EnterpriseUserBindMapper enterpriseUserBindMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private EnterpriseMapper enterpriseMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private OldMdeJobAdvertisedMapper oldJobAdvertisedMapper;
|
|
|
-
|
|
|
@Resource
|
|
|
private JobAdvertisedMapper jobAdvertisedMapper;
|
|
|
-
|
|
|
+ @Resource
|
|
|
+ private OldMdeEducationExperienceMapper oldEducationExperienceMapper;
|
|
|
+ @Resource
|
|
|
+ private EduExpMapper eduExpMapper;
|
|
|
+ @Resource
|
|
|
+ private OldMdeWorkExperienceMapper oldWorkExperienceMapper;
|
|
|
+ @Resource
|
|
|
+ private WorkExpMapper workExpMapper;
|
|
|
+ @Resource
|
|
|
+ private OldMdeUserCvMapper oldUserCvMapper;
|
|
|
+ @Resource
|
|
|
+ private CvAttachmentMapper cvAttachmentMapper;
|
|
|
+ @Resource
|
|
|
+ private OldPositionCvRelDOMapper oldPositionCvRelDOMapper;
|
|
|
+ @Resource
|
|
|
+ private JobCvRelMapper jobCvRelMapper;
|
|
|
private String url = "https://www.mendunerhr.com/";
|
|
|
|
|
|
-
|
|
|
+ @Async
|
|
|
public void run() {
|
|
|
// 同步职位信息
|
|
|
- // syncPosition();
|
|
|
+ // syncPosition();
|
|
|
// 同步用户信息
|
|
|
- syncUser();
|
|
|
- // syncJob();
|
|
|
-
|
|
|
+ // syncUser();
|
|
|
+ // 同步发布职位
|
|
|
+ // syncJob();
|
|
|
+ // 同步人才工作经历、教育经历
|
|
|
+ syncPersonExtend();
|
|
|
+ // 同步人才简历附件、投递简历
|
|
|
+ syncCv();
|
|
|
}
|
|
|
|
|
|
- private void execute(Runnable runnable) {
|
|
|
- TenantUtils.execute(155L, runnable);
|
|
|
- }
|
|
|
|
|
|
public void syncPosition() {
|
|
|
|
|
@@ -102,16 +141,15 @@ public class MdeOldSyncService {
|
|
|
Long top = 8L;
|
|
|
PositionDO topPosition = positionMapper.selectOne(PositionDO::getNameEn, "old");
|
|
|
if (null == topPosition) {
|
|
|
- execute(() -> {
|
|
|
- positionMapper.insert(PositionDO.builder()
|
|
|
- .id(top)
|
|
|
- .parentId(0L)
|
|
|
- .nameCn("old")
|
|
|
- .nameEn("old")
|
|
|
- .level(1)
|
|
|
- .sort(0)
|
|
|
- .build());
|
|
|
- });
|
|
|
+ setCommon(topPosition);
|
|
|
+ positionMapper.insert(PositionDO.builder()
|
|
|
+ .id(top)
|
|
|
+ .parentId(0L)
|
|
|
+ .nameCn("old")
|
|
|
+ .nameEn("old")
|
|
|
+ .level(1)
|
|
|
+ .sort(0)
|
|
|
+ .build());
|
|
|
|
|
|
}
|
|
|
Long leader = 9L;
|
|
@@ -128,16 +166,16 @@ public class MdeOldSyncService {
|
|
|
if (null != positionDO) {
|
|
|
return;
|
|
|
}
|
|
|
- execute(() -> {
|
|
|
- positionMapper.insert(PositionDO.builder()
|
|
|
- .id(0 == oldMdeDepartment.getDepdId() ? leader : Long.valueOf(oldMdeDepartment.getDepdId()))
|
|
|
- .parentId(top)
|
|
|
- .nameCn(oldMdeDepartment.getDepdNameCn())
|
|
|
- .nameEn(oldMdeDepartment.getDepdNameEn())
|
|
|
- .level(2)
|
|
|
- .sort(0)
|
|
|
- .build());
|
|
|
- });
|
|
|
+ PositionDO insertionDO = PositionDO.builder()
|
|
|
+ .id(0 == oldMdeDepartment.getDepdId() ? leader : Long.valueOf(oldMdeDepartment.getDepdId()))
|
|
|
+ .parentId(top)
|
|
|
+ .nameCn(oldMdeDepartment.getDepdNameCn())
|
|
|
+ .nameEn(oldMdeDepartment.getDepdNameEn())
|
|
|
+ .level(2)
|
|
|
+ .sort(0)
|
|
|
+ .build();
|
|
|
+ setCommon(insertionDO);
|
|
|
+ positionMapper.insert(insertionDO);
|
|
|
}
|
|
|
);
|
|
|
|
|
@@ -164,11 +202,9 @@ public class MdeOldSyncService {
|
|
|
} else {
|
|
|
insertionDO.setLevel(3);
|
|
|
}
|
|
|
-
|
|
|
- execute(() -> {
|
|
|
- // 插入职位类型
|
|
|
- positionMapper.insert(insertionDO);
|
|
|
- });
|
|
|
+ setCommon(insertionDO);
|
|
|
+ // 插入职位类型
|
|
|
+ positionMapper.insert(insertionDO);
|
|
|
|
|
|
});
|
|
|
|
|
@@ -188,14 +224,14 @@ public class MdeOldSyncService {
|
|
|
|
|
|
MdeUserDO insertionDO = MdeUserDO.builder()
|
|
|
.id(oldMdeUser.getUserCode())
|
|
|
- .username(oldMdeUser.getIdentityFlag().equals("0")?oldMdeUser.getUserName():oldMdeUser.getEntPhone())
|
|
|
+ .username(oldMdeUser.getIdentityFlag().equals("0") ? oldMdeUser.getUserName() : oldMdeUser.getEntPhone())
|
|
|
// 重置密码手机号后6位
|
|
|
.password(passwordEncoder.encode("123456"))
|
|
|
.email(oldMdeUser.getEmail())
|
|
|
// 有座机,大坑
|
|
|
// 个人用户getUserName是手机号,企业用户是邮箱,所以企业用户取getEntPhone
|
|
|
- .phone(oldMdeUser.getIdentityFlag().equals("0")?oldMdeUser.getUserName():oldMdeUser.getEntPhone())
|
|
|
- .avatar(null==oldMdeUser.getHeadPortrait()?null:url + oldMdeUser.getHeadPortrait())
|
|
|
+ .phone(oldMdeUser.getIdentityFlag().equals("0") ? oldMdeUser.getUserName() : oldMdeUser.getEntPhone())
|
|
|
+ .avatar(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
.status(MendunerStatusEnum.ENABLE.getStatus())
|
|
|
.build();
|
|
|
|
|
@@ -207,44 +243,38 @@ public class MdeOldSyncService {
|
|
|
.name(oldMdeUser.getName())
|
|
|
.foreignName(oldMdeUser.getForeignName())
|
|
|
// 有座机,大坑
|
|
|
- .phone(oldMdeUser.getUserName().contains("+")?null:oldMdeUser.getUserName())
|
|
|
+ .phone(oldMdeUser.getUserName().contains("+") ? null : oldMdeUser.getUserName())
|
|
|
.email(oldMdeUser.getEmail())
|
|
|
.firstWorkTime(null == oldMdeUser.getFirstWork() ? null : oldMdeUser.getFirstWork().atStartOfDay())
|
|
|
.jobStatus(oldMdeUser.getWorkStatus())
|
|
|
.advantage(oldMdeUser.getIntroduction())
|
|
|
- .avatar(null==oldMdeUser.getHeadPortrait()?null:url + oldMdeUser.getHeadPortrait())
|
|
|
+ .avatar(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
.build();
|
|
|
|
|
|
|
|
|
- if(oldMdeUser.getIdentityFlag().equals("0")) {
|
|
|
+ if (oldMdeUser.getIdentityFlag().equals("0")) {
|
|
|
// 个人
|
|
|
- personInfoDO.setPhone(oldMdeUser.getUserName().contains("+")?null:oldMdeUser.getUserName());
|
|
|
- insertionDO.setPhone(oldMdeUser.getUserName().contains("+")?null:oldMdeUser.getUserName());
|
|
|
- }else {
|
|
|
+ personInfoDO.setPhone(oldMdeUser.getUserName().contains("+") ? null : oldMdeUser.getUserName());
|
|
|
+ insertionDO.setPhone(oldMdeUser.getUserName().contains("+") ? null : oldMdeUser.getUserName());
|
|
|
+ } else {
|
|
|
// 企业
|
|
|
personInfoDO.setPhone(oldMdeUser.getEntPhone());
|
|
|
insertionDO.setPhone(oldMdeUser.getEntPhone());
|
|
|
}
|
|
|
|
|
|
if (null != oldMdeUser.getBirthday()) {
|
|
|
+ // 生日转换
|
|
|
personInfoDO.setBirthday(DateUtils.of(oldMdeUser.getBirthday(), FORMAT_YEAR_MONTH_DAY).atStartOfDay());
|
|
|
}
|
|
|
|
|
|
- PersonInfoDO finalPersonInfoDO = personInfoDO;
|
|
|
- execute(() -> {
|
|
|
- personInfoMapper.insertOrUpdate(finalPersonInfoDO);
|
|
|
- });
|
|
|
+ setCommon(personInfoDO);
|
|
|
+ personInfoMapper.insertOrUpdate(personInfoDO);
|
|
|
|
|
|
if (null != userDO) {
|
|
|
return;
|
|
|
}
|
|
|
- execute(() -> {
|
|
|
- mdeUserMapper.insertOrUpdate(insertionDO);
|
|
|
- });
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+ setCommon(insertionDO);
|
|
|
+ mdeUserMapper.insertOrUpdate(insertionDO);
|
|
|
});
|
|
|
|
|
|
|
|
@@ -254,11 +284,11 @@ public class MdeOldSyncService {
|
|
|
EnterpriseUserBindDO userDO = enterpriseUserBindMapper.selectOne(EnterpriseUserBindDO::getUserId, oldMdeUser.getUserCode());
|
|
|
|
|
|
// 借用用户编号作为企业编号匹配唯一键(旧平台只会存在人-企业一对一)
|
|
|
- EnterpriseDO enterpriseDO = enterpriseMapper.selectOne(EnterpriseDO::getId, oldMdeUser.getUserCode());
|
|
|
+ EnterpriseDO enterpriseDO = enterpriseMapper.selectOne(EnterpriseDO::getId, oldMdeUser.getUserCode());
|
|
|
|
|
|
|
|
|
EnterpriseDO enterpriseInsertionDO = EnterpriseDO.builder()
|
|
|
- .id(null==enterpriseDO?oldMdeUser.getUserCode():enterpriseDO.getId())
|
|
|
+ .id(null == enterpriseDO ? oldMdeUser.getUserCode() : enterpriseDO.getId())
|
|
|
.parentId(0L)
|
|
|
.name(oldMdeUser.getName())
|
|
|
.foreignName(oldMdeUser.getForeignName())
|
|
@@ -267,33 +297,33 @@ public class MdeOldSyncService {
|
|
|
.introduce(oldMdeUser.getIntroduction())
|
|
|
.contact(oldMdeUser.getEntContacts())
|
|
|
.phone(oldMdeUser.getEntPhone())
|
|
|
- .logoUrl(null==oldMdeUser.getHeadPortrait()?null:url + oldMdeUser.getHeadPortrait())
|
|
|
+ .logoUrl(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
// 营业执照暂时放这
|
|
|
- .albumList(null==oldMdeUser.getImage()?null:Collections.singletonList(url +oldMdeUser.getImage()))
|
|
|
+ .albumList(null == oldMdeUser.getImage() ? null : Collections.singletonList(url + oldMdeUser.getImage()))
|
|
|
.status(MendunerStatusEnum.ENABLE.getStatus())
|
|
|
.build();
|
|
|
|
|
|
|
|
|
EnterpriseUserBindDO userInsertionDO = EnterpriseUserBindDO.builder()
|
|
|
- .id(null==userDO?oldMdeUser.getUserCode():userDO.getId())
|
|
|
+ .id(null == userDO ? oldMdeUser.getUserCode() : userDO.getId())
|
|
|
.enterpriseId(oldMdeUser.getUserCode())
|
|
|
.userId(oldMdeUser.getUserCode())
|
|
|
.name(oldMdeUser.getEntContacts())
|
|
|
- .avatar(null==oldMdeUser.getHeadPortrait()?null:url + oldMdeUser.getHeadPortrait())
|
|
|
+ .avatar(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
.email(oldMdeUser.getUserName())
|
|
|
.password((passwordEncoder.encode(oldMdeUser.getUserName())))
|
|
|
.phone(oldMdeUser.getEntPhone())
|
|
|
.userType(EnterpriseUserTypeEnum.ADMIN.getType())
|
|
|
.build();
|
|
|
|
|
|
- execute(() -> {
|
|
|
- // 插入企业信息
|
|
|
- enterpriseMapper.insertOrUpdate(enterpriseInsertionDO);
|
|
|
- });
|
|
|
- execute(() -> {
|
|
|
- // 插入企业用户绑定信息
|
|
|
- enterpriseUserBindMapper.insertOrUpdate(userInsertionDO);
|
|
|
- });
|
|
|
+ setCommon(enterpriseInsertionDO);
|
|
|
+ // 插入企业信息
|
|
|
+ enterpriseMapper.insertOrUpdate(enterpriseInsertionDO);
|
|
|
+
|
|
|
+ setCommon(userInsertionDO);
|
|
|
+ // 插入企业用户绑定信息
|
|
|
+ enterpriseUserBindMapper.insertOrUpdate(userInsertionDO);
|
|
|
+
|
|
|
});
|
|
|
|
|
|
|
|
@@ -302,37 +332,132 @@ public class MdeOldSyncService {
|
|
|
public void syncJob() {
|
|
|
// 职位信息
|
|
|
List<OldMdeJobAdvertised> jobList = oldJobAdvertisedMapper.selectList(OldMdeJobAdvertised::getDelFlag, 0);
|
|
|
- jobList.stream().forEach(oldMdeJobAdvertised -> {
|
|
|
+ jobList.forEach(oldMdeJobAdvertised -> {
|
|
|
JobAdvertisedDO jobAdvertisedDO = jobAdvertisedMapper.selectOne(JobAdvertisedDO::getId, oldMdeJobAdvertised.getJobId());
|
|
|
|
|
|
JobAdvertisedDO insertionDO = JobAdvertisedDO.builder()
|
|
|
- .id(null==jobAdvertisedDO?oldMdeJobAdvertised.getJobId():jobAdvertisedDO.getId())
|
|
|
+ .id(null == jobAdvertisedDO ? oldMdeJobAdvertised.getJobId() : jobAdvertisedDO.getId())
|
|
|
+ .type(JobTypeEnum.FULL_TIME.getType())
|
|
|
.name(oldMdeJobAdvertised.getJobName())
|
|
|
.content(oldMdeJobAdvertised.getJobDescribe())
|
|
|
.requirement(oldMdeJobAdvertised.getJobRequirement())
|
|
|
.positionId(Long.valueOf(oldMdeJobAdvertised.getPositionId()))
|
|
|
.userId(oldMdeJobAdvertised.getPublisher())
|
|
|
.enterpriseId(oldMdeJobAdvertised.getPublisher())
|
|
|
- .address(oldMdeJobAdvertised.getWorkExperience())
|
|
|
- .longitude(String.valueOf(oldMdeJobAdvertised.getAddLongitude()))
|
|
|
- .latitude(String.valueOf(oldMdeJobAdvertised.getAddLatitude()))
|
|
|
- // 不知道 学历要求和工作经验要求能否对准
|
|
|
- .eduType(oldMdeJobAdvertised.getEducation())
|
|
|
- .expType(oldMdeJobAdvertised.getWorkExperience())
|
|
|
- .payFrom(oldMdeJobAdvertised.getPayFrom())
|
|
|
- .payTo(oldMdeJobAdvertised.getPayTo())
|
|
|
+ .address(oldMdeJobAdvertised.getAddDetail())
|
|
|
+ .eduType(eduTypeMapRelation.get(oldMdeJobAdvertised.getEducation()))
|
|
|
+ .expType(expTypeMapRelation.get(oldMdeJobAdvertised.getWorkExperience()))
|
|
|
.hire(false)
|
|
|
.status(oldMdeJobAdvertised.getJobStatus())
|
|
|
.build();
|
|
|
|
|
|
- execute(() -> {
|
|
|
- jobAdvertisedMapper.insertOrUpdate(insertionDO);
|
|
|
- });
|
|
|
+ if (null != oldMdeJobAdvertised.getPayFrom() && null != oldMdeJobAdvertised.getPayTo()) {
|
|
|
+ // 薪酬x1000转换
|
|
|
+ insertionDO.setPayFrom(oldMdeJobAdvertised.getPayFrom().multiply(BigDecimal.valueOf(1000)));
|
|
|
+ insertionDO.setPayTo(oldMdeJobAdvertised.getPayTo().multiply(BigDecimal.valueOf(1000)));
|
|
|
+ insertionDO.setPayUnit(PayTypeEnum.MONTH_WAGE.getType());
|
|
|
+ }
|
|
|
+ if (0 != oldMdeJobAdvertised.getAddLongitude().compareTo(new BigDecimal("0E-8"))) {
|
|
|
+ insertionDO.setLongitude(String.valueOf(oldMdeJobAdvertised.getAddLongitude()));
|
|
|
+ insertionDO.setLatitude(String.valueOf(oldMdeJobAdvertised.getAddLatitude()));
|
|
|
+ }
|
|
|
+ setCommon(insertionDO);
|
|
|
+
|
|
|
+ jobAdvertisedMapper.insertOrUpdate(insertionDO);
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
public void syncPersonExtend() {
|
|
|
- // 人才教育经历、工作经验、投递记录信息
|
|
|
+ // 人才教育经历、工作经历
|
|
|
+ List<OldMdeEducationExperience> eduList =
|
|
|
+ oldEducationExperienceMapper.selectList(OldMdeEducationExperience::getDelFlag, 0);
|
|
|
+ eduList.forEach(e -> {
|
|
|
+ EduExpDO eduExpDO = eduExpMapper.selectOne(EduExpDO::getId, e.getEduId());
|
|
|
+ EduExpDO insertionDO = EduExpDO.builder()
|
|
|
+ .id(null == eduExpDO ? e.getEduId() : eduExpDO.getId())
|
|
|
+ .userId(e.getUserCode())
|
|
|
+ .schoolId(null)
|
|
|
+ .schoolName(e.getSchName())
|
|
|
+ .educationType(eduTypeMapRelation.get(e.getEducation()))
|
|
|
+ .major(e.getSpeciality())
|
|
|
+ .startTime(e.getEnterDate().atStartOfDay())
|
|
|
+ .endTime(null == e.getQuitDate() ? null : e.getQuitDate().atStartOfDay())
|
|
|
+ .build();
|
|
|
+ setCommon(insertionDO);
|
|
|
+
|
|
|
+ eduExpMapper.insertOrUpdate(insertionDO);
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ List<OldMdeWorkExperience> workList = oldWorkExperienceMapper.selectList(OldMdeWorkExperience::getDelFlag, 0);
|
|
|
+ workList.forEach(e -> {
|
|
|
+ WorkExpDO workExpDO = workExpMapper.selectOne(WorkExpDO::getId, e.getWorkId());
|
|
|
+ WorkExpDO insertionDO = WorkExpDO.builder()
|
|
|
+ .id(null == workExpDO ? e.getWorkId() : workExpDO.getId())
|
|
|
+ .userId(e.getUserCode())
|
|
|
+ .enterpriseId(null)
|
|
|
+ .industryId(null)
|
|
|
+ .deptName(null)
|
|
|
+ .enterpriseName(e.getCoName())
|
|
|
+ .positionName(e.getPositionTitle())
|
|
|
+ .startTime(e.getEnterDate().atStartOfDay())
|
|
|
+ .endTime(null == e.getQuitDate() ? null : e.getQuitDate().atStartOfDay())
|
|
|
+ .pay(e.getPay())
|
|
|
+ .payUnit(PayTypeEnum.MONTH_WAGE.getType())
|
|
|
+ .build();
|
|
|
+ setCommon(insertionDO);
|
|
|
+ workExpMapper.insertOrUpdate(insertionDO);
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public void syncCv() {
|
|
|
+ // 人才投递的简历、附件
|
|
|
+ List<OldMdeUserCv> cvList = oldUserCvMapper.selectList(OldMdeUserCv::getDelFlag, 0);
|
|
|
+ cvList.forEach(e -> {
|
|
|
+ CvAttachmentDO cvDO = cvAttachmentMapper.selectOne(CvAttachmentDO::getId, e.getCvId());
|
|
|
+ CvAttachmentDO insertionDO = CvAttachmentDO.builder()
|
|
|
+ .id(null == cvDO ? e.getCvId() : cvDO.getId())
|
|
|
+ .userId(e.getUserCode())
|
|
|
+ .title(e.getCvTitle())
|
|
|
+ .url(url + e.getCvUrl())
|
|
|
+ .build();
|
|
|
+ setCommon(insertionDO);
|
|
|
+ cvAttachmentMapper.insertOrUpdate(insertionDO);
|
|
|
+ });
|
|
|
+
|
|
|
+ List<OldPositionCvRelDO> cvRelDOList = oldPositionCvRelDOMapper.selectList(new LambdaQueryWrapperX<OldPositionCvRelDO>()
|
|
|
+ .eq(OldPositionCvRelDO::getDelFlag, 0)
|
|
|
+ .isNotNull(OldPositionCvRelDO::getCvUrl)
|
|
|
+ );
|
|
|
+ cvRelDOList.forEach(e -> {
|
|
|
+ JobCvRelDO cvDO = jobCvRelMapper.selectOne(JobCvRelDO::getId, e.getIntvId());
|
|
|
+ // 根据职位查询企业ID
|
|
|
+ JobAdvertisedDO advertisedDO = jobAdvertisedMapper.selectOne(JobAdvertisedDO::getId, e.getPosId());
|
|
|
+ if (null == advertisedDO) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ JobCvRelDO insertionDO = JobCvRelDO.builder()
|
|
|
+ .id(null == cvDO ? e.getIntvId() : cvDO.getId())
|
|
|
+ .enterpriseId(advertisedDO.getEnterpriseId())
|
|
|
+ .jobId(advertisedDO.getId())
|
|
|
+ .publishUserId(Long.valueOf(e.getPublisher()))
|
|
|
+ .recommendUserId(null)
|
|
|
+ .userId(e.getCandidate())
|
|
|
+ .title(e.getCvTitle())
|
|
|
+ .url(url + e.getCvUrl())
|
|
|
+ .status(e.getCvStatus().equals("0") ? "0" : "1")
|
|
|
+ .build();
|
|
|
+
|
|
|
+ setCommon(insertionDO);
|
|
|
+ jobCvRelMapper.insertOrUpdate(insertionDO);
|
|
|
+
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ private void setCommon(TenantBaseDO tenantBaseDO) {
|
|
|
+ tenantBaseDO.setTenantId(155L);
|
|
|
}
|
|
|
}
|