|
@@ -137,27 +137,29 @@ public class MdeOldSyncService {
|
|
|
|
|
|
private String url = "https://www.mendunerhr.com/";
|
|
|
|
|
|
+ private Map<Long, OldMdeUser> userMap = new HashMap<>();
|
|
|
+
|
|
|
@Async
|
|
|
@TenantIgnore
|
|
|
public void run() {
|
|
|
// // 同步区域
|
|
|
// syncArea();
|
|
|
-// // 同步感兴趣城市 or 订阅的职位类型
|
|
|
-// syncInterested();
|
|
|
// // 同步职位信息
|
|
|
// syncPosition();
|
|
|
-// // 同步用户信息
|
|
|
-// syncUser();
|
|
|
- // 同步vip企业信息
|
|
|
- syncVipEnterprise();
|
|
|
+ // 同步用户信息
|
|
|
+ syncUser();
|
|
|
+// // 同步vip企业信息
|
|
|
+// syncVipEnterprise();
|
|
|
// // 同步发布职位
|
|
|
// syncJob();
|
|
|
// // 同步人才工作经历、教育经历
|
|
|
// syncPersonExtend();
|
|
|
+// // 同步感兴趣城市 or 订阅的职位类型
|
|
|
+// syncInterested();
|
|
|
// // 同步人才简历附件、投递简历
|
|
|
// syncCv();
|
|
|
-// // 计算工作年限和最高学历
|
|
|
-// syncEduAndWork();
|
|
|
+ // 计算工作年限和最高学历
|
|
|
+ syncEduAndWork();
|
|
|
}
|
|
|
|
|
|
public void syncArea() {
|
|
@@ -276,16 +278,16 @@ public class MdeOldSyncService {
|
|
|
// 企业vip用户
|
|
|
List<OldMdeUser> userList = oldUserMapper.selectList(new LambdaQueryWrapperX<OldMdeUser>()
|
|
|
.eq(OldMdeUser::getDelFlag, 0)
|
|
|
- .eq(OldMdeUser::getIdentityFlag,"1")
|
|
|
- .gt(OldMdeUser::getVipFlag,"0")
|
|
|
+ .eq(OldMdeUser::getIdentityFlag, "1")
|
|
|
+ .gt(OldMdeUser::getVipFlag, "0")
|
|
|
);
|
|
|
|
|
|
userList.forEach(oldMdeUser -> {
|
|
|
EnterpriseDO enterpriseDO = enterpriseMapper.selectOne(EnterpriseDO::getId, oldMdeUser.getUserCode());
|
|
|
if (null != enterpriseDO) {
|
|
|
- enterpriseDO.setVipFlag(oldMdeUser.getVipFlag());
|
|
|
- enterpriseDO.setVipExpireDate(oldMdeUser.getDueDate().atStartOfDay());
|
|
|
- enterpriseMapper.updateById(enterpriseDO);
|
|
|
+ enterpriseDO.setVipFlag(oldMdeUser.getVipFlag());
|
|
|
+ enterpriseDO.setVipExpireDate(oldMdeUser.getDueDate().atStartOfDay());
|
|
|
+ enterpriseMapper.updateById(enterpriseDO);
|
|
|
}
|
|
|
});
|
|
|
|
|
@@ -374,16 +376,53 @@ public class MdeOldSyncService {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ public boolean containsKey(Long key) {
|
|
|
+ if (userMap.isEmpty()) {
|
|
|
+ userMap.putAll(oldUserMapper.selectList(new LambdaQueryWrapperX<OldMdeUser>()
|
|
|
+ .eq(OldMdeUser::getDelFlag, 0)
|
|
|
+ .orderByAsc(OldMdeUser::getIdentityFlag)
|
|
|
+ ).stream().collect(Collectors.toMap(OldMdeUser::getUserCode, v -> v)));
|
|
|
+ }
|
|
|
+ return userMap.containsKey(key);
|
|
|
+ }
|
|
|
+
|
|
|
public void syncUser() {
|
|
|
|
|
|
// 所有用户
|
|
|
List<OldMdeUser> userList = oldUserMapper.selectList(new LambdaQueryWrapperX<OldMdeUser>()
|
|
|
.eq(OldMdeUser::getDelFlag, 0)
|
|
|
+ // 求职用户在前面,招聘用户在后面
|
|
|
+ .orderByAsc(OldMdeUser::getIdentityFlag)
|
|
|
);
|
|
|
-
|
|
|
+ userMap.putAll(userList.stream().collect(Collectors.toMap(OldMdeUser::getUserCode, v -> v)));
|
|
|
// 新增用户 or 人才基本信息
|
|
|
userList.stream().forEach(oldMdeUser -> {
|
|
|
- MdeUserDO userDO = mdeUserMapper.selectOne(MdeUserDO::getId, oldMdeUser.getUserCode());
|
|
|
+
|
|
|
+ MdeUserDO userDO = null;
|
|
|
+ if (oldMdeUser.getIdentityFlag().equals("1")) {
|
|
|
+ // 企业用户,判断预留的手机号有没有注册过用户
|
|
|
+ if(StringUtils.hasText(oldMdeUser.getEntPhone())) {
|
|
|
+ // 手机号不为空
|
|
|
+ MdeUserDO enterpriseUser = mdeUserMapper.selectOne(MdeUserDO::getPhone, oldMdeUser.getEntPhone());
|
|
|
+ if (null != enterpriseUser) {
|
|
|
+ // 存在了,不再创建用户
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ // 企业预留的手机号为空
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 求职端用户
|
|
|
+ userDO = mdeUserMapper.selectOne(MdeUserDO::getId, oldMdeUser.getUserCode());
|
|
|
+ if (null == userDO ) {
|
|
|
+ MdeUserDO userNameUserDO = mdeUserMapper.selectOne(MdeUserDO::getUsername, oldMdeUser.getUserName());
|
|
|
+ if (null != userNameUserDO) {
|
|
|
+ // 根据账号名也匹配到数据,说明是同一个用户,直接使用账号名(手机号)匹配到的数据
|
|
|
+ userDO = userNameUserDO;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
// 账户信息
|
|
|
MdeUserDO insertionDO = MdeUserDO.builder()
|
|
@@ -415,6 +454,16 @@ public class MdeOldSyncService {
|
|
|
.avatar(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
.build();
|
|
|
|
|
|
+ if (null != oldMdeUser.getBirthday()) {
|
|
|
+ // 生日转换
|
|
|
+ personInfoDO.setBirthday(DateUtils.of(oldMdeUser.getBirthday(), FORMAT_YEAR_MONTH_DAY).atStartOfDay());
|
|
|
+ }
|
|
|
+
|
|
|
+ if (oldMdeUser.getIdentityFlag().equals("0")) {
|
|
|
+ // 企业基本信息 不新增人才信息,只有普通用户才新增
|
|
|
+ setCommon(personInfoDO);
|
|
|
+ personInfoMapper.insertOrUpdate(personInfoDO);
|
|
|
+ }
|
|
|
|
|
|
if (oldMdeUser.getIdentityFlag().equals("0")) {
|
|
|
// 个人
|
|
@@ -424,102 +473,113 @@ public class MdeOldSyncService {
|
|
|
insertionDO.setPhone(oldMdeUser.getEntPhone());
|
|
|
}
|
|
|
|
|
|
- if (null != oldMdeUser.getBirthday()) {
|
|
|
- // 生日转换
|
|
|
- personInfoDO.setBirthday(DateUtils.of(oldMdeUser.getBirthday(), FORMAT_YEAR_MONTH_DAY).atStartOfDay());
|
|
|
- }
|
|
|
-
|
|
|
- setCommon(personInfoDO);
|
|
|
- personInfoMapper.insertOrUpdate(personInfoDO);
|
|
|
|
|
|
setCommon(insertionDO);
|
|
|
mdeUserMapper.insertOrUpdate(insertionDO);
|
|
|
});
|
|
|
|
|
|
-
|
|
|
- // 企业用户
|
|
|
- List<OldMdeUser> enterpriseUserList = userList.stream().filter(c -> c.getIdentityFlag().equals("1")).collect(Collectors.toList());
|
|
|
- enterpriseUserList.forEach(oldMdeUser -> {
|
|
|
- EnterpriseUserBindDO userDO = enterpriseUserBindMapper.selectOne(EnterpriseUserBindDO::getUserId, oldMdeUser.getUserCode());
|
|
|
-
|
|
|
- // 借用用户编号作为企业编号匹配唯一键(旧平台只会存在人-企业一对一)
|
|
|
- EnterpriseDO enterpriseDO = enterpriseMapper.selectOne(EnterpriseDO::getId, oldMdeUser.getUserCode());
|
|
|
-
|
|
|
- EnterpriseAddressDO enterpriseAddressDO = enterpriseAddressMapper.selectOne(EnterpriseAddressDO::getEnterpriseId, oldMdeUser.getUserCode());
|
|
|
-
|
|
|
- EnterpriseDO enterpriseInsertionDO = EnterpriseDO.builder()
|
|
|
- .id(null == enterpriseDO ? oldMdeUser.getUserCode() : enterpriseDO.getId())
|
|
|
- .parentId(0L)
|
|
|
- .name(oldMdeUser.getName())
|
|
|
- .foreignName(oldMdeUser.getForeignName())
|
|
|
- .anotherName(oldMdeUser.getName())
|
|
|
- .website(oldMdeUser.getWebsite())
|
|
|
- .introduce(oldMdeUser.getIntroduction())
|
|
|
- .contact(oldMdeUser.getEntContacts())
|
|
|
- .phone(oldMdeUser.getEntPhone())
|
|
|
- .logoUrl(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
- .businessUrl(null == oldMdeUser.getImage() ? null : url + oldMdeUser.getImage())
|
|
|
- .status(MendunerStatusEnum.ENABLE.getStatus())
|
|
|
- .build();
|
|
|
-
|
|
|
-
|
|
|
- EnterpriseUserBindDO userInsertionDO = EnterpriseUserBindDO.builder()
|
|
|
- .id(null == userDO ? oldMdeUser.getUserCode() : userDO.getId())
|
|
|
- .enterpriseId(oldMdeUser.getUserCode())
|
|
|
- .userId(oldMdeUser.getUserCode())
|
|
|
- .name(oldMdeUser.getEntContacts())
|
|
|
- .avatar(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
- .email(oldMdeUser.getUserName())
|
|
|
- .password((passwordEncoder.encode(oldMdeUser.getUserName())))
|
|
|
- .phone(oldMdeUser.getEntPhone())
|
|
|
- .userType(EnterpriseUserTypeEnum.ADMIN.getType())
|
|
|
- .build();
|
|
|
-
|
|
|
- EnterpriseAddressDO addressInsertionDO = EnterpriseAddressDO.builder()
|
|
|
- .id(null == enterpriseAddressDO ? oldMdeUser.getUserCode() : enterpriseAddressDO.getId())
|
|
|
- .enterpriseId(oldMdeUser.getUserCode())
|
|
|
- .address(oldMdeUser.getAddDetail())
|
|
|
- .build();
|
|
|
-
|
|
|
- // 优先级:区 > 市 > 省
|
|
|
- String area = oldMdeUser.getAddrArea();
|
|
|
- String city = oldMdeUser.getAddrCity();
|
|
|
- String province = oldMdeUser.getAddrProvince();
|
|
|
-
|
|
|
- if (StringUtils.hasText(area)) {
|
|
|
- // 如果有区,则设置区ID
|
|
|
- addressInsertionDO.setAreaId(Long.valueOf(area));
|
|
|
- } else if (StringUtils.hasText(city)) {
|
|
|
- // 如果没有区但有市,则设置市ID
|
|
|
- addressInsertionDO.setAreaId(Long.valueOf(city));
|
|
|
- } else if (StringUtils.hasText(province)) {
|
|
|
- // 如果没有区和市但有省,则设置省ID
|
|
|
- addressInsertionDO.setAreaId(Long.valueOf(province));
|
|
|
- } else {
|
|
|
- // 如果都没有,则设置为null
|
|
|
- addressInsertionDO.setAreaId(null);
|
|
|
- }
|
|
|
-
|
|
|
- if (0 != oldMdeUser.getAddLongitude().compareTo(new BigDecimal("0E-8"))) {
|
|
|
- addressInsertionDO.setLongitude(String.valueOf(oldMdeUser.getAddLongitude()));
|
|
|
- addressInsertionDO.setLatitude(String.valueOf(oldMdeUser.getAddLatitude()));
|
|
|
- }
|
|
|
-
|
|
|
- setCommon(enterpriseInsertionDO);
|
|
|
- // 插入企业信息
|
|
|
- enterpriseMapper.insertOrUpdate(enterpriseInsertionDO);
|
|
|
-
|
|
|
- setCommon(userInsertionDO);
|
|
|
- // 插入企业用户绑定信息
|
|
|
- enterpriseUserBindMapper.insertOrUpdate(userInsertionDO);
|
|
|
-
|
|
|
-
|
|
|
- setCommon(addressInsertionDO);
|
|
|
- // 插入企业地址信息
|
|
|
- enterpriseAddressMapper.insertOrUpdate(addressInsertionDO);
|
|
|
-
|
|
|
- });
|
|
|
-
|
|
|
+//
|
|
|
+// // 企业用户
|
|
|
+// List<OldMdeUser> enterpriseUserList = userList.stream().filter(c -> c.getIdentityFlag().equals("1")).collect(Collectors.toList());
|
|
|
+// enterpriseUserList.forEach(oldMdeUser -> {
|
|
|
+// MdeUserDO enterpriseUser = null;
|
|
|
+// if (StringUtils.hasText(oldMdeUser.getEntPhone())) {
|
|
|
+// // 根据手机号获取用户信息
|
|
|
+// enterpriseUser = mdeUserMapper.selectOne(MdeUserDO::getPhone, oldMdeUser.getEntPhone());
|
|
|
+// if (null == enterpriseUser) {
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// enterpriseUser = mdeUserMapper.selectOne(MdeUserDO::getUsername, oldMdeUser.getUserName());
|
|
|
+// if (null == enterpriseUser) {
|
|
|
+// return;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // 借用用户编号作为企业编号匹配唯一键(旧平台只会存在人-企业一对一)
|
|
|
+// EnterpriseDO enterpriseDO = enterpriseMapper.selectOne(EnterpriseDO::getId, oldMdeUser.getUserCode());
|
|
|
+// EnterpriseDO enterpriseInsertionDO = EnterpriseDO.builder()
|
|
|
+// .id(null == enterpriseDO ? oldMdeUser.getUserCode() : enterpriseDO.getId())
|
|
|
+// .parentId(0L)
|
|
|
+// .name(oldMdeUser.getName())
|
|
|
+// .foreignName(oldMdeUser.getForeignName())
|
|
|
+// .anotherName(oldMdeUser.getName())
|
|
|
+// .website(oldMdeUser.getWebsite())
|
|
|
+// .introduce(oldMdeUser.getIntroduction())
|
|
|
+// .contact(oldMdeUser.getEntContacts())
|
|
|
+// .phone(oldMdeUser.getEntPhone())
|
|
|
+// .logoUrl(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
+// .businessUrl(null == oldMdeUser.getImage() ? null : url + oldMdeUser.getImage())
|
|
|
+// .status(MendunerStatusEnum.ENABLE.getStatus())
|
|
|
+// .build();
|
|
|
+//
|
|
|
+//
|
|
|
+// // 该企业下的用户信息
|
|
|
+// EnterpriseUserBindDO userDO = enterpriseUserBindMapper.selectOne(
|
|
|
+// EnterpriseUserBindDO::getUserId, enterpriseUser.getId(),
|
|
|
+// EnterpriseUserBindDO::getEnterpriseId, oldMdeUser.getUserCode()
|
|
|
+// );
|
|
|
+//
|
|
|
+// EnterpriseUserBindDO userInsertionDO = EnterpriseUserBindDO.builder()
|
|
|
+// .id(null == userDO ? null : userDO.getId())
|
|
|
+// .enterpriseId(oldMdeUser.getUserCode())
|
|
|
+// .userId(enterpriseUser.getId())
|
|
|
+// .name(oldMdeUser.getEntContacts())
|
|
|
+// .avatar(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
+// .email(oldMdeUser.getUserName())
|
|
|
+// .password((passwordEncoder.encode(oldMdeUser.getUserName())))
|
|
|
+// .phone(oldMdeUser.getEntPhone())
|
|
|
+// .userType(EnterpriseUserTypeEnum.ADMIN.getType())
|
|
|
+// .build();
|
|
|
+//
|
|
|
+//
|
|
|
+// // 企业的地址
|
|
|
+// EnterpriseAddressDO enterpriseAddressDO = enterpriseAddressMapper.selectOne(EnterpriseAddressDO::getEnterpriseId, oldMdeUser.getUserCode());
|
|
|
+//
|
|
|
+// EnterpriseAddressDO addressInsertionDO = EnterpriseAddressDO.builder()
|
|
|
+// .id(null == enterpriseAddressDO ? oldMdeUser.getUserCode() : enterpriseAddressDO.getId())
|
|
|
+// .enterpriseId(oldMdeUser.getUserCode())
|
|
|
+// .address(oldMdeUser.getAddDetail())
|
|
|
+// .build();
|
|
|
+//
|
|
|
+// // 优先级:区 > 市 > 省
|
|
|
+// String area = oldMdeUser.getAddrArea();
|
|
|
+// String city = oldMdeUser.getAddrCity();
|
|
|
+// String province = oldMdeUser.getAddrProvince();
|
|
|
+//
|
|
|
+// if (StringUtils.hasText(area)) {
|
|
|
+// // 如果有区,则设置区ID
|
|
|
+// addressInsertionDO.setAreaId(Long.valueOf(area));
|
|
|
+// } else if (StringUtils.hasText(city)) {
|
|
|
+// // 如果没有区但有市,则设置市ID
|
|
|
+// addressInsertionDO.setAreaId(Long.valueOf(city));
|
|
|
+// } else if (StringUtils.hasText(province)) {
|
|
|
+// // 如果没有区和市但有省,则设置省ID
|
|
|
+// addressInsertionDO.setAreaId(Long.valueOf(province));
|
|
|
+// } else {
|
|
|
+// // 如果都没有,则设置为null
|
|
|
+// addressInsertionDO.setAreaId(null);
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (0 != oldMdeUser.getAddLongitude().compareTo(new BigDecimal("0E-8"))) {
|
|
|
+// addressInsertionDO.setLongitude(String.valueOf(oldMdeUser.getAddLongitude()));
|
|
|
+// addressInsertionDO.setLatitude(String.valueOf(oldMdeUser.getAddLatitude()));
|
|
|
+// }
|
|
|
+//
|
|
|
+// setCommon(enterpriseInsertionDO);
|
|
|
+// // 插入企业信息
|
|
|
+// enterpriseMapper.insertOrUpdate(enterpriseInsertionDO);
|
|
|
+//
|
|
|
+// setCommon(userInsertionDO);
|
|
|
+// // 插入企业用户绑定信息
|
|
|
+// enterpriseUserBindMapper.insertOrUpdate(userInsertionDO);
|
|
|
+//
|
|
|
+// setCommon(addressInsertionDO);
|
|
|
+// // 插入企业地址信息
|
|
|
+// enterpriseAddressMapper.insertOrUpdate(addressInsertionDO);
|
|
|
+//
|
|
|
+// });
|
|
|
+//
|
|
|
|
|
|
}
|
|
|
|
|
@@ -527,6 +587,14 @@ public class MdeOldSyncService {
|
|
|
// 职位信息
|
|
|
List<OldMdeJobAdvertised> jobList = oldJobAdvertisedMapper.selectList();
|
|
|
jobList.forEach(oldMdeJobAdvertised -> {
|
|
|
+ if (!containsKey(oldMdeJobAdvertised.getPublisher())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ Long userId = getSystemUserId(oldMdeJobAdvertised.getPublisher());
|
|
|
+ if (null == userId) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
JobAdvertisedDO jobAdvertisedDO = jobAdvertisedMapper.selectOne(JobAdvertisedDO::getId, oldMdeJobAdvertised.getJobId());
|
|
|
|
|
|
|
|
@@ -537,7 +605,7 @@ public class MdeOldSyncService {
|
|
|
.content(oldMdeJobAdvertised.getJobDescribe())
|
|
|
.requirement(oldMdeJobAdvertised.getJobRequirement())
|
|
|
.positionId(Long.valueOf(oldMdeJobAdvertised.getPositionId()))
|
|
|
- .userId(oldMdeJobAdvertised.getPublisher())
|
|
|
+ .userId(userId)
|
|
|
.enterpriseId(oldMdeJobAdvertised.getPublisher())
|
|
|
.address(oldMdeJobAdvertised.getAddDetail())
|
|
|
.eduType(eduTypeMapRelation.get(oldMdeJobAdvertised.getEducation()))
|
|
@@ -588,10 +656,17 @@ public class MdeOldSyncService {
|
|
|
List<OldMdeEducationExperience> eduList =
|
|
|
oldEducationExperienceMapper.selectList(OldMdeEducationExperience::getDelFlag, 0);
|
|
|
eduList.forEach(e -> {
|
|
|
+ if (!containsKey(e.getUserCode())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Long userId = getSystemUserId(e.getUserCode());
|
|
|
+ if (null == userId) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
EduExpDO eduExpDO = eduExpMapper.selectOne(EduExpDO::getId, e.getEduId());
|
|
|
EduExpDO insertionDO = EduExpDO.builder()
|
|
|
.id(null == eduExpDO ? e.getEduId() : eduExpDO.getId())
|
|
|
- .userId(e.getUserCode())
|
|
|
+ .userId(userId)
|
|
|
.schoolId(null)
|
|
|
.schoolName(e.getSchName())
|
|
|
.educationType(eduTypeMapRelation.get(e.getEducation()))
|
|
@@ -607,10 +682,17 @@ public class MdeOldSyncService {
|
|
|
|
|
|
List<OldMdeWorkExperience> workList = oldWorkExperienceMapper.selectList(OldMdeWorkExperience::getDelFlag, 0);
|
|
|
workList.forEach(e -> {
|
|
|
+ if (!containsKey(e.getUserCode())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Long userId = getSystemUserId(e.getUserCode());
|
|
|
+ if (null == userId) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
WorkExpDO workExpDO = workExpMapper.selectOne(WorkExpDO::getId, e.getWorkId());
|
|
|
WorkExpDO insertionDO = WorkExpDO.builder()
|
|
|
.id(null == workExpDO ? e.getWorkId() : workExpDO.getId())
|
|
|
- .userId(e.getUserCode())
|
|
|
+ .userId(userId)
|
|
|
.enterpriseId(null)
|
|
|
.industryId(null)
|
|
|
.deptName(null)
|
|
@@ -633,10 +715,17 @@ public class MdeOldSyncService {
|
|
|
// 人才投递的简历、附件
|
|
|
List<OldMdeUserCv> cvList = oldUserCvMapper.selectList(OldMdeUserCv::getDelFlag, 0);
|
|
|
cvList.forEach(e -> {
|
|
|
+ if (!containsKey(e.getUserCode())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Long userId = getSystemUserId(e.getUserCode());
|
|
|
+ if (null == userId) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
CvAttachmentDO cvDO = cvAttachmentMapper.selectOne(CvAttachmentDO::getId, e.getCvId());
|
|
|
CvAttachmentDO insertionDO = CvAttachmentDO.builder()
|
|
|
.id(null == cvDO ? e.getCvId() : cvDO.getId())
|
|
|
- .userId(e.getUserCode())
|
|
|
+ .userId(userId)
|
|
|
.title(e.getCvTitle())
|
|
|
.url(url + e.getCvUrl())
|
|
|
.build();
|
|
@@ -648,7 +737,14 @@ public class MdeOldSyncService {
|
|
|
.eq(OldPositionCvRelDO::getDelFlag, 0)
|
|
|
);
|
|
|
cvRelDOList.forEach(e -> {
|
|
|
- if (!StringUtils.hasText(e.getCvUrl())) {
|
|
|
+ if (!StringUtils.hasText(e.getCvUrl()) || !StringUtils.hasText(e.getPublisher())) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (!containsKey(Long.valueOf(e.getPublisher()))) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ Long userId = getSystemUserId(Long.valueOf(e.getPublisher()));
|
|
|
+ if (null == userId) {
|
|
|
return;
|
|
|
}
|
|
|
JobCvRelDO cvDO = jobCvRelMapper.selectOne(JobCvRelDO::getId, e.getIntvId());
|
|
@@ -662,7 +758,7 @@ public class MdeOldSyncService {
|
|
|
.type("0")
|
|
|
.enterpriseId(advertisedDO.getEnterpriseId())
|
|
|
.jobId(advertisedDO.getId())
|
|
|
- .publishUserId(Long.valueOf(e.getPublisher()))
|
|
|
+ .publishUserId(userId)
|
|
|
.recommendUserId(null)
|
|
|
.userId(e.getCandidate())
|
|
|
.title(e.getCvTitle())
|
|
@@ -680,6 +776,7 @@ public class MdeOldSyncService {
|
|
|
public void syncEduAndWork() {
|
|
|
List<PersonInfoDO> personList = personInfoMapper.selectList();
|
|
|
personList.forEach(person -> {
|
|
|
+
|
|
|
boolean isUpdate = false;
|
|
|
EduExpDO eduMax = eduExpMapper.selectMaxEducationByUserId(person.getUserId());
|
|
|
if (null != eduMax) {
|
|
@@ -741,4 +838,23 @@ public class MdeOldSyncService {
|
|
|
private void setCommon(TenantBaseDO tenantBaseDO) {
|
|
|
tenantBaseDO.setTenantId(155L);
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ private Long getSystemUserId(Long userId) {
|
|
|
+ MdeUserDO enterpriseUser = null;
|
|
|
+ OldMdeUser oldMdeUser = userMap.get(userId);
|
|
|
+ if (StringUtils.hasText(oldMdeUser.getEntPhone())) {
|
|
|
+ // 根据手机号获取用户信息
|
|
|
+ enterpriseUser = mdeUserMapper.selectOne(MdeUserDO::getPhone, oldMdeUser.getEntPhone());
|
|
|
+ if (null == enterpriseUser) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ enterpriseUser = mdeUserMapper.selectOne(MdeUserDO::getUsername, oldMdeUser.getUserName());
|
|
|
+ if (null == enterpriseUser) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return enterpriseUser.getId();
|
|
|
+ }
|
|
|
}
|