|
@@ -1,6 +1,7 @@
|
|
|
package com.citu.module.menduner.system.old;
|
|
|
|
|
|
import cn.hutool.core.collection.CollUtil;
|
|
|
+import com.citu.framework.common.util.date.DateUtils;
|
|
|
import com.citu.framework.common.util.object.ObjectUtils;
|
|
|
import com.citu.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import com.citu.framework.tenant.core.aop.TenantIgnore;
|
|
@@ -11,9 +12,8 @@ import com.citu.module.menduner.system.dal.dataobject.eduexp.EduExpDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.enterprise.EnterpriseAddressDO;
|
|
|
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.hotel.HotelBrandDO;
|
|
|
+import com.citu.module.menduner.system.dal.dataobject.brand.BrandDO;
|
|
|
import com.citu.module.menduner.system.dal.dataobject.hotel.HotelCompanyDO;
|
|
|
-import com.citu.module.menduner.system.dal.dataobject.hotel.HotelSubBrandDO;
|
|
|
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.job.JobInterestedDO;
|
|
@@ -27,9 +27,8 @@ import com.citu.module.menduner.system.dal.mysql.eduexp.EduExpMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.enterprise.EnterpriseAddressMapper;
|
|
|
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.hotel.HotelBrandMapper;
|
|
|
+import com.citu.module.menduner.system.dal.mysql.brand.BrandMapper;
|
|
|
import com.citu.module.menduner.system.dal.mysql.hotel.HotelCompanyMapper;
|
|
|
-import com.citu.module.menduner.system.dal.mysql.hotel.HotelSubBrandMapper;
|
|
|
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.job.JobInterestedMapper;
|
|
@@ -58,6 +57,8 @@ import java.time.temporal.ChronoUnit;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static com.citu.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY;
|
|
|
+
|
|
|
/**
|
|
|
* 门墩儿 老平台的数据同步
|
|
|
**/
|
|
@@ -138,9 +139,7 @@ public class MdeOldSyncService {
|
|
|
@Resource
|
|
|
private OldMdeSubscribedPositionsMapper oldSubscribedPositionsMapper;
|
|
|
@Resource
|
|
|
- private HotelBrandMapper hotelBrandMapper;
|
|
|
- @Resource
|
|
|
- private HotelSubBrandMapper hotelSubBrandMapper;
|
|
|
+ private BrandMapper brandMapper;
|
|
|
@Resource
|
|
|
private HotelCompanyMapper hotelCompanyMapper;
|
|
|
@Resource
|
|
@@ -358,20 +357,6 @@ public class MdeOldSyncService {
|
|
|
|
|
|
List<OldMdePosition> oldMdePositionList = oldPositionMapper.selectList(OldMdePosition::getDelFlag, 0);
|
|
|
|
|
|
-// Long top = 8L;
|
|
|
-// PositionDO topPosition = positionMapper.selectOne(PositionDO::getNameEn, "old");
|
|
|
-// if (null == topPosition) {
|
|
|
-// setCommon(topPosition);
|
|
|
-// positionMapper.insert(PositionDO.builder()
|
|
|
-// .id(top)
|
|
|
-// .parentId(0L)
|
|
|
-// .nameCn("old")
|
|
|
-// .nameEn("old")
|
|
|
-// .level(1)
|
|
|
-// .sort(0)
|
|
|
-// .build());
|
|
|
-//
|
|
|
-// }
|
|
|
Long leader = 9L;
|
|
|
oldDepartmentList.stream().forEach(
|
|
|
oldMdeDepartment -> {
|
|
@@ -454,87 +439,87 @@ public class MdeOldSyncService {
|
|
|
);
|
|
|
userMap.putAll(userList.stream().collect(Collectors.toMap(OldMdeUser::getUserCode, v -> v)));
|
|
|
// 新增用户 or 人才基本信息
|
|
|
-// userList.stream().forEach(oldMdeUser -> {
|
|
|
-//
|
|
|
-// 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()
|
|
|
-// .id(null == userDO ? oldMdeUser.getUserCode() : userDO.getId())
|
|
|
-// .username(oldMdeUser.getIdentityFlag().equals("0") ? oldMdeUser.getUserName() : oldMdeUser.getEntPhone())
|
|
|
-// // 重置密码手机号后6位
|
|
|
-// .password(passwordEncoder.encode("147258369"))
|
|
|
-// .email(oldMdeUser.getEmail())
|
|
|
-// // 有座机,大坑
|
|
|
-// // 个人用户getUserName是手机号,企业用户是邮箱,所以企业用户取getEntPhone
|
|
|
-// .phone(oldMdeUser.getIdentityFlag().equals("0") ? oldMdeUser.getUserName() : oldMdeUser.getEntPhone())
|
|
|
-// .avatar(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
-// .status(MendunerStatusEnum.ENABLE.getStatus())
|
|
|
-// .build();
|
|
|
-//
|
|
|
-//
|
|
|
-// // 人才基本信息
|
|
|
-// PersonInfoDO personInfoDO = personInfoMapper.getByUserId(oldMdeUser.getUserCode());
|
|
|
-// personInfoDO = PersonInfoDO.builder()
|
|
|
-// .id(personInfoDO != null ? personInfoDO.getId() : null)
|
|
|
-// .userId(oldMdeUser.getUserCode())
|
|
|
-// .name(oldMdeUser.getName())
|
|
|
-// .foreignName(oldMdeUser.getForeignName())
|
|
|
-// .email(oldMdeUser.getEmail())
|
|
|
-// .firstWorkTime(null == oldMdeUser.getFirstWork() ? null : oldMdeUser.getFirstWork().atStartOfDay())
|
|
|
-// .jobType(JobTypeEnum.FULL_TIME.getType())
|
|
|
-// .jobStatus(oldMdeUser.getWorkStatus())
|
|
|
-// .advantage(oldMdeUser.getIntroduction())
|
|
|
-// .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")) {
|
|
|
-// // 个人
|
|
|
-// insertionDO.setPhone(oldMdeUser.getUserName().contains("+") ? null : oldMdeUser.getUserName());
|
|
|
-// } else {
|
|
|
-// // 企业
|
|
|
-// insertionDO.setPhone(oldMdeUser.getEntPhone());
|
|
|
-// }
|
|
|
-//
|
|
|
-//
|
|
|
-// setCommon(insertionDO);
|
|
|
-// mdeUserMapper.insertOrUpdate(insertionDO);
|
|
|
-// });
|
|
|
+ userList.stream().forEach(oldMdeUser -> {
|
|
|
+
|
|
|
+ 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()
|
|
|
+ .id(null == userDO ? oldMdeUser.getUserCode() : userDO.getId())
|
|
|
+ .username(oldMdeUser.getIdentityFlag().equals("0") ? oldMdeUser.getUserName() : oldMdeUser.getEntPhone())
|
|
|
+ // 重置密码手机号后6位
|
|
|
+ .password(passwordEncoder.encode("147258369"))
|
|
|
+ .email(oldMdeUser.getEmail())
|
|
|
+ // 有座机,大坑
|
|
|
+ // 个人用户getUserName是手机号,企业用户是邮箱,所以企业用户取getEntPhone
|
|
|
+ .phone(oldMdeUser.getIdentityFlag().equals("0") ? oldMdeUser.getUserName() : oldMdeUser.getEntPhone())
|
|
|
+ .avatar(null == oldMdeUser.getHeadPortrait() ? null : url + oldMdeUser.getHeadPortrait())
|
|
|
+ .status(MendunerStatusEnum.ENABLE.getStatus())
|
|
|
+ .build();
|
|
|
+
|
|
|
+
|
|
|
+ // 人才基本信息
|
|
|
+ PersonInfoDO personInfoDO = personInfoMapper.getByUserId(oldMdeUser.getUserCode());
|
|
|
+ personInfoDO = PersonInfoDO.builder()
|
|
|
+ .id(personInfoDO != null ? personInfoDO.getId() : null)
|
|
|
+ .userId(oldMdeUser.getUserCode())
|
|
|
+ .name(oldMdeUser.getName())
|
|
|
+ .foreignName(oldMdeUser.getForeignName())
|
|
|
+ .email(oldMdeUser.getEmail())
|
|
|
+ .firstWorkTime(null == oldMdeUser.getFirstWork() ? null : oldMdeUser.getFirstWork().atStartOfDay())
|
|
|
+ .jobType(JobTypeEnum.FULL_TIME.getType())
|
|
|
+ .jobStatus(oldMdeUser.getWorkStatus())
|
|
|
+ .advantage(oldMdeUser.getIntroduction())
|
|
|
+ .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")) {
|
|
|
+ // 个人
|
|
|
+ insertionDO.setPhone(oldMdeUser.getUserName().contains("+") ? null : oldMdeUser.getUserName());
|
|
|
+ } else {
|
|
|
+ // 企业
|
|
|
+ insertionDO.setPhone(oldMdeUser.getEntPhone());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ setCommon(insertionDO);
|
|
|
+ mdeUserMapper.insertOrUpdate(insertionDO);
|
|
|
+ });
|
|
|
|
|
|
|
|
|
// 企业用户
|
|
@@ -935,43 +920,69 @@ public class MdeOldSyncService {
|
|
|
|
|
|
|
|
|
public void syncHotel() {
|
|
|
+ // 主品牌
|
|
|
List<OldHotelBrand> brandList = oldHotelBrandMapper.selectList();
|
|
|
brandList.forEach(brand -> {
|
|
|
- HotelBrandDO hotelBrandDO = hotelBrandMapper.selectOne(HotelBrandDO::getId, Long.valueOf(brand.getBrandId()));
|
|
|
- HotelBrandDO insertDO = HotelBrandDO.builder()
|
|
|
- .id(null == hotelBrandDO ? Long.valueOf(brand.getBrandId()) : hotelBrandDO.getId())
|
|
|
+ BrandDO brandDO = brandMapper.selectOne(BrandDO::getForeignId, Long.valueOf(brand.getBrandId())
|
|
|
+ ,BrandDO::getLevel,0);
|
|
|
+ BrandDO insertDO = BrandDO.builder()
|
|
|
+ .id(null == brandDO ? null : brandDO.getId())
|
|
|
+ .foreignId(Long.valueOf(brand.getBrandId()))
|
|
|
.nameCn(brand.getBrandNameCn())
|
|
|
.nameEn(brand.getBrandNameEn())
|
|
|
+ .parentId(0L)
|
|
|
+ .level(0)
|
|
|
+ .type(null)
|
|
|
.international(brand.getInternational())
|
|
|
.sort(brand.getSortId())
|
|
|
.build();
|
|
|
|
|
|
setCommon(insertDO);
|
|
|
- hotelBrandMapper.insertOrUpdate(insertDO);
|
|
|
+ brandMapper.insertOrUpdate(insertDO);
|
|
|
});
|
|
|
+
|
|
|
+ // 子品牌
|
|
|
List<OldHotelSubbrand> subbrandList = oldHotelSubbrandMapper.selectList();
|
|
|
subbrandList.forEach(subbrand -> {
|
|
|
- HotelSubBrandDO hotelSubBrandDO = hotelSubBrandMapper.selectOne(HotelSubBrandDO::getId, Long.valueOf(subbrand.getSubbrandId()));
|
|
|
- HotelSubBrandDO insertDO = HotelSubBrandDO.builder()
|
|
|
- .id(null == hotelSubBrandDO ? Long.valueOf(subbrand.getSubbrandId()) : hotelSubBrandDO.getId())
|
|
|
- .brandId(Long.valueOf(subbrand.getBrandId()))
|
|
|
+ BrandDO brandDO = brandMapper.selectOne(BrandDO::getForeignId, Long.valueOf(subbrand.getSubbrandId())
|
|
|
+ ,BrandDO::getLevel,1);
|
|
|
+
|
|
|
+ BrandDO parentDO = brandMapper.selectOne(BrandDO::getForeignId, Long.valueOf(subbrand.getBrandId())
|
|
|
+ ,BrandDO::getLevel,0);
|
|
|
+ if(null == parentDO) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ BrandDO insertDO = BrandDO.builder()
|
|
|
+ .id(null == brandDO ? null : brandDO.getId())
|
|
|
+ .foreignId(Long.valueOf(subbrand.getSubbrandId()))
|
|
|
.nameCn(subbrand.getSubbrandNameCn())
|
|
|
.nameEn(subbrand.getSubbrandNameEn())
|
|
|
- .level(String.valueOf(subbrand.getHotelLevel()))
|
|
|
+ .parentId(parentDO.getId())
|
|
|
+ .level(1)
|
|
|
+ .type(String.valueOf(subbrand.getHotelLevel()))
|
|
|
.international(subbrand.getInternational())
|
|
|
.sort(subbrand.getSortId())
|
|
|
.build();
|
|
|
+
|
|
|
setCommon(insertDO);
|
|
|
- hotelSubBrandMapper.insertOrUpdate(insertDO);
|
|
|
+ brandMapper.insertOrUpdate(insertDO);
|
|
|
});
|
|
|
+
|
|
|
+ // 酒店公司
|
|
|
List<OldHotelCompany> companyList = oldHotelCompanyMapper.selectList();
|
|
|
companyList.forEach(company -> {
|
|
|
HotelCompanyDO hotelCompanyDO = hotelCompanyMapper.selectOne(HotelCompanyDO::getId, Long.valueOf(company.getHotelId()));
|
|
|
+ BrandDO brandDO = brandMapper.selectOne(BrandDO::getForeignId, Long.valueOf(company.getSubbrandId())
|
|
|
+ ,BrandDO::getLevel,1);
|
|
|
+ if(null == brandDO) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
HotelCompanyDO insertDO = HotelCompanyDO.builder()
|
|
|
.id(null == hotelCompanyDO ? Long.valueOf(company.getHotelId()) : hotelCompanyDO.getId())
|
|
|
.nameCn(company.getHotelNameCn())
|
|
|
.nameEn(company.getHotelNameEn())
|
|
|
- .subBrandId(Long.valueOf(company.getSubbrandId()))
|
|
|
+ .brandId(brandDO.getId())
|
|
|
.addressCn(company.getHotelAddressCn())
|
|
|
.addressEn(company.getHotelAddressEn())
|
|
|
.zipCode(company.getHotelZipcode())
|