Bläddra i källkod

1、优化数据同步bug

rayson 9 månader sedan
förälder
incheckning
dddff5fca9

+ 50 - 9
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/MdeOldSyncService.java

@@ -374,7 +374,7 @@ public class MdeOldSyncService {
     }
 
     public boolean containsKey(Long key) {
-        if(userMap.isEmpty()) {
+        if (userMap.isEmpty()) {
             userMap.putAll(oldUserMapper.selectList(new LambdaQueryWrapperX<OldMdeUser>()
                     .eq(OldMdeUser::getDelFlag, 0)
                     .orderByAsc(OldMdeUser::getIdentityFlag)
@@ -382,6 +382,7 @@ public class MdeOldSyncService {
         }
         return userMap.containsKey(key);
     }
+
     public void syncUser() {
 
         // 所有用户
@@ -482,9 +483,9 @@ public class MdeOldSyncService {
                 if (null == enterpriseUser) {
                     return;
                 }
-            }else {
+            } else {
                 enterpriseUser = mdeUserMapper.selectOne(MdeUserDO::getUsername, oldMdeUser.getUserName());
-                if(null == enterpriseUser) {
+                if (null == enterpriseUser) {
                     return;
                 }
             }
@@ -584,6 +585,11 @@ public class MdeOldSyncService {
             if (!containsKey(oldMdeJobAdvertised.getPublisher())) {
                 return;
             }
+
+            Long userId = getSystemUserId(oldMdeJobAdvertised.getPublisher());
+            if (null == userId) {
+                return;
+            }
             JobAdvertisedDO jobAdvertisedDO = jobAdvertisedMapper.selectOne(JobAdvertisedDO::getId, oldMdeJobAdvertised.getJobId());
 
 
@@ -594,7 +600,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()))
@@ -648,10 +654,14 @@ public class MdeOldSyncService {
             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()))
@@ -670,10 +680,14 @@ public class MdeOldSyncService {
             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)
@@ -699,10 +713,14 @@ public class MdeOldSyncService {
             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();
@@ -714,12 +732,16 @@ public class MdeOldSyncService {
                 .eq(OldPositionCvRelDO::getDelFlag, 0)
         );
         cvRelDOList.forEach(e -> {
-            if (!StringUtils.hasText(e.getCvUrl())||!StringUtils.hasText(e.getPublisher())) {
+            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());
             // 根据职位查询企业ID
             JobAdvertisedDO advertisedDO = jobAdvertisedMapper.selectOne(JobAdvertisedDO::getId, e.getPosId());
@@ -731,7 +753,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())
@@ -811,4 +833,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();
+    }
 }