Browse Source

1、增加了酒店品牌的数据同步
2、优化同步逻辑,解决一个人多个企业,一个企业多个人的数据同步问题

rayson 9 tháng trước cách đây
mục cha
commit
9ec4e8383d
13 tập tin đã thay đổi với 800 bổ sung219 xóa
  1. 47 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/hotel/HotelBrandDO.java
  2. 71 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/hotel/HotelCompanyDO.java
  3. 55 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/hotel/HotelSubBrandDO.java
  4. 15 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/hotel/HotelBrandMapper.java
  5. 14 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/hotel/HotelCompanyMapper.java
  6. 14 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/hotel/HotelSubBrandMapper.java
  7. 409 219
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/MdeOldSyncService.java
  8. 32 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/dataobject/OldHotelBrand.java
  9. 67 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/dataobject/OldHotelCompany.java
  10. 41 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/dataobject/OldHotelSubbrand.java
  11. 11 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/mysql/OldHotelBrandMapper.java
  12. 12 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/mysql/OldHotelCompanyMapper.java
  13. 12 0
      menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/mysql/OldHotelSubbrandMapper.java

+ 47 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/hotel/HotelBrandDO.java

@@ -0,0 +1,47 @@
+package com.citu.module.menduner.system.dal.dataobject.hotel;
+
+
+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.*;
+
+/**
+ * 酒店主品牌 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_hotel_brand")
+@KeySequence("mde_hotel_brand_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class HotelBrandDO extends TenantBaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 品牌名称(中文)
+     */
+    private String nameCn;
+    /**
+     * 品牌名称(英文)
+     */
+    private String nameEn;
+    /**
+     * 国际区分[1-国际;2-国内]
+     */
+    private String international;
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+}

+ 71 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/hotel/HotelCompanyDO.java

@@ -0,0 +1,71 @@
+package com.citu.module.menduner.system.dal.dataobject.hotel;
+
+
+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.*;
+
+/**
+ * 酒店公司信息 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_hotel_company")
+@KeySequence("mde_hotel_company_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class HotelCompanyDO extends TenantBaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 酒店子品牌id
+     */
+    private Long subBrandId;
+    /**
+     * 品牌名称(中文)
+     */
+    private String nameCn;
+    /**
+     * 品牌名称(英文)
+     */
+    private String nameEn;
+    /**
+     * 酒店地址-国家/地区[三位字母代码(ISO 3166-1 alpha-3)]
+     */
+    private String country;
+    /**
+     * 区域id
+     */
+    private Long areaId;
+    /**
+     * 邮编
+     */
+    private String zipCode;
+    /**
+     * 酒店详细地址(中文)
+     */
+    private String addressCn;
+    /**
+     * 酒店详细地址(英文)
+     */
+    private String addressEn;
+    /**
+     * 经度
+     */
+    private String longitude;
+    /**
+     * 纬度
+     */
+    private String latitude;
+
+}

+ 55 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/dataobject/hotel/HotelSubBrandDO.java

@@ -0,0 +1,55 @@
+package com.citu.module.menduner.system.dal.dataobject.hotel;
+
+
+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.*;
+
+/**
+ * 酒店子品牌 DO
+ *
+ * @author Rayson
+ */
+@TableName("mde_hotel_sub_brand")
+@KeySequence("mde_hotel_sub_brand_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。
+@Data
+@EqualsAndHashCode(callSuper = true)
+@ToString(callSuper = true)
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class HotelSubBrandDO extends TenantBaseDO {
+
+    /**
+     * id
+     */
+    @TableId
+    private Long id;
+    /**
+     * 主品牌id
+     */
+    private Long brandId;
+    /**
+     * 品牌名称(中文)
+     */
+    private String nameCn;
+    /**
+     * 品牌名称(英文)
+     */
+    private String nameEn;
+    /**
+     * 酒店级别
+     */
+    private String level;
+    /**
+     * 国际区分[1-国际;2-国内]
+     */
+    private String international;
+    /**
+     * 排序
+     */
+    private Integer sort;
+
+}

+ 15 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/hotel/HotelBrandMapper.java

@@ -0,0 +1,15 @@
+package com.citu.module.menduner.system.dal.mysql.hotel;
+
+
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.module.menduner.system.dal.dataobject.hotel.HotelBrandDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 酒店主品牌 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface HotelBrandMapper extends BaseMapperX<HotelBrandDO> {
+}

+ 14 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/hotel/HotelCompanyMapper.java

@@ -0,0 +1,14 @@
+package com.citu.module.menduner.system.dal.mysql.hotel;
+
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.module.menduner.system.dal.dataobject.hotel.HotelCompanyDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 酒店公司信息 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface HotelCompanyMapper extends BaseMapperX<HotelCompanyDO> {
+}

+ 14 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/dal/mysql/hotel/HotelSubBrandMapper.java

@@ -0,0 +1,14 @@
+package com.citu.module.menduner.system.dal.mysql.hotel;
+
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.module.menduner.system.dal.dataobject.hotel.HotelSubBrandDO;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 酒店子品牌 Mapper
+ *
+ * @author Rayson
+ */
+@Mapper
+public interface HotelSubBrandMapper extends BaseMapperX<HotelSubBrandDO> {
+}

+ 409 - 219
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/MdeOldSyncService.java

@@ -1,7 +1,6 @@
 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;
@@ -12,6 +11,9 @@ 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.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;
@@ -25,6 +27,9 @@ 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.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;
@@ -53,8 +58,6 @@ 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;
-
 /**
  * 门墩儿 老平台的数据同步
  **/
@@ -134,32 +137,108 @@ public class MdeOldSyncService {
     private OldInterestedAddsMapper oldInterestedAddsMapper;
     @Resource
     private OldMdeSubscribedPositionsMapper oldSubscribedPositionsMapper;
+    @Resource
+    private HotelBrandMapper hotelBrandMapper;
+    @Resource
+    private HotelSubBrandMapper hotelSubBrandMapper;
+    @Resource
+    private HotelCompanyMapper hotelCompanyMapper;
+    @Resource
+    private OldHotelBrandMapper oldHotelBrandMapper;
+    @Resource
+    private OldHotelCompanyMapper oldHotelCompanyMapper;
+    @Resource
+    private OldHotelSubbrandMapper oldHotelSubbrandMapper;
 
     private String url = "https://www.mendunerhr.com/";
 
     private Map<Long, OldMdeUser> userMap = new HashMap<>();
 
+    /**
+     * 表示如果区域匹配到这些值则赋null
+     **/
+    private List<String> areaNullList = new ArrayList<>() {{
+        // 全国
+        add("010000");
+        // 全国
+        add("010100");
+        // 不限
+        add("010101");
+    }};
+    /**
+     * 表示如果区域匹配到这些值则赋上级区域的编码
+     **/
+    private Map<String, String> areaParentMap = new HashMap<>() {{
+        // 北京市的<市辖区,北京市的编码>
+        put("110100", "110000");
+        // 天津市的<市辖区,天津市的编码>
+        put("120100", "110000");
+        // 上海市的<市辖区,上海市的编码>
+        put("310100", "310000");
+        // 重庆市的<市辖区,重庆市的编码>
+        put("500100", "500000");
+    }};
+
+    /**
+     * 根据旧平台的区域编码获取新的区域编码保存
+     **/
+    private Long getAreaId(String areaId) {
+        if ("".equals(areaId)) {
+            return null;
+        }
+        if (areaNullList.contains(areaId)) {
+            return null;
+        }
+        if (areaParentMap.containsKey(areaId)) {
+            // 解决选择市辖区的问题
+            return Long.valueOf(areaParentMap.get(areaId));
+        }
+
+        return Long.valueOf(areaId);
+    }
+
+    /**
+     * 清洗区域信息
+     **/
+    private Set<String> cleanAreaIdList(Set<String> interestedAreaIdList) {
+        Set<String> newList = new HashSet<>();
+        for (String s : interestedAreaIdList) {
+            if (areaNullList.contains(s)) {
+                // 包含了就下一个
+                continue;
+            }
+            if (areaParentMap.containsKey(s)) {
+                newList.add(areaParentMap.get(s));
+            }
+
+        }
+        return newList;
+    }
+
+
     @Async
     @TenantIgnore
     public void run() {
-//        // 同步区域
-//        syncArea();
-//        // 同步职位信息
-//        syncPosition();
+        // 同步区域
+        syncArea();
+        // 同步职位信息
+        syncPosition();
         // 同步用户信息
         syncUser();
-//        // 同步vip企业信息
-//        syncVipEnterprise();
-//        // 同步发布职位
-//        syncJob();
-//        // 同步人才工作经历、教育经历
-//        syncPersonExtend();
-//        // 同步感兴趣城市 or 订阅的职位类型
-//        syncInterested();
-//        // 同步人才简历附件、投递简历
-//        syncCv();
+        // 同步vip企业信息
+        syncVipEnterprise();
+        // 同步发布职位
+        syncJob();
+        // 同步人才工作经历、教育经历
+        syncPersonExtend();
+        // 同步感兴趣城市 or 订阅的职位类型
+        syncInterested();
+        // 同步人才简历附件、投递简历
+        syncCv();
         // 计算工作年限和最高学历
         syncEduAndWork();
+        // 同步酒店品牌数据
+        syncHotel();
     }
 
     public void syncArea() {
@@ -168,18 +247,26 @@ public class MdeOldSyncService {
                 .orderByAsc(OldSysArea::getCode)
         );
         oldSysAreaList.forEach(oldSysArea -> {
+            if (areaNullList.contains(oldSysArea.getCode())) {
+                // 不要(全国)这种数据
+                return;
+            }
             AreaDO areaDO = areaMapper.selectOne(AreaDO::getId, oldSysArea.getCode());
             OldSysArea parent = null;
             if (!"0".equals(oldSysArea.getParentId())) {
                 parent = oldSysAreaList.stream().filter(o -> o.getId().equals(oldSysArea.getParentId()))
                         .findFirst().orElse(null);
-                if (null == parent) {
+                if (null == parent || areaNullList.contains(parent.getCode())) {
                     return;
                 }
             }
+            String name = oldSysArea.getName();
+            if (areaParentMap.containsKey(oldSysArea.getCode())) {
+                name = "市辖区";
+            }
             areaDO = AreaDO.builder()
                     .id(null == areaDO ? Long.valueOf(oldSysArea.getCode()) : areaDO.getId())
-                    .name(oldSysArea.getName())
+                    .name(name)
                     .type(String.valueOf(oldSysArea.getType()))
                     .parentId(null == parent ? 0L : Long.valueOf(parent.getCode()))
                     .build();
@@ -227,14 +314,14 @@ public class MdeOldSyncService {
                 interestedAreaIdList.addAll(jobInterested.getInterestedAreaIdList());
             }
 
-
+            Set<String> newAreaIdList = cleanAreaIdList(interestedAreaIdList);
             JobInterestedDO insert = JobInterestedDO.builder()
                     .id(null == jobInterested ? oldSubscribedPositions.getUserCode() + oldSubscribedPositions.getPositionId()
                             : jobInterested.getId())
                     .userId(oldSubscribedPositions.getUserCode())
                     .positionId(oldSubscribedPositions.getPositionId())
                     .jobType(JobTypeEnum.FULL_TIME.getType())
-                    .interestedAreaIdList(interestedAreaIdList.size() > 0 ? new ArrayList<>(interestedAreaIdList) : null)
+                    .interestedAreaIdList(newAreaIdList.size() > 0 ? new ArrayList<>(newAreaIdList) : null)
                     .build();
 
             setCommon(insert);
@@ -242,36 +329,6 @@ public class MdeOldSyncService {
             jobInterestedMapper.insertOrUpdate(insert);
         });
 
-//        groupByUser.entrySet().forEach(user -> {
-//
-//
-//            JobInterestedDO jobInterested = jobInterestedMapper
-//                    .selectOne(new LambdaQueryWrapperX<JobInterestedDO>()
-//                            .eq(JobInterestedDO::getUserId, user.getKey())
-//                    );
-//
-//            Set<String> interestedAreaIdList = new HashSet<>();
-//
-//            for (OldInterestedAdds oldInterestedAdds : user.getValue()) {
-//                interestedAreaIdList.add(oldInterestedAdds.getIntdCity());
-//            }
-//
-//            if (null != jobInterested && CollUtil.isNotEmpty(jobInterested.getInterestedAreaIdList())) {
-//                interestedAreaIdList.addAll(jobInterested.getInterestedAreaIdList());
-//            }
-//
-//            JobInterestedDO insert = JobInterestedDO.builder()
-//                    .id(null == jobInterested ? user.getKey() : jobInterested.getId())
-//                    .userId(user.getKey())
-//                    .jobType(JobTypeEnum.FULL_TIME.getType())
-//                    .interestedAreaIdList(new ArrayList<>(interestedAreaIdList))
-//                    .build();
-//
-//            setCommon(insert);
-//
-//            jobInterestedMapper.insertOrUpdate(insert);
-//
-//        });
     }
 
     public void syncVipEnterprise() {
@@ -376,6 +433,7 @@ public class MdeOldSyncService {
 
     }
 
+
     public boolean containsKey(Long key) {
         if (userMap.isEmpty()) {
             userMap.putAll(oldUserMapper.selectList(new LambdaQueryWrapperX<OldMdeUser>()
@@ -396,190 +454,224 @@ 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 -> {
 //
-//        // 企业用户
-//        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;
+//            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 {
-//                enterpriseUser = mdeUserMapper.selectOne(MdeUserDO::getUsername, oldMdeUser.getUserName());
-//                if (null == enterpriseUser) {
-//                    return;
+//                // 求职端用户
+//                userDO = mdeUserMapper.selectOne(MdeUserDO::getId, oldMdeUser.getUserCode());
+//                if (null == userDO) {
+//                    MdeUserDO userNameUserDO = mdeUserMapper.selectOne(MdeUserDO::getUsername, oldMdeUser.getUserName());
+//                    if (null != userNameUserDO) {
+//                        // 根据账号名也匹配到数据,说明是同一个用户,直接使用账号名(手机号)匹配到的数据
+//                        userDO = userNameUserDO;
+//                    }
 //                }
+//
 //            }
 //
-//            // 借用用户编号作为企业编号匹配唯一键(旧平台只会存在人-企业一对一)
-//            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())
+//            // 账户信息
+//            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();
 //
 //
-//            // 该企业下的用户信息
-//            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())
+//            // 人才基本信息
+//            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())
-//                    .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 (null != oldMdeUser.getBirthday()) {
+//                // 生日转换
+//                personInfoDO.setBirthday(DateUtils.of(oldMdeUser.getBirthday(), FORMAT_YEAR_MONTH_DAY).atStartOfDay());
 //            }
 //
-//            if (0 != oldMdeUser.getAddLongitude().compareTo(new BigDecimal("0E-8"))) {
-//                addressInsertionDO.setLongitude(String.valueOf(oldMdeUser.getAddLongitude()));
-//                addressInsertionDO.setLatitude(String.valueOf(oldMdeUser.getAddLatitude()));
+//            if (oldMdeUser.getIdentityFlag().equals("0")) {
+//                // 企业基本信息 不新增人才信息,只有普通用户才新增
+//                setCommon(personInfoDO);
+//                personInfoMapper.insertOrUpdate(personInfoDO);
 //            }
 //
-//            setCommon(enterpriseInsertionDO);
-//            // 插入企业信息
-//            enterpriseMapper.insertOrUpdate(enterpriseInsertionDO);
-//
-//            setCommon(userInsertionDO);
-//            // 插入企业用户绑定信息
-//            enterpriseUserBindMapper.insertOrUpdate(userInsertionDO);
+//            if (oldMdeUser.getIdentityFlag().equals("0")) {
+//                // 个人
+//                insertionDO.setPhone(oldMdeUser.getUserName().contains("+") ? null : oldMdeUser.getUserName());
+//            } else {
+//                // 企业
+//                insertionDO.setPhone(oldMdeUser.getEntPhone());
+//            }
 //
-//            setCommon(addressInsertionDO);
-//            // 插入企业地址信息
-//            enterpriseAddressMapper.insertOrUpdate(addressInsertionDO);
 //
+//            setCommon(insertionDO);
+//            mdeUserMapper.insertOrUpdate(insertionDO);
 //        });
-//
+
+
+        // 企业用户
+        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;
+                }
+            }
+            // TODO 根据企业名称查询是否存在,存在则使用,不存在则创建
+            EnterpriseDO enterpriseDO = enterpriseMapper.selectOne(EnterpriseDO::getName, oldMdeUser.getName());
+
+            Long enterpriseId = null == enterpriseDO ? oldMdeUser.getUserCode() : enterpriseDO.getId();
+
+            // 借用用户编号作为企业编号匹配唯一键
+//            EnterpriseDO enterpriseDO = enterpriseMapper.selectOne(EnterpriseDO::getId, oldMdeUser.getUserCode());
+            EnterpriseDO enterpriseInsertionDO = EnterpriseDO.builder()
+                    .id(enterpriseId)
+                    .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();
+
+            setCommon(enterpriseInsertionDO);
+            // 插入企业信息
+            enterpriseMapper.insertOrUpdate(enterpriseInsertionDO);
+
+
+            // 该企业下的用户信息
+            EnterpriseUserBindDO userDO = enterpriseUserBindMapper.selectOne(
+                    EnterpriseUserBindDO::getUserId, enterpriseUser.getId(),
+                    EnterpriseUserBindDO::getEnterpriseId, enterpriseId
+            );
+            // 再次查询一遍,根据企业id和用户类型=管理员查询,如果有数据就是普通用户,否则就是管理员
+            EnterpriseUserBindDO adminUser = enterpriseUserBindMapper.selectOne(
+                    EnterpriseUserBindDO::getEnterpriseId, enterpriseId,
+                    EnterpriseUserBindDO::getUserType, EnterpriseUserTypeEnum.ADMIN.getType()
+            );
+
+            String userType = EnterpriseUserTypeEnum.NORMAL.getType();
+            if (null == adminUser) {
+                // 没有数据,当前数据更改为管理员
+                userType = EnterpriseUserTypeEnum.ADMIN.getType();
+            } else {
+                // 有数据
+                if (null != userDO) {
+                    // 存在则用自己的
+                    userType = userDO.getUserType();
+                } else {
+                    // 不存在数据并且
+                    userType = EnterpriseUserTypeEnum.NORMAL.getType();
+                }
+            }
+
+            EnterpriseUserBindDO userInsertionDO = EnterpriseUserBindDO.builder()
+                    .id(null == userDO ? null : userDO.getId())
+                    .enterpriseId(enterpriseId)
+                    .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(userType)
+                    .build();
+
+
+            setCommon(userInsertionDO);
+            // 插入企业用户绑定信息
+            enterpriseUserBindMapper.insertOrUpdate(userInsertionDO);
+
+
+            // 企业的地址
+            EnterpriseAddressDO enterpriseAddressDO = enterpriseAddressMapper.selectOne(EnterpriseAddressDO::getEnterpriseId, enterpriseId);
+
+            if (StringUtils.hasText(oldMdeUser.getAddDetail())) {
+                EnterpriseAddressDO addressInsertionDO = EnterpriseAddressDO.builder()
+                        .id(null == enterpriseAddressDO ? enterpriseId : enterpriseAddressDO.getId())
+                        .enterpriseId(enterpriseId)
+                        .address(oldMdeUser.getAddDetail())
+                        .build();
+
+                // 优先级:区 > 市 > 省
+                String area = oldMdeUser.getAddrArea();
+                String city = oldMdeUser.getAddrCity();
+                String province = oldMdeUser.getAddrProvince();
+
+                if (StringUtils.hasText(area)) {
+                    // 如果有区,则设置区ID
+                    addressInsertionDO.setAreaId(getAreaId(area));
+                } else if (StringUtils.hasText(city)) {
+                    // 如果没有区但有市,则设置市ID
+                    addressInsertionDO.setAreaId(getAreaId(city));
+                } else if (StringUtils.hasText(province)) {
+                    // 如果没有区和市但有省,则设置省ID
+                    addressInsertionDO.setAreaId(getAreaId(province));
+                } else {
+                    // 如果都没有,则设置为null
+//                    addressInsertionDO.setAreaId(null);
+                    // 不要这条数据
+                    return;
+                }
+                if (null == addressInsertionDO.getAreaId()) {
+                    return;
+                }
+
+
+                if (0 != oldMdeUser.getAddLongitude().compareTo(new BigDecimal("0E-8"))) {
+                    addressInsertionDO.setLongitude(String.valueOf(oldMdeUser.getAddLongitude()));
+                    addressInsertionDO.setLatitude(String.valueOf(oldMdeUser.getAddLatitude()));
+                }
+
+
+                setCommon(addressInsertionDO);
+                // 插入企业地址信息
+                enterpriseAddressMapper.insertOrUpdate(addressInsertionDO);
+            }
+
+        });
+
 
     }
 
@@ -595,6 +687,12 @@ public class MdeOldSyncService {
             if (null == userId) {
                 return;
             }
+            // TODO 职位根据发送人id查询企业用户表定位所在企业,然后使用企业id
+            Long enterpriseId = getEnterpriseId(oldMdeJobAdvertised.getPublisher());
+            if (null == enterpriseId) {
+                return;
+            }
+
             JobAdvertisedDO jobAdvertisedDO = jobAdvertisedMapper.selectOne(JobAdvertisedDO::getId, oldMdeJobAdvertised.getJobId());
 
 
@@ -606,7 +704,7 @@ public class MdeOldSyncService {
                     .requirement(oldMdeJobAdvertised.getJobRequirement())
                     .positionId(Long.valueOf(oldMdeJobAdvertised.getPositionId()))
                     .userId(userId)
-                    .enterpriseId(oldMdeJobAdvertised.getPublisher())
+                    .enterpriseId(enterpriseId)
                     .address(oldMdeJobAdvertised.getAddDetail())
                     .eduType(eduTypeMapRelation.get(oldMdeJobAdvertised.getEducation()))
                     .expType(expTypeMapRelation.get(oldMdeJobAdvertised.getWorkExperience()))
@@ -631,13 +729,13 @@ public class MdeOldSyncService {
 
             if (StringUtils.hasText(area)) {
                 // 如果有区,则设置区ID
-                insertionDO.setAreaId(Long.valueOf(area));
+                insertionDO.setAreaId(getAreaId(area));
             } else if (StringUtils.hasText(city)) {
                 // 如果没有区但有市,则设置市ID
-                insertionDO.setAreaId(Long.valueOf(city));
+                insertionDO.setAreaId(getAreaId(city));
             } else if (StringUtils.hasText(province)) {
                 // 如果没有区和市但有省,则设置省ID
-                insertionDO.setAreaId(Long.valueOf(province));
+                insertionDO.setAreaId(getAreaId(province));
             } else {
                 // 如果都没有,则设置为null
                 insertionDO.setAreaId(null);
@@ -835,11 +933,80 @@ 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())
+                    .nameCn(brand.getBrandNameCn())
+                    .nameEn(brand.getBrandNameEn())
+                    .international(brand.getInternational())
+                    .sort(brand.getSortId())
+                    .build();
+
+            setCommon(insertDO);
+            hotelBrandMapper.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()))
+                    .nameCn(subbrand.getSubbrandNameCn())
+                    .nameEn(subbrand.getSubbrandNameEn())
+                    .level(String.valueOf(subbrand.getHotelLevel()))
+                    .international(subbrand.getInternational())
+                    .sort(subbrand.getSortId())
+                    .build();
+            setCommon(insertDO);
+            hotelSubBrandMapper.insertOrUpdate(insertDO);
+        });
+        List<OldHotelCompany> companyList = oldHotelCompanyMapper.selectList();
+        companyList.forEach(company -> {
+            HotelCompanyDO hotelCompanyDO = hotelCompanyMapper.selectOne(HotelCompanyDO::getId, Long.valueOf(company.getHotelId()));
+            HotelCompanyDO insertDO = HotelCompanyDO.builder()
+                    .id(null == hotelCompanyDO ? Long.valueOf(company.getHotelId()) : hotelCompanyDO.getId())
+                    .nameCn(company.getHotelNameCn())
+                    .nameEn(company.getHotelNameEn())
+                    .subBrandId(Long.valueOf(company.getSubbrandId()))
+                    .addressCn(company.getHotelAddressCn())
+                    .addressEn(company.getHotelAddressEn())
+                    .zipCode(company.getHotelZipcode())
+                    .country(company.getHotelCountry())
+                    .areaId(getAreaId(company.getHotelArea()))
+                    .build();
+
+            if (null != company.getHotelLongitude()) {
+                if (0 != company.getHotelLongitude().compareTo(new BigDecimal("0E-8"))) {
+                    insertDO.setLongitude(String.valueOf(company.getHotelLongitude()));
+                }
+            }
+            if (null != company.getHotelLatitude()) {
+                if (0 != company.getHotelLatitude().compareTo(new BigDecimal("0E-8"))) {
+                    insertDO.setLatitude(String.valueOf(company.getHotelLatitude()));
+                }
+            }
+            setCommon(insertDO);
+            hotelCompanyMapper.insertOrUpdate(insertDO);
+        });
+
+
+    }
+
+    /**
+     * 设置租户
+     **/
     private void setCommon(TenantBaseDO tenantBaseDO) {
         tenantBaseDO.setTenantId(155L);
     }
 
 
+    /**
+     * 根据旧平台的用户id,获取新平台的用户id
+     **/
     private Long getSystemUserId(Long userId) {
         MdeUserDO enterpriseUser = null;
         OldMdeUser oldMdeUser = userMap.get(userId);
@@ -857,4 +1024,27 @@ public class MdeOldSyncService {
         }
         return enterpriseUser.getId();
     }
+
+    /**
+     * 根据旧平台的用户编码获取所属的企业id
+     **/
+    private Long getEnterpriseId(Long publisher) {
+        // 根据发布者id查找企业,返回企业id
+        Long enterpriseId = null;
+        // 获取用户id
+        OldMdeUser oldMdeUser = userMap.get(publisher);
+        if (null != oldMdeUser) {
+            // 通过账户(邮箱) 查询企业用户绑定信息
+            EnterpriseUserBindDO bindDO = enterpriseUserBindMapper
+                    .selectOne(EnterpriseUserBindDO::getEmail, oldMdeUser.getUserName());
+
+            if (null != bindDO) {
+                enterpriseId = bindDO.getEnterpriseId();
+            }
+        }
+
+        return enterpriseId;
+
+
+    }
 }

+ 32 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/dataobject/OldHotelBrand.java

@@ -0,0 +1,32 @@
+package com.citu.module.menduner.system.old.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("mde_hotel_brand")
+public class OldHotelBrand extends OldBaseEntity {
+
+    /**
+     * 品牌ID(自增)
+     */
+    @TableId
+    private Integer brandId;
+    /**
+     * 品牌名称(中文)
+     */
+    private String brandNameCn;
+    /**
+     * 品牌名称(英文)
+     */
+    private String brandNameEn;
+    /**
+     * 国际区分[1-国际;2-国内]
+     */
+    private String international;
+    /**
+     * 排序字段
+     */
+    private Integer sortId;
+}

+ 67 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/dataobject/OldHotelCompany.java

@@ -0,0 +1,67 @@
+package com.citu.module.menduner.system.old.dataobject;
+
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("mde_hotel_company")
+public class OldHotelCompany extends OldBaseEntity {
+
+    /**
+     * 酒店ID(自增)
+     */
+    @TableId
+    private Integer hotelId;
+    /**
+     * 品牌ID(酒店品牌信息表)
+     */
+    private Integer subbrandId;
+    /**
+     * 酒店名称(中文)
+     */
+    private String hotelNameCn;
+    /**
+     * 酒店名称(英文)
+     */
+    private String hotelNameEn;
+    /**
+     * 酒店地址-国家/地区[三位字母代码(ISO 3166-1 alpha-3)]
+     */
+    private String hotelCountry;
+    /**
+     * 酒店地址-省(中国)
+     */
+    private String hotelProvince;
+    /**
+     * 酒店地址-市(中国)
+     */
+    private String hotelCity;
+    /**
+     * 酒店地址-区(中国)
+     */
+    private String hotelArea;
+    /**
+     * 地址-邮编(其他国家)
+     */
+    private String hotelZipcode;
+    /**
+     * 酒店详细地址(中文)
+     */
+    private String hotelAddressCn;
+    /**
+     * 酒店详细地址(英文)
+     */
+    private String hotelAddressEn;
+    /**
+     * 酒店地址-经度
+     */
+    private BigDecimal hotelLongitude;
+    /**
+     * 酒店地址-纬度
+     */
+    private BigDecimal hotelLatitude;
+}

+ 41 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/dataobject/OldHotelSubbrand.java

@@ -0,0 +1,41 @@
+package com.citu.module.menduner.system.old.dataobject;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+@Data
+@TableName("mde_hotel_subbrand")
+public class OldHotelSubbrand extends OldBaseEntity {
+
+
+    /**
+     * 子品牌ID(自增)
+     */
+    @TableId
+    private Integer subbrandId;
+    /**
+     * 主品牌ID
+     */
+    private Integer brandId;
+    /**
+     * 子品牌名称(中文)
+     */
+    private String subbrandNameCn;
+    /**
+     * 子品牌名称(英文)
+     */
+    private String subbrandNameEn;
+    /**
+     * 酒店级别
+     */
+    private Integer hotelLevel;
+    /**
+     * 国际区分[1-国际;2-国内]
+     */
+    private String international;
+    /**
+     * 排序字段
+     */
+    private Integer sortId;
+}

+ 11 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/mysql/OldHotelBrandMapper.java

@@ -0,0 +1,11 @@
+package com.citu.module.menduner.system.old.mysql;
+
+import com.baomidou.dynamic.datasource.annotation.Slave;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.module.menduner.system.old.dataobject.OldHotelBrand;
+import org.apache.ibatis.annotations.Mapper;
+
+@Slave
+@Mapper
+public interface OldHotelBrandMapper extends BaseMapperX<OldHotelBrand> {
+}

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/mysql/OldHotelCompanyMapper.java

@@ -0,0 +1,12 @@
+package com.citu.module.menduner.system.old.mysql;
+
+
+import com.baomidou.dynamic.datasource.annotation.Slave;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.module.menduner.system.old.dataobject.OldHotelCompany;
+import org.apache.ibatis.annotations.Mapper;
+
+@Slave
+@Mapper
+public interface OldHotelCompanyMapper extends BaseMapperX<OldHotelCompany> {
+}

+ 12 - 0
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/mysql/OldHotelSubbrandMapper.java

@@ -0,0 +1,12 @@
+package com.citu.module.menduner.system.old.mysql;
+
+import com.baomidou.dynamic.datasource.annotation.Slave;
+import com.citu.framework.mybatis.core.mapper.BaseMapperX;
+import com.citu.module.menduner.system.old.dataobject.OldHotelSubbrand;
+import org.apache.ibatis.annotations.Mapper;
+
+@Slave
+@Mapper
+public interface OldHotelSubbrandMapper extends BaseMapperX<OldHotelSubbrand> {
+
+}