From 029de836702607a95ccb0a69a74efcea52ddc451 Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期四, 25 九月 2025 19:35:38 +0800 Subject: [PATCH] 上海对农数据接口调整2 --- src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1023.java | 231 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 231 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1023.java b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1023.java new file mode 100644 index 0000000..a5d5d81 --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1023.java @@ -0,0 +1,231 @@ +package com.fzzy.async.fzzy61.impl; + +import com.alibaba.fastjson.JSON; +import com.fzzy.api.Constant; +import com.fzzy.api.data.PushProtocol; +import com.fzzy.api.entity.*; +import com.fzzy.api.service.ApiCommonService; +import com.fzzy.api.service.ApiTriggerService; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.view.repository.*; +import com.fzzy.async.fzzy61.entity.Fz61DrugLogApply; +import com.fzzy.async.fzzy61.entity.Fz61DrugLogDtl; +import com.fzzy.async.fzzy61.entity.Fz61DrugLogPeople; +import com.fzzy.async.fzzy61.repository.Fzzy61Sync1023Rep; +import com.fzzy.async.fzzy61.repository.Fzzy61SyncDrugLogDtlRep; +import com.fzzy.async.fzzy61.repository.Fzzy61SyncDrugLogPeopleRep; +import com.fzzy.async.fzzy61.repository.Fzzy61SyncDrugLogWayRep; +import com.fzzy.push.gd2022.ApiCodeConstant; +import com.fzzy.push.gd2022.dto.Gd2022Api1023; +import com.fzzy.push.gd2022.dto.Gd2022Api1023Dtl; +import com.fzzy.push.gd2022.dto.Gd2022Api1023People; +import com.fzzy.push.gd2022.dto.Gd2022Api1023Way; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.springframework.beans.BeanUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * 鐔忚捀澶囨淇℃伅 + * + * @Author:YAN + */ +@Slf4j +@Component +public class Fzzy61Sync1023 { + @Autowired + private Api1101Rep api1101Rep; + @Autowired + private Api1102Rep api1102Rep; + @Autowired + private Api1105Rep api1105Rep; + @Autowired + private Fzzy61Sync1023Rep fzzy61Sync1023Rep; + @Autowired + private Fzzy61SyncDrugLogPeopleRep drugLogPeopleRep; + @Autowired + private Fzzy61SyncDrugLogWayRep drugLogWayRep; + @Autowired + private Fzzy61SyncDrugLogDtlRep drugLogDtlRep; + @Autowired + private ApiLogRep apiLogRep; + @Autowired + private ApiCommonService commonService; + @Autowired + private ApiInfoDataRep apiInfoDataRep; + @Autowired + private ApiTriggerService apiTriggerService; + + + /** + * 鍚屾鐔忚捀澶囨淇℃伅 + * + * @param deptId + * @param start + * @param end + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + log.info("-------------1023鎺ュ彛鐔忚捀澶囨淇℃伅寮�濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(ApiCodeConstant.API_9201); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + List<Fz61DrugLogApply> list = fzzy61Sync1023Rep.listDrugLogApply(deptId, start, end); + + if (null == list || list.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒扮啅钂稿妗堜俊鎭�------------------"); + return; + } + List<Gd2022Api1023Dtl> dtlList; + List<Gd2022Api1023Way> wayList; + List<Gd2022Api1023People> peopleList; + + + Gd2022Api1023 GD2022Api1023; + Gd2022Api1023Dtl gd2022Api1023Dtl; + Gd2022Api1023Way gd2022Api1023Way; + Gd2022Api1023People gd2022Api1023People; + + List<ApiInfoData> apiInfoList; + ApiInfoData infoData; + for (Fz61DrugLogApply data : list) { + + GD2022Api1023 = new Gd2022Api1023(); + BeanUtils.copyProperties(data, GD2022Api1023); + GD2022Api1023.setXzbm(data.getXzbm().substring(8)); + GD2022Api1023.setKqdm(kqdm); + List<Api1102> api1102List = api1102Rep.findPushData(kqdm); + if (null != api1102List && api1102List.size() > 0) { + GD2022Api1023.setKqmc(api1102List.get(0).getKqmc()); + } + + GD2022Api1023.setDwdm(kqdm.substring(0, 18)); + List<Api1101> api1101List = api1101Rep.findPushData(kqdm); + if (null != api1101List && api1101List.size() > 0) { + GD2022Api1023.setDwmc(api1101List.get(0).getDwmc()); + } + GD2022Api1023.setYjmc(data.getDrugName()); + GD2022Api1023.setYjlx(data.getDrugType()); + GD2022Api1023.setLqrq(data.getLqsj()); + GD2022Api1023.setZhgxsj(data.getUpdateTime()); + if (data.getLqr().contains("銆�")) { + GD2022Api1023.setLqr(data.getLqr().replace('銆�', '|')); + } + + //鍌ㄧ伯绮儏鏄庣粏琛� + List<Fz61DrugLogDtl> dtls = drugLogDtlRep.listDrugLogDtl(data.getXzbm()); + Api1105 api1105 = commonService.getApi1105Cache(data.getDepotId()); + gd2022Api1023Dtl = new Gd2022Api1023Dtl(); + BeanUtils.copyProperties(data, gd2022Api1023Dtl); + if (null != api1105) { + gd2022Api1023Dtl.setCfmc(api1105.getHwmc()); + gd2022Api1023Dtl.setCfdm(api1105.getHwdm().substring(0, 25)); + } + + //绮鍝佺 + String mappingCode = apiTriggerService.getMappingCode(Constant.TRIGGER_P_LSPZ, data.getFoodVariety()); + gd2022Api1023Dtl.setLspzdm(mappingCode); + gd2022Api1023Dtl.setLsxzdm(data.getFoodType()); + gd2022Api1023Dtl.setLsdjdm(data.getFoodLevel()); + gd2022Api1023Dtl.setLssl(data.getNumber()); + gd2022Api1023Dtl.setSf(data.getPerWet()); + gd2022Api1023Dtl.setZz(data.getPerImpurity()); + + + dtlList = new ArrayList<>(); + dtlList.add(gd2022Api1023Dtl); + GD2022Api1023.setDtls(dtlList); +// if (null != dtls && dtls.size() > 0) { +// dtlList = new ArrayList<>(); +// for (Fz61DrugLogDtl dtl : dtls) { +// gdApi1023Dtl = new GdApi1023Dtl(); +// BeanUtils.copyProperties(dtl, gdApi1023Dtl); +// gdApi1023Dtl.setCfdm(dtl.getDepotId()); +// gdApi1023Dtl.setLspzdm(dtl.getFoodVariety()); +// gdApi1023Dtl.setLsxzdm(dtl.getFoodType()); +// gdApi1023Dtl.setLsdjdm(dtl.getFoodLevel()); +// gdApi1023Dtl.setLssl(dtl.getNumber()); +// gdApi1023Dtl.setSf(dtl.getPerWet()); +// gdApi1023Dtl.setZz(dtl.getPerImpurity()); +// dtlList.add(gdApi1023Dtl); +// } +// gdApi1023.setDtls(dtlList); +// } + + + gd2022Api1023Way = new Gd2022Api1023Way(); + BeanUtils.copyProperties(data, gd2022Api1023Way); + wayList = new ArrayList<>(); + wayList.add(gd2022Api1023Way); + GD2022Api1023.setWays(wayList); +// List<Fz61DrugLogWay> ways = drugLogWayRep.listDrugLogWay(data.getXzbm()); +// if (null != ways && ways.size() > 0) { +// wayList = new ArrayList<>(); +// for (Fz61DrugLogWay way : ways) { +// gdApi1023Way = new GdApi1023Way(); +// BeanUtils.copyProperties(way, gdApi1023Way); +// wayList.add(gdApi1023Way); +// } +// gdApi1023.setWays(wayList); +// } + + List<Fz61DrugLogPeople> peoples = drugLogPeopleRep.listDrugLogPeople(data.getXzbm()); + if (null != peoples && peoples.size() > 0) { + peopleList = new ArrayList<>(); + for (Fz61DrugLogPeople people : peoples) { + gd2022Api1023People = new Gd2022Api1023People(); + BeanUtils.copyProperties(people, gd2022Api1023People); + gd2022Api1023People.setXm(people.getMx()); + if (StringUtils.isEmpty(people.getZyzg())) { + gd2022Api1023People.setZyzg("涓骇"); + } + peopleList.add(gd2022Api1023People); + } + GD2022Api1023.setPeoples(peopleList); + } + //鎸佷箙鍖栦繚瀛橈紝鍗曠嫭瀛樺叆闈炲浗鏍囨帴鍙h〃 + infoData = new ApiInfoData(); + + infoData.setKqdm(kqdm); + infoData.setInteType(Constant.API_CATEGORY_13); + infoData.setInteId(ApiCodeConstant.API_9201); + infoData.setBizType(PushProtocol.SB_GD_2023.getCode()); + infoData.setUpdateTime(new Date()); + infoData.setDataId(data.getXzbm()); + apiInfoList = apiInfoDataRep.getDataByInteAndData(ApiCodeConstant.API_9201, data.getXzbm(), kqdm); + + if (null == apiInfoList || apiInfoList.isEmpty()) { + GD2022Api1023.setCzbz(Constant.CZBZ_I); + infoData.setCzbz(Constant.CZBZ_I); + infoData.setId(ContextUtil.getUUID()); + } else { + GD2022Api1023.setCzbz(apiInfoList.get(0).getCzbz()); + infoData.setCzbz(apiInfoList.get(0).getCzbz()); + infoData.setId(apiInfoList.get(0).getId()); + } + + infoData.setData(JSON.toJSONString(GD2022Api1023)); + + //淇濆瓨鏁版嵁 + apiInfoDataRep.save(infoData); + log.info("1023---鍚屾鏁版嵁锛歿}", GD2022Api1023.toString()); + } + + } catch (Exception e) { + log.error("---鐔忚捀澶囨鍚屾鎵ц澶辫触----{}", e.toString()); + apiLog.setResult("鐔忚捀澶囨淇℃伅鍚屾鎵ц澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + } +} -- Gitblit v1.9.3