Browse Source

Merge remote-tracking branch 'origin/dev_compare_data' into dev_compare_data

master
sunyuchao 3 years ago
parent
commit
d3514a13fd
  1. 3
      epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java
  2. 15
      epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiResiComparisonSyncProcessor.java
  3. 21
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java
  4. 4
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java

3
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";

15
epmet-user/epmet-user-server/src/main/java/com/epmet/processor/YanTaiComparisonSyncProcessor.java → 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<IcSyncJobEntity> icSyncJobToExec = icSyncJobDao.selectExecutableJobList(
EpidemicConstant.JOB_TYPE_COMPARISON,
EpidemicConstant.JOB_TYPE_COMPARISON_RESI,
leftCount);
if (!CollectionUtils.isEmpty(icSyncJobToExec)) {

21
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<DataSyncConfigDao
"]";
// List<Map> vaccineList = JSON.parseArray(json,Map.class);
List<Map<String,Object>> 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<YTVaccineListDTO> ytVaccineListDTOS = new ArrayList<>();
if (CollectionUtils.isNotEmpty(vaccineList)) {
vaccineList.forEach(v -> {
if (v.containsKey("data")){
Map<String, Object> data = (Map<String, Object>) v.get("data");
if (data.containsKey("vaccineList")){
List<YTVaccineListDTO> 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<YTVaccineListDTO> vaccineList1 = vaccineListJA.toJavaList(YTVaccineListDTO.class);
vaccineList1.forEach(v1 -> {
v1.setCardno(v.get("cardno").toString());
});
ytVaccineListDTOS.addAll(vaccineList1);
}
//Map<String, Object> data = (Map<String, Object>) v.get("data");
//if (data.containsKey("vaccineList")){
// List<YTVaccineListDTO> vaccineList1 = JSON.parseArray(data.get("vaccineList").toString(), YTVaccineListDTO.class);
// vaccineList1.forEach(v1 -> {
// v1.setCardno(v.get("cardno").toString());
// });
// ytVaccineListDTOS.addAll(vaccineList1);
//}
}
});
List<IcVaccineEntity> entities = new ArrayList<>();
@ -1153,7 +1164,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
List<IcVaccineRelationEntity> 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");

4
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/IcResiComparisonRecordServiceImpl.java

@ -249,7 +249,7 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl<IcResiCom
// 查询该组织是否存在等待中或者进行中的任务
LambdaQueryWrapper<IcSyncJobEntity> 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<IcSyncJobEntity> icSyncJobEntities = icSyncJobDao.selectList(qw);
// 当前组织下存在同步任务
@ -263,7 +263,7 @@ public class IcResiComparisonRecordServiceImpl extends BaseServiceImpl<IcResiCom
e.setOrgId(formDTO.getAgencyId());
e.setPid(agencyInfo.getPid());
e.setOrgIdPath(StringUtils.isBlank(agencyInfo.getPids()) ? agencyInfo.getId() : agencyInfo.getPids() + ":" + agencyInfo.getId());
e.setJobType(EpidemicConstant.JOB_TYPE_COMPARISON);
e.setJobType(EpidemicConstant.JOB_TYPE_COMPARISON_RESI);
e.setOperatorId(formDTO.getUserId());
e.setOperationStatus(OPERATION_STATUS_WAITING);
icSyncJobDao.insert(e);

Loading…
Cancel
Save