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