From 11430ae628f098654579811131abc522d679e870 Mon Sep 17 00:00:00 2001 From: czt <czt18638530771@163.com> Date: 星期一, 22 九月 2025 17:04:42 +0800 Subject: [PATCH] 上海对农接口调整-增加自动上传 --- src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1109.java | 358 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 358 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1109.java b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1109.java new file mode 100644 index 0000000..7ae3b4f --- /dev/null +++ b/src/main/java/com/fzzy/async/fzzy61/impl/Fzzy61Sync1109.java @@ -0,0 +1,358 @@ +package com.fzzy.async.fzzy61.impl; + +import com.fzzy.api.Constant; +import com.fzzy.api.entity.Api1109; +import com.fzzy.api.entity.Api1202; +import com.fzzy.api.entity.Api1205; +import com.fzzy.api.entity.ApiLog; +import com.fzzy.api.utils.ContextUtil; +import com.fzzy.api.utils.FileUtils; +import com.fzzy.api.view.repository.Api1109Rep; +import com.fzzy.api.view.repository.Api1202Rep; +import com.fzzy.api.view.repository.Api1205Rep; +import com.fzzy.api.view.repository.ApiLogRep; +import com.fzzy.async.fzzy61.entity.Fz61FileInfo; +import com.fzzy.async.fzzy61.entity.Fz61InoutRecord; +import com.fzzy.async.fzzy61.repository.Fzzy61Sync1109Rep; +import com.fzzy.async.fzzy61.repository.Fzzy61Sync1202Rep; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang.StringUtils; +import org.apache.commons.lang.time.DateUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.util.*; +import java.util.stream.Collectors; + +/** + * 鏂囦欢淇℃伅 + */ +@Slf4j +@Component +public class Fzzy61Sync1109 { + + private final static String IMG_START_C = "C_"; + private final static String IMG_START_R = "R_"; + /** + * 鍥剧墖绫诲瀷 + */ + private final static String IMG_TYPE_1 = "1"; //搴撳尯楦熺灠鍥� + private final static String IMG_TYPE_2 = "2"; //鍏ュ簱鍥剧墖 + private final static String IMG_TYPE_3 = "3"; //鍑哄簱鍥剧墖 + private final static String IMG_TYPE_4 = "4"; //鍏ュ簱妫�鏂よ棰� + private final static String IMG_TYPE_5 = "5"; //鍑哄簱妫�鏂よ棰� + private final static String IMG_TYPE_104 = "104";//鐔忚捀澶囨鎺ュ彛闄勪欢锛岀敤浜庡箍涓滅渷 + + /** + * 涓氬姟绫诲瀷 + */ + private final static String BIZ_TAG_WEIGHT_FULL = "WEIGHT_FULL"; + private final static String BIZ_TAG_WEIGHT_EMPTY = "WEIGHT_EMPTY"; + private final static String BIZ_TAG_REGISTER = "REGISTER"; + private final static String BIZ_TAG_CARD_BACK = "CARD_BACK"; + /** + * 鍑哄叆搴撶被鍨� + */ + private final static String INOUT_TYPE_IN = "IN"; + private final static String INOUT_TYPE_OUT = "OUT"; + + @Autowired + private Fzzy61Sync1109Rep fzzySync1109Rep; + @Autowired + private Fzzy61Sync1202Rep fzzySync1202Rep; + @Autowired + private Api1109Rep api1109Rep; + @Autowired + private Api1202Rep api1202Rep; + @Autowired + private Api1205Rep api1205Rep; + @Autowired + private ApiLogRep apiLogRep; + @Autowired + private FileUtils fileUtil; + + /** + * 鍚屾鏂囦欢鎺ュ彛 + * + * @param deptId + * @param start + * @param end + */ + public void syncData(String kqdm, String deptId, Date start, Date end) { + + log.info("-------------1109鏂囦欢淇℃伅鎺ュ彛鏁版嵁寮�濮嬪悓姝�------------------"); + + //鍚屾鏁版嵁锛屽彧璁板綍澶辫触鐨勪俊鎭� + ApiLog apiLog = new ApiLog(); + apiLog.setType(ApiLog.TYPE_SYNC); + apiLog.setKqdm(deptId); + apiLog.setUploadTime(new Date()); + apiLog.setInteId(Constant.API_CODE_1109); + apiLog.setStatus(99); + apiLog.setId(ContextUtil.getUUID()); + try { + //鑾峰彇鍑哄叆搴撴暟鎹� + List<Fz61InoutRecord> list = fzzySync1202Rep.listInAndOutRecord(deptId, INOUT_TYPE_IN, INOUT_TYPE_OUT, start, end); + + if (null == list || list.isEmpty()) { + log.info("-------------娌℃湁鑾峰彇鍒版枃浠朵俊鎭�------------------"); + return; + } + + Map<String, Integer> map = new HashMap<>(); + Api1109 apiData; + String wjlx; + String wjmc; + List<Api1109> api1109List; + List<Api1202> api1202List; + List<Api1205> api1205List; + String str = ""; //鍑哄叆搴撲笟鍔″崟鍙� + List<Fz61FileInfo> fileList; //鏂囦欢淇℃伅 + List<String> ids; + for (Fz61InoutRecord inoutData : list) { + if (inoutData.getRecordStatus().equals("DEL") || inoutData.getRecordStatus().equals("ERROR")) { + continue; + } + if (!inoutData.getProgress().equals("RECORD")) { + continue; + } + ids = new ArrayList<>(); + wjlx = ""; + //鑾峰彇鍑哄叆搴撲笟鍔″崟鍙蜂俊鎭� + if (inoutData.getType().equals(INOUT_TYPE_IN)) { + wjlx = IMG_TYPE_2; + api1202List = api1202Rep.getDataByBizId(inoutData.getId()); + if (null == api1202List || api1202List.isEmpty()) { + continue; + } + ids = api1202List.stream().map(Api1202::getRkywdh).collect(Collectors.toList()); + } + if (inoutData.getType().equals(INOUT_TYPE_OUT)) { + wjlx = IMG_TYPE_3; + api1205List = api1205Rep.getDataByBizId(inoutData.getId()); + if (null == api1205List || api1205List.isEmpty()) { + continue; + } + ids = api1205List.stream().map(Api1205::getCkywdh).collect(Collectors.toList()); + + } + + //鑻ユ枃浠剁被鍨嬩负绌猴紝鍒欒烦杩� + if (StringUtils.isEmpty(wjlx)) { + continue; + } + + //鏍规嵁鍑哄叆搴撳崟鍙疯幏鍙栧搴旀枃浠朵俊鎭� + fileList = fzzySync1109Rep.listFileInfoByBizId(inoutData.getId()); + if (null == fileList || fileList.isEmpty()) { + continue; + } + int num = 1; + int idsNum = 0; + String bizTag = null; + for (Fz61FileInfo sysData : fileList) { + apiData = new Api1109(); + + //涓婚敭id + apiData.setId(sysData.getFileId()); + //鏂囦欢璺緞 + apiData.setWjdz(fileUtil.getInoutFilePath(sysData.getCreateTime()) + sysData.getFileName()); + //鐧昏 + if (BIZ_TAG_REGISTER.equals(sysData.getBizTag()) || BIZ_TAG_CARD_BACK.equals(sysData.getBizTag())) { + str = ids.get(0); + wjmc = kqdm + "_" + str; + //鏂囦欢鍚嶇О + wjmc = getImgNameType(wjmc, sysData.getBizTag(), str, sysData.getFileName(), map); + apiData.setWjmc(wjmc); + //鏂囦欢绫诲瀷 + apiData.setWjlx(wjlx); + } + //绉伴噸 + if (BIZ_TAG_WEIGHT_FULL.equals(sysData.getBizTag()) || BIZ_TAG_WEIGHT_EMPTY.equals(sysData.getBizTag())) { + bizTag = sysData.getBizTag(); + if (StringUtils.isNotEmpty(inoutData.getTransType()) && inoutData.getTransType().equals("3")) { + if (num > 6) { + num = 1; + idsNum++; + } + } else { + if (num > 8) { + num = 1; + idsNum++; + } + } + //2024-05-23 姝ゅ鏆傛椂璁剧疆鍚嶇О闀垮害闄愬埗锛屽悗鏈熻皟鏁村悗鍙垹闄� + if (sysData.getCreateTime().after(DateUtils.parseDate("2024-04-18", new String[]{"yyyy-MM-dd"}))) { + if (StringUtils.isNotEmpty(inoutData.getTransType()) && inoutData.getTransType().equals("3")) { + bizTag = sysData.getBizTag(); + } else { + bizTag = null; + } + } + if (idsNum == ids.size()) { + break; + } + str = ids.get(idsNum); + + wjmc = kqdm + "_" + str; + + //鏂囦欢鍚嶇О + wjmc = getImgNameType(wjmc, bizTag, str, sysData.getFileName(), map); + apiData.setWjmc(wjmc); + apiData.setWjlx(wjlx); + if (wjmc.indexOf(Constant.IMG_NAME_TYPE_IVG) >= 0 || wjmc.indexOf(Constant.IMG_NAME_TYPE_IVT) >= 0) { + apiData.setWjlx(IMG_TYPE_4); + } + if (wjmc.indexOf(Constant.IMG_NAME_TYPE_OVG) >= 0 || wjmc.indexOf(Constant.IMG_NAME_TYPE_OVT) >= 0) { + apiData.setWjlx(IMG_TYPE_5); + } + num++; + } + + //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂� + apiData.setZhgxsj(new Date()); + + //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂� + apiData.setBizId(sysData.getFileId()); + apiData.setKqdm(kqdm); + apiData.setSyncTime(new Date()); + + api1109List = api1109Rep.getDataByBizId(apiData.getBizId()); + if (null == api1109List || api1109List.isEmpty()) { + apiData.setCzbz(Constant.CZBZ_I); + } else { + apiData.setCzbz(api1109List.get(0).getCzbz()); + } + + //淇濆瓨鏁版嵁 + api1109Rep.save(apiData); + log.info("1109鏂囦欢淇℃伅---鍚屾鏁版嵁锛歿}", apiData.toString()); + } + } + } catch (Exception e) { + log.error("---1109鏂囦欢鍚屾鎵ц澶辫触----{}", e.toString()); + apiLog.setResult("鍚屾鏂囦欢淇℃伅澶辫触锛�" + e.getMessage()); + apiLogRep.save(apiLog); + } + } + + /** + * 鑾峰彇鍥剧墖鍛藉悕绫诲瀷 + * + * @param wjmc 闇�瑕佺殑鏂囦欢鍚嶇О + * @param bizTag 鏂囦欢涓氬姟绫诲瀷 + * @param bizId 鏂囦欢涓氬姟id + * @param fileName 鍘熸枃浠跺悕 + * @param map + * @return + */ + private String getImgNameType(String wjmc, String bizTag, String bizId, String fileName, Map<String, Integer> map) { + if (null == bizTag) { + if (fileName.indexOf(Constant.IMG_NAME_TYPE_DJ) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_DJ + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_RK) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_RK + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_CK) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_CK + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_GL) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_GL + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_GR) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_GR + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_GT) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_GT + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_TL) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_TL + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_TR) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_TR + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_TT) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_TT + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_SL) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_SL + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_SF) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_SF + ".jpg"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_IVG) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_IVG + ".mp4"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_IVT) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_IVT + ".mp4"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_OVG) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_OVG + ".mp4"; + } + if (fileName.indexOf(Constant.IMG_NAME_TYPE_OVT) >= 0) { + return wjmc + "_" + Constant.IMG_NAME_TYPE_OVT + ".mp4"; + } + } + + Integer num = 0; + //姣涢噸 + if (BIZ_TAG_WEIGHT_FULL.equals(bizTag)) { + if (null == map.get(bizId + "_" + bizTag)) { + map.put(bizId + "_" + bizTag, 1); + } + num = map.get(bizId + "_" + bizTag); + if (num == 1) { + wjmc += "_" + Constant.IMG_NAME_TYPE_GL; + map.put(bizId + "_" + bizTag, 2); + } + if (num == 2) { + wjmc += "_" + Constant.IMG_NAME_TYPE_GR; + map.put(bizId + "_" + bizTag, 3); + } + if (num == 3) { + wjmc += "_" + Constant.IMG_NAME_TYPE_GT; + map.remove(bizId + "_" + bizTag); + } + } + //鐨噸 + if (BIZ_TAG_WEIGHT_EMPTY.equals(bizTag)) { + if (null == map.get(bizId + "_" + bizTag)) { + map.put(bizId + "_" + bizTag, 1); + } + num = map.get(bizId + "_" + bizTag); + if (num == 1) { + wjmc += "_" + Constant.IMG_NAME_TYPE_TL; + map.put(bizId + "_" + bizTag, 2); + } + if (num == 2) { + wjmc += "_" + Constant.IMG_NAME_TYPE_TR; + map.put(bizId + "_" + bizTag, 3); + } + if (num == 3) { + wjmc += "_" + Constant.IMG_NAME_TYPE_TT; + map.remove(bizId + "_" + bizTag); + } + } + //鍏ュ簱鐧昏 + if (BIZ_TAG_REGISTER.equals(bizTag)) { + if (null == map.get(bizId + "_" + bizTag)) { + map.put(bizId + "_" + bizTag, 1); + } + num = map.get(bizId + "_" + bizTag); + if (num == 1) { + wjmc += "_" + Constant.IMG_NAME_TYPE_DJ; + map.put(bizId + "_" + bizTag, 2); + } + if (num == 2) { + wjmc += "_" + Constant.IMG_NAME_TYPE_RK; + map.remove(bizId + "_" + bizTag); + } + } + //鍑哄簱鐓х墖 + if (BIZ_TAG_CARD_BACK.equals(bizTag)) { + wjmc += "_" + Constant.IMG_NAME_TYPE_CK; + } + return wjmc + ".jpg"; + } +} -- Gitblit v1.9.3