diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java index edd9d1a695..3b843838e4 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java @@ -21,7 +21,8 @@ public interface EpidemicConstant { */ String JOB_TYPE_NAT = "nat"; String JOB_TYPE_VACCINE = "vaccine"; - String JOB_TYPE_COMPARISON = "comparison"; + // 居民信息对比 + String JOB_TYPE_COMPARISON_RESI = "comparison_resi"; String OPERATION_STATUS_WAITING = "waiting"; String OPERATION_STATUS_PROCESSING = "processing"; diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiComparisonSyncProcessor.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiResiComparisonSyncProcessor.java similarity index 91% rename from epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiComparisonSyncProcessor.java rename to epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiResiComparisonSyncProcessor.java index cc07aafab2..8e57474606 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiComparisonSyncProcessor.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiResiComparisonSyncProcessor.java @@ -7,7 +7,6 @@ import com.epmet.commons.tools.redis.RedisUtils; import com.epmet.constant.EpidemicConstant; import com.epmet.dao.IcSyncJobDao; import com.epmet.entity.IcSyncJobEntity; -import com.epmet.service.DataSyncConfigService; import com.epmet.service.IcResiComparisonRecordService; import lombok.extern.slf4j.Slf4j; import org.redisson.api.RLock; @@ -20,12 +19,14 @@ import java.util.List; import java.util.concurrent.ExecutorService; import java.util.concurrent.TimeUnit; -import static com.epmet.constant.EpidemicConstant.JOB_TYPE_NAT; - -// 烟台数据比对 +/** + * @Description 居民一致性对比任务处理器 + * @Author wxz + * @Date 2022/11/15 下午5:54 + */ @Component @Slf4j -public class YanTaiComparisonSyncProcessor { +public class YanTaiResiComparisonSyncProcessor { public static final int MAX_EXECUTING_COUNT = 3; @@ -67,10 +68,10 @@ public class YanTaiComparisonSyncProcessor { RLock lock = null; try { - lock = distributedLock.getLock("data:sync:" + "comparison", 60L, 60L, TimeUnit.SECONDS); + lock = distributedLock.getLock("data:sync:comparison:resi", 60L, 60L, TimeUnit.SECONDS); // 查询可执行的任务列表,并且异步执行 List icSyncJobToExec = icSyncJobDao.selectExecutableJobList( - EpidemicConstant.JOB_TYPE_COMPARISON, + EpidemicConstant.JOB_TYPE_COMPARISON_RESI, leftCount); if (!CollectionUtils.isEmpty(icSyncJobToExec)) { diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java index 438f0d80c7..f8136ef9c5 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java @@ -2,6 +2,7 @@ package com.epmet.service.impl; import java.util.Date; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; @@ -1103,19 +1104,29 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl vaccineList = JSON.parseArray(json,Map.class); List> vaccineList = yantaiNamedParamLantuJdbcTemplate.queryForList( - "select data, name, card_no, vaccineCount from t_ymjz_info where card_no in (:idcards)", args); + "select data, name, cardno, vaccineCount from t_ymjz_info where cardno in (:idcards)", args); List ytVaccineListDTOS = new ArrayList<>(); if (CollectionUtils.isNotEmpty(vaccineList)) { vaccineList.forEach(v -> { if (v.containsKey("data")){ - Map data = (Map) v.get("data"); - if (data.containsKey("vaccineList")){ - List vaccineList1 = JSON.parseArray(data.get("vaccineList").toString(), YTVaccineListDTO.class); + JSONObject jo = JSON.parseObject((String) v.get("data")); + if (jo.containsKey("vaccineList")) { + JSONArray vaccineListJA = jo.getJSONArray("vaccineList"); + List vaccineList1 = vaccineListJA.toJavaList(YTVaccineListDTO.class); vaccineList1.forEach(v1 -> { v1.setCardno(v.get("cardno").toString()); }); ytVaccineListDTOS.addAll(vaccineList1); } + + //Map data = (Map) v.get("data"); + //if (data.containsKey("vaccineList")){ + // List vaccineList1 = JSON.parseArray(data.get("vaccineList").toString(), YTVaccineListDTO.class); + // vaccineList1.forEach(v1 -> { + // v1.setCardno(v.get("cardno").toString()); + // }); + // ytVaccineListDTOS.addAll(vaccineList1); + //} } }); List entities = new ArrayList<>(); @@ -1153,7 +1164,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl relationEntities = new ArrayList<>(); entities.forEach(e -> { IcVaccineRelationEntity re = new IcVaccineRelationEntity(); - re.setIcVaccineId(e.getAgencyId()); + re.setIcVaccineId(e.getId()); re.setPids(e.getPids()); re.setCustomerId(customerId); re.setUserType("ytPull"); diff --git a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java index 06b57e2fbe..1bee3c6542 100644 --- a/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java +++ b/epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java @@ -249,7 +249,7 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl qw = new LambdaQueryWrapper<>(); qw.eq(IcSyncJobEntity::getOrgId, formDTO.getAgencyId()) - .eq(IcSyncJobEntity::getJobType, EpidemicConstant.JOB_TYPE_COMPARISON) + .eq(IcSyncJobEntity::getJobType, EpidemicConstant.JOB_TYPE_COMPARISON_RESI) .in(IcSyncJobEntity::getOperationStatus, OPERATION_STATUS_WAITING, OPERATION_STATUS_PROCESSING); List icSyncJobEntities = icSyncJobDao.selectList(qw); // 当前组织下存在同步任务 @@ -263,7 +263,7 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl