Browse Source

疫苗接种定时任务

dev
zxc 3 years ago
parent
commit
32fe851abe
  1. 3
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java
  2. 5
      epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java
  3. 2
      epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java
  4. 12
      epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java
  5. 1
      epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java
  6. 8
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java
  7. 52
      epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java

3
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java

@ -952,4 +952,7 @@ public interface EpmetUserOpenFeignClient {
@PostMapping("/epmetuser/dataSyncConfig/disabilityInfoScanTask") @PostMapping("/epmetuser/dataSyncConfig/disabilityInfoScanTask")
Result disabilityInfoScanTask(@RequestBody DataSyncTaskParam formDTO); Result disabilityInfoScanTask(@RequestBody DataSyncTaskParam formDTO);
@PostMapping("/epmetuser/dataSyncConfig/vaccineInfoScanTask")
Result vaccineInfoScanTask(@RequestBody DataSyncTaskParam formDTO);
} }

5
epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java

@ -741,4 +741,9 @@ public class EpmetUserOpenFeignClientFallback implements EpmetUserOpenFeignClien
public Result disabilityInfoScanTask(DataSyncTaskParam formDTO) { public Result disabilityInfoScanTask(DataSyncTaskParam formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "disabilityInfoScanTask", formDTO); return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "disabilityInfoScanTask", formDTO);
} }
@Override
public Result vaccineInfoScanTask(DataSyncTaskParam formDTO) {
return ModuleUtils.feignConError(ServiceConstant.EPMET_USER_SERVER, "vaccineInfoScanTask", formDTO);
}
} }

2
epmet-user/epmet-user-server/src/main/java/com/epmet/constant/EpidemicConstant.java

@ -7,10 +7,12 @@ public interface EpidemicConstant {
* 核酸检测 * 核酸检测
* 残疾人 * 残疾人
* 死亡 * 死亡
* 疫苗接种
*/ */
String DATA_CODE_NAT = "hesuan"; String DATA_CODE_NAT = "hesuan";
String DATA_CODE_DISABILITY = "canji"; String DATA_CODE_DISABILITY = "canji";
String DATA_CODE_DEATH = "siwang"; String DATA_CODE_DEATH = "siwang";
String DATA_CODE_VACCINE = "yimiaojiezhong";
/** /**
* ic_sync_job 任务类型 * ic_sync_job 任务类型

12
epmet-user/epmet-user-server/src/main/java/com/epmet/controller/DataSyncConfigController.java

@ -156,4 +156,16 @@ public class DataSyncConfigController {
return new Result(); return new Result();
} }
/**
* @Description 疫苗接种信息定时拉取
* @param formDTO
* @Author zxc
* @Date 2022/11/11 16:56
*/
@PostMapping("vaccineInfoScanTask")
public Result vaccineInfoScanTask(@RequestBody DataSyncTaskParam formDTO){
dataSyncConfigService.vaccineInfoScanTask(formDTO);
return new Result();
}
} }

1
epmet-user/epmet-user-server/src/main/java/com/epmet/enums/DataSyncEnum.java

@ -12,6 +12,7 @@ public enum DataSyncEnum {
HE_SUAN("hesuan", "核酸检测数据"), HE_SUAN("hesuan", "核酸检测数据"),
CAN_JI("canji", "残疾数据"), CAN_JI("canji", "残疾数据"),
SI_WANG("siwang", "死亡数据"), SI_WANG("siwang", "死亡数据"),
VACCINE("yimiaojiezhong", "疫苗接种"),
OTHER("qita","其他"), OTHER("qita","其他"),
; ;

8
epmet-user/epmet-user-server/src/main/java/com/epmet/service/DataSyncConfigService.java

@ -134,4 +134,12 @@ public interface DataSyncConfigService extends BaseService<DataSyncConfigEntity>
*/ */
void execSyncByJobProcessor(IcSyncJobEntity jobEntity); void execSyncByJobProcessor(IcSyncJobEntity jobEntity);
/**
* @Description 疫苗接种信息定时拉取
* @param formDTO
* @Author zxc
* @Date 2022/11/11 16:56
*/
void vaccineInfoScanTask(DataSyncTaskParam formDTO);
} }

52
epmet-user/epmet-user-server/src/main/java/com/epmet/service/impl/DataSyncConfigServiceImpl.java

@ -1119,7 +1119,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
} }
}); });
}); });
icVaccineService.insertBatch(entities); icVaccineService.insertBatch(entities,NumConstant.ONE_HUNDRED);
List<IcVaccineRelationEntity> relationEntities = new ArrayList<>(); List<IcVaccineRelationEntity> relationEntities = new ArrayList<>();
entities.forEach(e -> { entities.forEach(e -> {
IcVaccineRelationEntity re = new IcVaccineRelationEntity(); IcVaccineRelationEntity re = new IcVaccineRelationEntity();
@ -1130,7 +1130,7 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
re.setAgencyId(e.getAgencyId()); re.setAgencyId(e.getAgencyId());
relationEntities.add(re); relationEntities.add(re);
}); });
icVaccineRelationService.insertBatch(relationEntities); icVaccineRelationService.insertBatch(relationEntities,NumConstant.ONE_HUNDRED);
} }
} }
} }
@ -1267,4 +1267,52 @@ public class DataSyncConfigServiceImpl extends BaseServiceImpl<DataSyncConfigDao
} while (CollectionUtils.isNotEmpty(resis)); } while (CollectionUtils.isNotEmpty(resis));
log.info("【任务处理器同步数据】组织Id:{},同步类型:{},已完成居民数:{}", jobEntity.getOrgId(), jobEntity.getJobType(), updatedResiCount); log.info("【任务处理器同步数据】组织Id:{},同步类型:{},已完成居民数:{}", jobEntity.getOrgId(), jobEntity.getJobType(), updatedResiCount);
} }
/**
* @Description 疫苗接种信息定时拉取
* @param formDTO
* @Author zxc
* @Date 2022/11/11 16:56
*/
@Override
public void vaccineInfoScanTask(DataSyncTaskParam formDTO) {
List<DataSyncConfigDTO> configData = getConfigData(null, EpidemicConstant.DATA_CODE_VACCINE);
if (CollectionUtils.isEmpty(configData)){
log.warn("vaccineInfoScanTask not exists config data,customer is "+formDTO.getCustomerId());
return;
}
long count = configData.stream().filter(o -> CollectionUtils.isNotEmpty(o.getScopeList())).count();
if (count < 1) {
log.warn("vaccineInfoScanTask scopeList is null");
return;
}
int pageNo = NumConstant.ONE;
int pageSize = NumConstant.ONE_THOUSAND;
List<NatUserInfoResultDTO> dbResiList = null;
do {
for (DataSyncConfigDTO config : configData) {
// 设置查询数据范围
formDTO.setOrgList(config.getScopeList());
DataSyncEnum anEnum = DataSyncEnum.getEnum(config.getDataCode());
dbResiList = getNatUserInfoFromDb(formDTO, pageNo, pageSize);
if (CollectionUtils.isEmpty(dbResiList)) {
continue;
}
switch (anEnum) {
case VACCINE:
try {
//查询正常状态的居民
yanTaiVaccineByDbViewPartition(dbResiList,config.getCustomerId(),NumConstant.ZERO_STR);
log.info("======vaccine信息拉取结束======");
} catch (Exception e) {
log.error("vaccine thread execute exception", e);
}
break;
default:
log.warn("没有要处理的数据");
}
}
pageNo++;
} while (dbResiList != null && dbResiList.size() == pageSize);
}
} }

Loading…
Cancel
Save