Explorar o código

1、优化数据同步bug

rayson hai 9 meses
pai
achega
d968c5049d

+ 14 - 5
menduner/menduner-system-biz/src/main/java/com/citu/module/menduner/system/old/MdeOldSyncService.java

@@ -373,6 +373,15 @@ 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() {
 
         // 所有用户
@@ -572,7 +581,7 @@ public class MdeOldSyncService {
         // 职位信息
         List<OldMdeJobAdvertised> jobList = oldJobAdvertisedMapper.selectList();
         jobList.forEach(oldMdeJobAdvertised -> {
-            if (!userMap.containsKey(oldMdeJobAdvertised.getPublisher())) {
+            if (!containsKey(oldMdeJobAdvertised.getPublisher())) {
                 return;
             }
             JobAdvertisedDO jobAdvertisedDO = jobAdvertisedMapper.selectOne(JobAdvertisedDO::getId, oldMdeJobAdvertised.getJobId());
@@ -636,7 +645,7 @@ public class MdeOldSyncService {
         List<OldMdeEducationExperience> eduList =
                 oldEducationExperienceMapper.selectList(OldMdeEducationExperience::getDelFlag, 0);
         eduList.forEach(e -> {
-            if (!userMap.containsKey(e.getUserCode())) {
+            if (!containsKey(e.getUserCode())) {
                 return;
             }
             EduExpDO eduExpDO = eduExpMapper.selectOne(EduExpDO::getId, e.getEduId());
@@ -658,7 +667,7 @@ public class MdeOldSyncService {
 
         List<OldMdeWorkExperience> workList = oldWorkExperienceMapper.selectList(OldMdeWorkExperience::getDelFlag, 0);
         workList.forEach(e -> {
-            if (!userMap.containsKey(e.getUserCode())) {
+            if (!containsKey(e.getUserCode())) {
                 return;
             }
             WorkExpDO workExpDO = workExpMapper.selectOne(WorkExpDO::getId, e.getWorkId());
@@ -687,7 +696,7 @@ public class MdeOldSyncService {
         // 人才投递的简历、附件
         List<OldMdeUserCv> cvList = oldUserCvMapper.selectList(OldMdeUserCv::getDelFlag, 0);
         cvList.forEach(e -> {
-            if (!userMap.containsKey(e.getUserCode())) {
+            if (!containsKey(e.getUserCode())) {
                 return;
             }
             CvAttachmentDO cvDO = cvAttachmentMapper.selectOne(CvAttachmentDO::getId, e.getCvId());
@@ -708,7 +717,7 @@ public class MdeOldSyncService {
             if (!StringUtils.hasText(e.getCvUrl())||!StringUtils.hasText(e.getPublisher())) {
                 return;
             }
-            if (!userMap.containsKey(Long.valueOf(e.getPublisher()))) {
+            if (!containsKey(Long.valueOf(e.getPublisher()))) {
                 return;
             }
             JobCvRelDO cvDO = jobCvRelMapper.selectOne(JobCvRelDO::getId, e.getIntvId());