CZT
2023-09-18 366bd9b4bd8f4323959fbf345c31ce38ea719553
优化上海接口上传
已删除1个文件
已添加2个文件
已修改26个文件
764 ■■■■■ 文件已修改
src/main/java/com/fzzy/api/utils/FileUtil.java 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/utils/FileUtils.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/utils/ShRSAUtils.java 173 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/view/pr/Api1101PR.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/view/pr/Api1103PR.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy30/impl/Fzzy30Sync1109.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1109.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gb2022/GBPushService11.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/gd2020/GDPushService11.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java 154 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1101.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1102.java 32 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1103.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1104.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1105.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1106.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1107.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1108.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1109.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1110.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1111.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1112.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1113.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1114.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1201.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-dev.yml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-pro.yml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application-pro5303.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/fzzy/api/utils/FileUtil.java
ÎļþÒÑɾ³ý
src/main/java/com/fzzy/api/utils/FileUtils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,99 @@
package com.fzzy.api.utils;
import com.fzzy.data.ConfigData;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Date;
/**
 * å°†æ–‡ä»¶è½¬ä¸ºäºŒè¿›åˆ¶æµå·¥å…·ç±»
 * @author czt
 *
 */
@Service(FileUtils.BEAN_ID)
public class FileUtils {
    public static final String BEAN_ID = "base.fileUtil";
    @Autowired
    private ConfigData configData;
    /**
     * æ ¹æ®æ–‡ä»¶è·¯å¾„将文件转为二进制文件流字符串
     * @param filePath:文件路径
     * @return
     */
    public static String fileToByteString(String filePath) {
        byte[] bytes = file2byte(filePath);
        return toHexString(bytes);
    }
    /**
     * æ ¹æ®æ–‡ä»¶è·¯å¾„将文件转为二进制数组
     * @param filePath:文件路径
     * @return
     */
    private static byte[] file2byte(String filePath) {
        byte[] buffer = null;
        try {
            File file = new File(filePath);
            FileInputStream fis = new FileInputStream(file);
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            byte[] b = new byte[1024];
            int n;
            while ((n = fis.read(b)) != -1) {
                bos.write(b, 0, n);
            }
            fis.close();
            bos.close();
            buffer = bos.toByteArray();
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return buffer;
    }
    /**
     * å°†äºŒè¿›åˆ¶æ•°ç»„转为字符串
     * @param byteArray
     * @return
     */
    private static String toHexString(byte[] byteArray) {
        if (byteArray == null || byteArray.length < 1)
            throw new IllegalArgumentException(
                    "this byteArray must not be null or empty");
        final StringBuilder hexString = new StringBuilder();
        for (int i = 0; i < byteArray.length; i++) {
            if ((byteArray[i] & 0xff) < 0x10)// 0~F前面不零
                hexString.append("0");
            hexString.append(Integer.toHexString(0xFF & byteArray[i]));
        }
        return hexString.toString().toLowerCase();
    }
    public String getInoutFilePath(Date date) {
        if (null == date) {
            date = new Date();
        }
        String basePath = configData.getImgPath() + "INOUT/"
                + DateFormatUtils.format(date, "yyyyMM") + "/";
        File file = new File(basePath);
        if (!file.exists()) {
            file.mkdirs();
        }
        return basePath;
    }
}
src/main/java/com/fzzy/api/utils/ShRSAUtils.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,173 @@
package com.fzzy.api.utils;
;
import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import java.io.ByteArrayOutputStream;
import java.nio.charset.StandardCharsets;
import java.security.*;
import java.security.spec.PKCS8EncodedKeySpec;
import java.security.spec.X509EncodedKeySpec;
import java.util.HashMap;
import java.util.Map;
/**
 * date: 2022-08-31
 * ä¸Šæµ·æ˜¯å¹³å°æŽ¥å£äººå‘˜æä¾›
 */
public class ShRSAUtils {
    // æ•°å­—签名,密钥算法
    private static final String RSA_KEY_ALGORITHM = "RSA";
    // æ•°å­—签名签名/验证算法
    private static final String SIGNATURE_ALGORITHM = "MD5withRSA";
    //分段加密大小
    public static int MAX_ENCRYPT_BLOCK  = 117;
    //分段解密大小
    public static int MAX_DECRYPT_BLOCK = 128;
    //密钥大小
    public static int KEY_SIZE = 1024;
    /**
     * åˆå§‹åŒ–RSA密钥对
     */
    @SuppressWarnings("unused")
    private static Map<String, String> initKey(String str) throws Exception {
        KeyPairGenerator keygen = KeyPairGenerator.getInstance(RSA_KEY_ALGORITHM);
        SecureRandom secrand = new SecureRandom();
        secrand.setSeed(str.getBytes());// åˆå§‹åŒ–随机产生器
        keygen.initialize(KEY_SIZE, secrand); // åˆå§‹åŒ–密钥生成器
        KeyPair keys = keygen.genKeyPair();
        String pub_key = new String(Base64.encodeBase64(keys.getPublic().getEncoded()),"utf-8");
        String pri_key = new String(Base64.encodeBase64(keys.getPrivate().getEncoded()),"utf-8");
        Map<String, String> keyMap = new HashMap<String, String>();
        System.out.println("公钥:" + pub_key);
        System.out.println("私钥:" + pri_key);
        return keyMap;
    }
    /**
     * æ•°å­—签名
     */
    public static String sign(String text, String pri_key) throws Exception {
        byte[] data = text.getBytes();
        // å–得私钥
        byte[] pri_key_bytes = Base64.decodeBase64(pri_key.getBytes());
        PKCS8EncodedKeySpec pkcs8KeySpec = new PKCS8EncodedKeySpec(pri_key_bytes);
        KeyFactory keyFactory = KeyFactory.getInstance(RSA_KEY_ALGORITHM);
        // ç”Ÿæˆç§é’¥
        PrivateKey priKey = keyFactory.generatePrivate(pkcs8KeySpec);
        // å®žä¾‹åŒ–Signature
        Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM);
        // åˆå§‹åŒ–Signature
        signature.initSign(priKey);
        // æ›´æ–°
        signature.update(data);
        return new String(Base64.encodeBase64(signature.sign()),"utf-8");
    }
    /**
     * å…¬é’¥åР坆
     * @param data å¾…加密数据
     * @param pub_key å…¬é’¥
     * @return å¯†æ–‡
     * @throws Exception æŠ›å‡ºå¼‚常
     */
    private static byte[] encryptByPubKey(byte[] data, byte[] pub_key) throws Exception {
        // å–得公钥
        X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(pub_key);
        KeyFactory keyFactory = KeyFactory.getInstance(RSA_KEY_ALGORITHM);
        PublicKey publicKey = keyFactory.generatePublic(x509KeySpec);
        // å¯¹æ•°æ®åР坆
        Cipher cipher = Cipher.getInstance(keyFactory.getAlgorithm());
        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
//        return cipher.doFinal(data);
        int inputLen = data.length;
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        int offSet = 0;
        byte[] cache;
        int i = 0;
        // å¯¹æ•°æ®åˆ†æ®µåР坆
        while (inputLen - offSet > 0) {
            if (inputLen - offSet > MAX_ENCRYPT_BLOCK) {
                cache = cipher.doFinal(data, offSet, MAX_ENCRYPT_BLOCK);
            } else {
                cache = cipher.doFinal(data, offSet, inputLen - offSet);
            }
            out.write(cache, 0, cache.length);
            i++;
            offSet = i * MAX_ENCRYPT_BLOCK;
        }
        byte[] encryptedData = out.toByteArray();
        out.close();
        return encryptedData;
    }
    /**
     * RSA校验数字签名
     */
    public static boolean verify(byte[] data, byte[] sign, String pub_key) throws Exception {
        // è½¬æ¢å…¬é’¥ææ–™
        // å®žä¾‹åŒ–密钥工厂
        byte[] pub_key_bytes = Base64.decodeBase64(pub_key.getBytes());
        KeyFactory keyFactory = KeyFactory.getInstance(RSA_KEY_ALGORITHM);
        // åˆå§‹åŒ–公钥
        // å¯†é’¥ææ–™è½¬æ¢
        X509EncodedKeySpec x509KeySpec = new X509EncodedKeySpec(pub_key_bytes);
        // äº§ç”Ÿå…¬é’¥
        PublicKey pubKey = keyFactory.generatePublic(x509KeySpec);
        // å®žä¾‹åŒ–Signature
        Signature signature = Signature.getInstance(SIGNATURE_ALGORITHM);
        // åˆå§‹åŒ–Signature
        signature.initVerify(pubKey);
        // æ›´æ–°
        signature.update(data);
        // éªŒè¯
        return signature.verify(sign);
    }
    public static boolean InspecdataSign(String data,String accessToken,String pubkey){
        String sign = data;
        try {
            if(ShRSAUtils.verify(sign.getBytes(), Base64.decodeBase64(accessToken.getBytes()), pubkey)){
                return true;
            }else{
                return false;
            }
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
            return false;
        }
    }
    /**
     * å…¬é’¥åР坆
     * @param data å¾…加密数据
     * @param pub_key å…¬é’¥
     * @return å¯†æ–‡
     * @throws Exception æŠ›å‡ºå¼‚常
     */
    public static String encryptByPubKey(String data, String pub_key) throws Exception {
        byte[] pub_key_bytes = Base64.decodeBase64(pub_key.getBytes("utf-8"));
        byte[] enSign = encryptByPubKey(data.getBytes("utf-8"), pub_key_bytes);
        return new String(Base64.encodeBase64(enSign),"utf-8");
    }
    public static void main(String[] args) throws Exception{
//        initKey("嘉定区智慧粮库接口2023");
        String signStr = "310114_2022-09-18";
        String pri_key = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJGxqYyI/k6nYkm2nf4ggkAMViEvbnplbQqw6Qweu4neFXCC+iKY8cq5RZEj8JLfrm/gHBTPN8FF1sQIwWwsDV7UUc88DS5KwAi5JXBHMdcbh2tftkINr0YVn6rIgUBTbmPZ7Y8L2iW8psYsF9nxwvUUtcbFJXIMJfi39Qxl0NQvAgMBAAECgYBKWLHfoCy9sFbMrN7UxnwQ+PqetpiW5tkNApf58ljbErQ4FO5V51xDieXBGejy2igmuOM7jz6xZtUgdiNV8uji/RtiNRqsBekVBPMeYAnPwA4GQ0HNwyHJ3ebJNQqT9bwrk8QpRUuCnrx/U1l7P1QNR5o52H1HpEKPlS0ga0fuQQJBAMdiSFYKt8/PwsYclvU/GqXrPy4cxMBhtE/ZssH9KourxnJcyfRz7EPgfSZykxlGHn8j/r8C2XxtAIYW6mRckqECQQC7EIZCZ3eV8abSIB33oKmw2jZlPQrHXMt8DWz8FYbNIA/9bvk9e9O42iQwMUtHfOMcNMWbcvKR/J+83bcE08TPAkA1ErdYl+/H1HDvVUrlq0+HnPArcSL6ZsedfcB0nNRHa4kehg6IEJdylf4aTuNTFfQmOcmkxLhpw4YhK1ZnMrEhAkEAuiMLNXA3MmCumk+TAiBAOdYoYjyHSTEw2VOSqpPQ+rN4tbmDEIbyefG2KK4kNhIy+pIYP0H11QYG/KuxvX/rSQJBALs0TqUgcGOp9+IkOq4jCXiVkP5/r7JWinQ4d6bYhJ4wspQYloYFCHljKKXtst1m8I3PC+vJY8R6va/3xtQKT8U=";
        String pub_key = "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRsamMiP5Op2JJtp3+IIJADFYhL256ZW0KsOkMHruJ3hVwgvoimPHKuUWRI/CS365v4BwUzzfBRdbECMFsLA1e1FHPPA0uSsAIuSVwRzHXG4drX7ZCDa9GFZ+qyIFAU25j2e2PC9olvKbGLBfZ8cL1FLXGxSVyDCX4t/UMZdDULwIDAQAB";
        String access_token = ShRSAUtils.sign(signStr, pri_key);
        System.out.println(access_token);
        System.out.println(InspecdataSign(signStr,access_token,pub_key));
    }
}
src/main/java/com/fzzy/api/view/pr/Api1101PR.java
@@ -174,7 +174,7 @@
            for (Api1101 data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    //更新状态
                    api1101Rep.updateStatus(data.getKqdm(), Constant.CZBZ_U);
                    api1101Rep.updateStatus(data.getDwdm(), Constant.CZBZ_U);
                }
            }
        }
src/main/java/com/fzzy/api/view/pr/Api1103PR.java
@@ -160,7 +160,7 @@
    private String pushDataList(List<Api1103> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
        //封装参数
        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1102);
        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1103);
        //推送,数据为集合形式
        ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items);
src/main/java/com/fzzy/async/fzzy30/impl/Fzzy30Sync1109.java
@@ -4,7 +4,7 @@
import com.fzzy.api.entity.Api1109;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.utils.FileUtil;
import com.fzzy.api.utils.FileUtils;
import com.fzzy.api.view.repository.Api1109Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.async.fzzy30.entity.FileInfo;
@@ -39,7 +39,7 @@
    @Autowired
    private ApiLogRep apiLogRep;
    @Autowired
    private FileUtil fileUtil;
    private FileUtils fileUtil;
    /**
     * åŒæ­¥æ–‡ä»¶æŽ¥å£
src/main/java/com/fzzy/async/fzzy35/impl/Fzzy35Sync1109.java
@@ -6,7 +6,7 @@
import com.fzzy.api.entity.Api1205;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.utils.FileUtil;
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;
@@ -57,7 +57,7 @@
    @Autowired
    private ApiLogRep apiLogRep;
    @Autowired
    private FileUtil fileUtil;
    private FileUtils fileUtil;
    /**
     * åŒæ­¥æ–‡ä»¶æŽ¥å£
src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1109.java
@@ -6,7 +6,7 @@
import com.fzzy.api.entity.Api1205;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.utils.FileUtil;
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;
@@ -58,7 +58,7 @@
    @Autowired
    private ApiLogRep apiLogRep;
    @Autowired
    private FileUtil fileUtil;
    private FileUtils fileUtil;
    /**
     * åŒæ­¥æ–‡ä»¶æŽ¥å£
src/main/java/com/fzzy/push/gb2022/GBPushService11.java
@@ -6,13 +6,12 @@
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.Api1109;
import com.fzzy.api.service.PushService11;
import com.fzzy.api.utils.FileUtil;
import com.fzzy.api.utils.FileUtils;
import com.fzzy.api.view.repository.Api1109Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.List;
/**
@@ -26,8 +25,6 @@
    private Api1109Rep api1109Rep;
    @Autowired
    private GBApiRemoteService apiRemoteService;
    @Autowired
    private FileUtil fileUtil;
    @Override
@@ -68,7 +65,7 @@
            apiData = new Api1109();
            BeanUtils.copyProperties(data, apiData);
            //获取二进制文件流
            apiData.setWjl(fileUtil.imgToIo(apiData.getWjdz()));
            apiData.setWjl(FileUtils.fileToByteString(apiData.getWjdz()));
            param.setBizId(data.getBizId());
src/main/java/com/fzzy/push/gd2020/GDPushService11.java
@@ -6,7 +6,7 @@
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.Api1109;
import com.fzzy.api.service.PushService11;
import com.fzzy.api.utils.FileUtil;
import com.fzzy.api.utils.FileUtils;
import com.fzzy.api.view.repository.Api1109Rep;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
@@ -27,7 +27,7 @@
    @Autowired
    private Api1109Rep api1109Rep;
    @Autowired
    private FileUtil fileUtil;
    private FileUtils fileUtil;
    @Autowired
    private GDApiRemoteService apiRemoteService;
@@ -69,7 +69,7 @@
            apiData = new Api1109();
            BeanUtils.copyProperties(data, apiData);
            //获取二进制文件流
            apiData.setWjl(fileUtil.imgToIo(apiData.getWjdz()));
            apiData.setWjl(FileUtils.fileToByteString(apiData.getWjdz()));
            param.setBizId(data.getBizId());
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -18,12 +18,13 @@
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
import java.util.List;
import java.beans.PropertyDescriptor;
import java.util.*;
/**
 * ä¸Šæµ·å¸‚平台2023版-上传数据服务类
@@ -128,13 +129,13 @@
            reqData.setOrderid(orderData.getOrderid());
            //身份签名,使用自有RSA私钥进行加密(地区行政区划代码_当天日期)
            reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
            reqData.setAccess_token(ShRSAUtils.sign(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
            //数据总条数
            List<Object> list = (List<Object>) data;
            reqData.setDatalength(list.size());
            //使用区级平台公钥对数据进行RSA加密
            reqData.setData(RSAUtils.encrypt(jsonData, conf.getPublicKey()));
            reqData.setData(ShRSAUtils.encryptByPubKey(jsonData, conf.getPublicKey()));
            //摘要,数据主体的MD5值
            reqData.setDigst(MyMD5Util.encrypt(jsonData));
@@ -217,12 +218,14 @@
            //指令id
            reqData.setOrderid(orderData.getOrderid());
            //身份签名,使用自有RSA私钥进行加密(地区行政区划代码_当天日期)
            reqData.setAccess_token(RSAUtils.encryptData(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
            reqData.setAccess_token(ShRSAUtils.sign(reqData.getUid() + "_" + DateFormatUtils.format(new Date(), "yyyy-MM-dd"), conf.getPassword()));
            //数据总条数
            List<Object> list = (List<Object>) data;
            reqData.setDatalength(list.size());
            //使用区级平台公钥对数据进行RSA加密
            reqData.setData(RSAUtils.encrypt(jsonData, conf.getPublicKey()));
            reqData.setData(ShRSAUtils.encryptByPubKey(jsonData, conf.getPublicKey()));
            //摘要,数据主体的MD5值
            reqData.setDigst(MyMD5Util.encrypt(jsonData));
@@ -250,6 +253,8 @@
     * @throws Exception
     */
    private String getJsonData(String inteId, Object data, String code) {
        //具体根据接口进行封装
        if (SH2023Constant.SH_2023_API_CODE_1101.equals(inteId)) {
            SH2023Api1101 api1101;
@@ -267,7 +272,8 @@
                list.add(api1101);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1102.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1102.equals(inteId)) {
            SH2023Api1102 api1102;
            //最后转换为json
            List<SH2023Api1102> list = new ArrayList<>();
@@ -285,11 +291,13 @@
                BeanUtils.copyProperties(apiData, api1102);
                api1102.setAjs(api1104List.size());
                api1102.setBjw(ShAreaBjw.getBjw(code));
                api1102.setKqsx("2");
                api1102.setCbcr(count);
                list.add(api1102);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1103.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1103.equals(inteId)) {
            SH2023Api1103 api1103;
            //最后转换为json
            List<SH2023Api1103> list = new ArrayList<>();
@@ -305,7 +313,8 @@
                list.add(api1103);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1104.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1104.equals(inteId)) {
            SH2023Api1104 api1104;
            //最后转换为json
            List<SH2023Api1104> list = new ArrayList<>();
@@ -321,7 +330,8 @@
                list.add(api1104);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1105.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1105.equals(inteId)) {
            SH2023Api1105 api1105;
            //最后转换为json
            List<SH2023Api1105> list = new ArrayList<>();
@@ -334,7 +344,8 @@
                list.add(api1105);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1106.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1106.equals(inteId)) {
            SH2023Api1106 api1106;
            //最后转换为json
            List<SH2023Api1106> list = new ArrayList<>();
@@ -347,7 +358,8 @@
                list.add(api1106);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1107.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1107.equals(inteId)) {
            SH2023Api1107 api1107;
            //最后转换为json
            List<SH2023Api1107> list = new ArrayList<>();
@@ -360,7 +372,8 @@
                list.add(api1107);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1108.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1108.equals(inteId)) {
            SH2023Api1108 api1108;
            //最后转换为json
            List<SH2023Api1108> list = new ArrayList<>();
@@ -373,22 +386,29 @@
                list.add(api1108);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1109.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1109.equals(inteId)) {
            SH2023Api1109 api1109;
            //最后转换为json
            List<SH2023Api1109> list = new ArrayList<>();
            FileUtil file = new FileUtil();
            //把data转化成list集合
            List<Api1109> api1109List = castList(data, Api1109.class);
            Map<String, String> map;
            for (Api1109 apiData : api1109List) {
                api1109 = new SH2023Api1109();
                BeanUtils.copyProperties(apiData, api1109);
                api1109.setBjw(ShAreaBjw.getBjw(code));
                api1109.setWjl(file.imgToIo(apiData.getWjdz() + apiData.getWjmc()));
                if("1".equals(api1109.getWjlx())){
                    api1109.setYwdh("无");
                }
                map = new HashMap<>();
                map.put(apiData.getWjmc(), FileUtils.fileToByteString(apiData.getWjdz()));
                api1109.setWjl(JSON.toJSONString(map));
                list.add(api1109);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1110.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1110.equals(inteId)) {
            SH2023Api1110 api1110;
            //最后转换为json
            List<SH2023Api1110> list = new ArrayList<>();
@@ -409,7 +429,8 @@
                list.add(api1110);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1111.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1111.equals(inteId)) {
            SH2023Api1111 api1111;
            //最后转换为json
            List<SH2023Api1111> list = new ArrayList<>();
@@ -422,7 +443,8 @@
                list.add(api1111);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1112.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1112.equals(inteId)) {
            SH2023Api1112 api1112;
            //最后转换为json
            List<SH2023Api1112> list = new ArrayList<>();
@@ -435,7 +457,8 @@
                list.add(api1112);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1113.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1113.equals(inteId)) {
            SH2023Api1113 api1113;
            //最后转换为json
            List<SH2023Api1113> list = new ArrayList<>();
@@ -448,7 +471,8 @@
                list.add(api1113);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1201.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1201.equals(inteId)) {
            SH2023Api1201 api1201;
            //最后转换为json
            List<SH2023Api1201> list = new ArrayList<>();
@@ -462,7 +486,8 @@
                list.add(api1201);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1202.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1202.equals(inteId)) {
            SH2023Api1202 api1202;
            //最后转换为json
            List<SH2023Api1202> list = new ArrayList<>();
@@ -478,7 +503,8 @@
                list.add(api1202);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1203.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1203.equals(inteId)) {
            SH2023Api1203 api1203;
            //最后转换为json
            List<SH2023Api1203> list = new ArrayList<>();
@@ -494,7 +520,8 @@
                list.add(api1203);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1204.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1204.equals(inteId)) {
            SH2023Api1204 api1204;
            //最后转换为json
            List<SH2023Api1204> list = new ArrayList<>();
@@ -508,7 +535,8 @@
                list.add(api1204);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1205.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1205.equals(inteId)) {
            SH2023Api1205 api1205;
            //最后转换为json
            List<SH2023Api1205> list = new ArrayList<>();
@@ -523,7 +551,8 @@
                list.add(api1205);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1206.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1206.equals(inteId)) {
            SH2023Api1206 api1206;
            //最后转换为json
            List<SH2023Api1206> list = new ArrayList<>();
@@ -538,7 +567,8 @@
                list.add(api1206);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1207.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1207.equals(inteId)) {
            SH2023Api1207 api1207;
            //最后转换为json
            List<SH2023Api1207> list = new ArrayList<>();
@@ -555,7 +585,8 @@
                list.add(api1207);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1208.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1208.equals(inteId)) {
            SH2023Api1208 api1208;
            //最后转换为json
            List<SH2023Api1208> list = new ArrayList<>();
@@ -573,7 +604,8 @@
                list.add(api1208);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1209.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1209.equals(inteId)) {
            SH2023Api1209 api1209;
            //最后转换为json
            List<SH2023Api1209> list = new ArrayList<>();
@@ -591,7 +623,8 @@
                list.add(api1209);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1210.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1210.equals(inteId)) {
            SH2023Api1210 api1210;
            //最后转换为json
            List<SH2023Api1210> list = new ArrayList<>();
@@ -606,7 +639,8 @@
                list.add(api1210);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1211.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1211.equals(inteId)) {
            SH2023Api1211 api1211;
            //最后转换为json
            List<SH2023Api1211> list = new ArrayList<>();
@@ -622,7 +656,8 @@
                list.add(api1211);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1212.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1212.equals(inteId)) {
            SH2023Api1212 api1212;
            //最后转换为json
            List<SH2023Api1212> list = new ArrayList<>();
@@ -635,7 +670,8 @@
                list.add(api1212);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1301.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1301.equals(inteId)) {
            SH2023Api1301 api1301;
            //最后转换为json
            List<SH2023Api1301> list = new ArrayList<>();
@@ -648,7 +684,8 @@
                list.add(api1301);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1302.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1302.equals(inteId)) {
            SH2023Api1302 api1302;
            //最后转换为json
            List<SH2023Api1302> list = new ArrayList<>();
@@ -663,7 +700,8 @@
                list.add(api1302);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1303.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1303.equals(inteId)) {
            SH2023Api1303 api1303;
            //最后转换为json
            List<SH2023Api1303> list = new ArrayList<>();
@@ -677,7 +715,8 @@
                list.add(api1303);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1304.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1304.equals(inteId)) {
            SH2023Api1304 api1304;
            //最后转换为json
            List<SH2023Api1304> list = new ArrayList<>();
@@ -691,7 +730,8 @@
                list.add(api1304);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1305.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1305.equals(inteId)) {
            SH2023Api1305 api1305;
            //最后转换为json
            List<SH2023Api1305> list = new ArrayList<>();
@@ -705,7 +745,8 @@
                list.add(api1305);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1306.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1306.equals(inteId)) {
            SH2023Api1306 api1306;
            //最后转换为json
            List<SH2023Api1306> list = new ArrayList<>();
@@ -720,7 +761,8 @@
                list.add(api1306);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1307.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1307.equals(inteId)) {
            SH2023Api1307 api1307;
            //最后转换为json
            List<SH2023Api1307> list = new ArrayList<>();
@@ -736,7 +778,8 @@
                list.add(api1307);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1310.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1310.equals(inteId)) {
            SH2023Api1310 api1310;
            //最后转换为json
            List<SH2023Api1310> list = new ArrayList<>();
@@ -753,7 +796,8 @@
                list.add(api1310);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1401.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1401.equals(inteId)) {
            SH2023Api1401 api1401;
            //最后转换为json
            List<SH2023Api1401> list = new ArrayList<>();
@@ -766,7 +810,8 @@
                list.add(api1401);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1402.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1402.equals(inteId)) {
            SH2023Api1402 api1402;
            //最后转换为json
            List<SH2023Api1402> list = new ArrayList<>();
@@ -779,7 +824,8 @@
                list.add(api1402);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1403.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1403.equals(inteId)) {
            SH2023Api1403 api1403;
            //最后转换为json
            List<SH2023Api1403> list = new ArrayList<>();
@@ -793,7 +839,8 @@
                list.add(api1403);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_1404.equals(inteId)) {
        }
        if (SH2023Constant.SH_2023_API_CODE_1404.equals(inteId)) {
            SH2023Api1404 api1404;
            //最后转换为json
            List<SH2023Api1404> list = new ArrayList<>();
@@ -809,7 +856,7 @@
            return JSON.toJSONString(list);
        }
//        TODO é¡¹ç›®ä¿¡æ¯
//        else if (SH2023Constant.SH_2023_API_CODE_1405.equals(inteId)) {
//         if (SH2023Constant.SH_2023_API_CODE_1405.equals(inteId)) {
//            SH2023Api1405 api1405;
//            //最后转换为json
//            List<SH2023Api1405> list = new ArrayList<>();
@@ -823,7 +870,8 @@
//            }
//            return JSON.toJSONString(list);
//        }
        else if (SH2023Constant.SH_2023_API_CODE_2102.equals(inteId)) {
         if (SH2023Constant.SH_2023_API_CODE_2102.equals(inteId)) {
            SH2023Api2102 api2102;
            //最后转换为json
            List<SH2023Api2102> list = new ArrayList<>();
@@ -841,7 +889,8 @@
                list.add(api2102);
            }
            return JSON.toJSONString(list);
        } else if (SH2023Constant.SH_2023_API_CODE_2203.equals(inteId)) {
        }
         if (SH2023Constant.SH_2023_API_CODE_2203.equals(inteId)) {
            SH2023Api2203 api2203;
            //最后转换为json
            List<SH2023Api2203> list = new ArrayList<>();
@@ -863,7 +912,8 @@
                list.add(api2203);
            }
            return JSON.toJSONString(list);
        }else if (SH2023Constant.SH_2023_API_CODE_2204.equals(inteId)) {
        }
         if (SH2023Constant.SH_2023_API_CODE_2204.equals(inteId)) {
            SH2023Api2204 api2204;
            //最后转换为json
            List<SH2023Api2204> list = new ArrayList<>();
@@ -880,9 +930,9 @@
                list.add(api2204);
            }
            return JSON.toJSONString(list);
        } else {
            return JSON.toJSONString(data);
        }
        return JSON.toJSONString(data);
    }
    /**
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1101.java
@@ -29,8 +29,6 @@
    private String dwlx;
    @PropertyDef(label = "注册日期")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @JSONField(format = "yyyy-MM-dd")
    private Date zcrq;
@@ -59,13 +57,16 @@
    private String zcdz;
    @PropertyDef(label = "电子邮箱")
    private String dzyx;
    @JSONField(serialize = true)
    private String dzyx = "无";
    @PropertyDef(label = "企业官方网站地址")
    private String qygfwzdz;
    @JSONField(serialize = true)
    private String qygfwzdz = "无";
    @PropertyDef(label = "传真号码")
    private String czhm;
    @JSONField(serialize = true)
    private String czhm = "无";
    @PropertyDef(label = "邮政编码")
    private String yzbm;
@@ -73,15 +74,13 @@
    @PropertyDef(label = "行政区划代码")
    private String xzqhdm;
    @PropertyDef(label = "行政区划名称", description = "非国标字段,后期增加")
    @JSONField(serialize = false)
    private String xzqhmc;
    @PropertyDef(label = "上级单位名称")
    private String sjdwmc;
    @JSONField(serialize = true)
    private String sjdwmc = "无";
    @PropertyDef(label = "上级单位代码")
    private String sjdwdm;
    @JSONField(serialize = true)
    private String sjdwdm = "无";
    @PropertyDef(label = "库区数")
    private Integer kqs;
@@ -104,11 +103,10 @@
    @PropertyDef(label = "操作标志")
    private String czbz;
    @PropertyDef(label = "标记位")
    private String bjw;
    @PropertyDef(label = "最后更新时间")
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date zhgxsj;
    @PropertyDef(label = "标记位")
    private String bjw;
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1102.java
@@ -17,16 +17,12 @@
 * æŽ¥å£è¡¨-库区信息
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SH2023Api1102 implements Serializable {
    private static final long serialVersionUID = 6597930270077627879L;
    @PropertyDef(label = "库区代码")
    private String kqdm;
    @PropertyDef(label = "业务id")
    private String bizId;
    @PropertyDef(label = "单位代码")
    private String dwdm;
@@ -40,18 +36,14 @@
    @PropertyDef(label = "行政区划代码")
    private String xzqhdm;
    @PropertyDef(label = "行政区划名称", description = "非国标字段,后期增加")
    @JSONField(serialize = false)
    private String xzqhmc;
    @PropertyDef(label = "库区产权", description = "1: è‡ªæœ‰ 2:租赁 3:共有 4:混合 9:其他")
    private String kqcq;
    @PropertyDef(label = "有效仓容")
    private double yxcr;
    @PropertyDef(label = "储备仓容")
    private double cbcr;
    @PropertyDef(label = "有效仓容")
    private double yxcr;
    @PropertyDef(label = "有效罐容")
    private double yxgr;
@@ -62,6 +54,9 @@
    @PropertyDef(label = "仓房数")
    private Integer cfs;
    @PropertyDef(label = "廒间数")
    private Integer ajs;
    @PropertyDef(label = "油罐数")
    private Integer ygs;
@@ -71,15 +66,6 @@
    @PropertyDef(label = "库区纬度")
    private double wd;
    @PropertyDef(label = "库区状态", description = "1:正常(默认) 2:退出储备粮承储")
    private String kqzt;
    @PropertyDef(label = "海康区域ID", description = "对应海康视频平台regionIndexCode字段")
    private String hkRegionId;
    @PropertyDef(label = "产权方库区代码", description = "自有产权时库区代码必须等于产权方库区代码,非自有产权时库区代码不能等于产权方库区代码")
    private String cqfkqdm;
    @PropertyDef(label = "操作标志")
    private String czbz;
@@ -88,14 +74,8 @@
    private Date zhgxsj;
    @PropertyDef(label = "库区属性", description = "1:市级直属,2:区级直属,3:社会仓容,4:其他")
    @JSONField(serialize = false)
    private String kqsx;
    @PropertyDef(label = "廒间数")
    private Integer ajs;
    @PropertyDef(label = "标记位")
    private String bjw;
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1103.java
@@ -3,12 +3,6 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@@ -16,22 +10,12 @@
 * æŽ¥å£è¡¨-仓房信息
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SH2023Api1103 implements Serializable {
    /**
     *
     */
    private static final long serialVersionUID = 8095346227076335949L;
    @JSONField(serialize = false)
    @PropertyDef(label = "业务id")
    private String bizId;
    @JSONField(serialize = false)
    @PropertyDef(label = "同步时间", description = "从粮库系统同步到接口管理中心的时间")
    private Date syncTime;
    @PropertyDef(label = "仓房代码")
    private String cfdm;
@@ -209,5 +193,4 @@
    @PropertyDef(label = "标记位")
    private String bjw;
}
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1104.java
@@ -2,25 +2,17 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import com.fzzy.api.entity.ApiParent;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
/**
 * æŽ¥å£è¡¨-廒间信息
 *
 * @author chen
 * @author czt
 * @date 2022-09-02 14:18
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SH2023Api1104 implements Serializable {
    /**
@@ -56,6 +48,9 @@
    @PropertyDef(label = "廒间启用日期")
    private Date ajqyrq;
    @PropertyDef(label = "使用库区代码")
    private String sykqdm;
    @PropertyDef(label = "廒间状态")
    private String ajzt;
@@ -66,11 +61,7 @@
    @PropertyDef(label = "最后更新时间")
    private Date zhgxsj;
    @PropertyDef(label = "使用库区代码")
    private String sykqdm;
    @PropertyDef(label = "标记位")
    private String bjw;
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1105.java
@@ -2,10 +2,7 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import com.fzzy.api.entity.ApiParent;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.Date;
@@ -13,7 +10,6 @@
 * æŽ¥å£è¡¨-货位信息
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SH2023Api1105 implements Serializable {
    /**
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1106.java
@@ -3,11 +3,6 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@@ -22,9 +17,6 @@
     */
    private static final long serialVersionUID = -9096483549679877168L;
    @JSONField(serialize = false)
    @PropertyDef(label = "业务id")
    private String bizId;
    @PropertyDef(label = "油罐代码")
    private String ygdm;
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1107.java
@@ -2,13 +2,7 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@@ -23,13 +17,11 @@
     */
    private static final long serialVersionUID = 4932872139553449835L;
    @PropertyDef(label = "库区代码")
    private String kqdm;
    @PropertyDef(label = "设备编号")
    private String sbbh;
    @PropertyDef(label = "库区代码")
    private String kqdm;
    @PropertyDef(label = "设备仪器名称")
    private String sbyqmc;
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1108.java
@@ -24,14 +24,15 @@
     */
    private static final long serialVersionUID = -7131774374918644731L;
    @PropertyDef(label = "药剂编号")
    private String yjbh;
    @PropertyDef(label = "库区代码")
    @Column(name = "kqdm", length = 21)
    private String kqdm;
    @PropertyDef(label = "药剂编号")
    @Column(name = "yjbh", length = 50)
    private String yjbh;
    @PropertyDef(label = "采购日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date cgrq;
    @PropertyDef(label = "药剂名称")
    private String yjmc;
@@ -66,10 +67,6 @@
    @PropertyDef(label = "保质期")
    @JSONField(format = "yyyy-MM-dd")
    private Date bzq;
    @PropertyDef(label = "采购日期")
    @JSONField(format = "yyyy-MM-dd")
    private Date cgrq;
    @PropertyDef(label = "库存数量")
    private Double kcsl;
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1109.java
@@ -3,11 +3,6 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@@ -32,6 +27,9 @@
    @PropertyDef(label = "文件类型", description = "1:库区鸟瞰图 2:入库图片 3:出库图片 4:入库检斤视频(截取检斤时间前后各 5秒钟视频)5:出库检斤视频(截取检斤时间前后各 5 ç§’钟视频)104:熏蒸备案接口附件")
    private String wjlx;
    @PropertyDef(label = "业务单号", description = "当文件类型为1,为空;当文件类型为2、3、4、5传出入库业务单号;当文件类型为6,传合同号;当文件类型为10.、11,传风险点编码")
    private String ywdh;
    @PropertyDef(label = "文件流")
    private String wjl;
@@ -42,6 +40,6 @@
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    private Date zhgxsj;
    @PropertyDef(label = "最后更新时间")
    @PropertyDef(label = "标记位")
    private String bjw;
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1110.java
@@ -3,11 +3,6 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@@ -22,11 +17,11 @@
     */
    private static final long serialVersionUID = 2592349036859314053L;
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @PropertyDef(label = "库区代码")
    private String kqdm;
    @PropertyDef(label = "廒间代码")
    private String ajdm;
    @PropertyDef(label = "廒间相对位置")
    private String ajxdwz;
@@ -46,6 +41,5 @@
    
    @PropertyDef(label = "标记位")
    private String bjw;
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1111.java
@@ -3,11 +3,6 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@@ -22,14 +17,14 @@
     */
    private static final long serialVersionUID = -2000199652473542869L;
    @PropertyDef(label = "视频监控设备id")
    private String spjksbid;
    @PropertyDef(label = "库区代码")
    private String kqdm;
    @PropertyDef(label = "视频监控设备名称")
    private String spjksbmc;
    @PropertyDef(label = "视频监控设备id")
    private String spjksbid;
    @PropertyDef(label = "视频监控设备相对位置")
    private String spjksbxdwz;
@@ -37,11 +32,11 @@
    @PropertyDef(label = "视频监控设备位置样式")
    private String spjksbwzys;
    @PropertyDef(label = "视频监控类型", description = "1:仓内,2:业务,3:安防")
    private String spjklx;
    @PropertyDef(label = "备注")
    private String bz;
    @PropertyDef(label = "视频监控类型", description = ";1:仓内,2:业务,3:安防;")
    private String spjklx;
    @PropertyDef(label = "操作标志")
    private String czbz;
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1112.java
@@ -3,11 +3,6 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
@@ -21,13 +16,8 @@
     *
     */
    private static final long serialVersionUID = -6628887714024258654L;
    @PropertyDef(label = "身份证号码")
    private String sfzhm;
    @PropertyDef(label = "单位代码")
    private String dwdm;
    @PropertyDef(label = "库区代码")
    private String kqdm;
@@ -46,6 +36,9 @@
    @PropertyDef(label = "性别")
    private String xb;
    @PropertyDef(label = "身份证号码")
    private String sfzhm;
    @PropertyDef(label = "入职日期")
    @JSONField(format = "yyyy-MM-dd")
@@ -82,6 +75,9 @@
    @PropertyDef(label = "专业")
    private String zy;
    @PropertyDef(label = "最高职称")
    private String zgzc;
    @PropertyDef(label = "取得最高职称或职业资格时间")
    @JSONField(format = "yyyy-MM-dd")
    private Date qdzgzchzyzgsj;
@@ -92,6 +88,13 @@
    @PropertyDef(label = "职务")
    private String zw;
    @PropertyDef(label = "荣誉称号")
    private String rych;
    @PropertyDef(label = "取得荣誉称号时间")
    @JSONField(format = "yyyy-MM-dd")
    private Date hdrychsj;
    @PropertyDef(label = "操作标志")
    private String czbz;
@@ -101,6 +104,5 @@
    @PropertyDef(label = "标记位")
    private String bjw;
}
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1113.java
@@ -3,11 +3,6 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.util.Date;
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1114.java
@@ -3,7 +3,6 @@
import com.alibaba.fastjson.annotation.JSONField;
import com.bstek.dorado.annotation.PropertyDef;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1201.java
@@ -4,12 +4,7 @@
import com.bstek.dorado.annotation.PropertyDef;
import com.fzzy.conf.NumberSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@@ -18,7 +13,6 @@
 * æŽ¥å£è¡¨-合同信息
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class SH2023Api1201 implements Serializable {
    /**
@@ -156,17 +150,6 @@
    @JSONField(format = "yyyy-MM-dd HH:mm:ss")
    @PropertyDef(label = "更新时间")
    private Date zhgxsj;
    @JSONField(serialize = false)
    @PropertyDef(label = "业务id")
    private String bizId;
    @PropertyDef(label = "库区代码")
    private String kqdm;
    @JSONField(serialize = false)
    @PropertyDef(label = "同步时间", description = "从粮库系统同步到接口管理中心的时间")
    private Date syncTime;
    @PropertyDef(label = "合同是否中止")
    private String htsfzz;
src/main/resources/application-dev.yml
@@ -6,7 +6,7 @@
    #主数据源
    primary:
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5016?useUnicode=true&useSSL=false&characterEncoding=utf-8  #大湾区
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5303?useUnicode=true&useSSL=false&characterEncoding=utf-8
      url: jdbc:mysql://127.0.0.1:3306/igds_api_5303?useUnicode=true&useSSL=false&characterEncoding=utf-8
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5311?useUnicode=true&useSSL=false&characterEncoding=utf-8
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5317?useUnicode=true&useSSL=false&characterEncoding=utf-8     #潮阳库
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5317_1?useUnicode=true&useSSL=false&characterEncoding=utf-8   #潮阳-港口新仓
@@ -22,7 +22,7 @@
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5317_10?useUnicode=true&useSSL=false&characterEncoding=utf-8  #潮阳-和平粮所
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5320?useUnicode=true&useSSL=false&characterEncoding=utf-8     #广东台山
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5321?useUnicode=true&useSSL=false&characterEncoding=utf-8     #广东韶关
      url: jdbc:mysql://127.0.0.1:3306/igds_api_5326?useUnicode=true&useSSL=false&characterEncoding=utf-8     #惠州惠新
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5326?useUnicode=true&useSSL=false&characterEncoding=utf-8     #惠州惠新
#      url: jdbc:mysql://127.0.0.1:3306/igds_api_5327?useUnicode=true&useSSL=false&characterEncoding=utf-8     #武汉黄陂军粮
      username: root
      password: Abc123..
@@ -30,12 +30,12 @@
    #次数据源
    secondary:
#      url: jdbc:mysql://127.0.0.1:3306/igds_3.5_5016?useUnicode=true&useSSL=false&characterEncoding=utf-8  #大湾区
#      url: jdbc:mysql://127.0.0.1:3306/igds_3.5_5303?useUnicode=true&useSSL=false&characterEncoding=utf-8
      url: jdbc:mysql://127.0.0.1:3306/igds_3.5_5303?useUnicode=true&useSSL=false&characterEncoding=utf-8
#      url: jdbc:mysql://127.0.0.1:3306/igds_3.5_5311?useUnicode=true&useSSL=false&characterEncoding=utf-8
#      url: jdbc:mysql://127.0.0.1:3306/igds_3.5_5317?useUnicode=true&useSSL=false&characterEncoding=utf-8
#      url: jdbc:mysql://127.0.0.1:3306/igds_3.5_5320?useUnicode=true&useSSL=false&characterEncoding=utf-8
#      url: jdbc:mysql://127.0.0.1:3306/igds_3.5_5321?useUnicode=true&useSSL=false&characterEncoding=utf-8
      url: jdbc:mysql://127.0.0.1:3306/igds_4.0_5326?useUnicode=true&useSSL=false&characterEncoding=utf-8  #惠州惠新
#      url: jdbc:mysql://127.0.0.1:3306/igds_4.0_5326?useUnicode=true&useSSL=false&characterEncoding=utf-8  #惠州惠新
#      url: jdbc:mysql://127.0.0.1:3306/igds_4.0_5327?useUnicode=true&useSSL=false&characterEncoding=utf-8  #武汉黄陂军粮
      username: root
      password: Abc123..
src/main/resources/application-pro.yml
@@ -53,4 +53,9 @@
  default:
    companyId: 5303
  file-path: D:/IGDS-API/FILE/
  img-path: D:/IGDS/FILE/
  img-path: D:/IGDS/FILE/
  # çœå¹³å°RSA密钥对信息
  #公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsoiS5Q5CKAT9w5EbZXCxJO/5J2iV3i2HrTW/YcGs2EGeQsQc97EWPdFE1SPXGH5p9TO8nCFRJScj4WeeKUVcuRpzR7czQQ+c6kf6cR9LLQrAiGEMQSk13j/5UsJho23IQDGKWoH18f5aPdX8tJn/o4aR6mMxUY9jdaSKEBck1TQIDAQAB
  # åŒºçº§å¹³å°RSA密钥对信息
  #公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRsamMiP5Op2JJtp3+IIJADFYhL256ZW0KsOkMHruJ3hVwgvoimPHKuUWRI/CS365v4BwUzzfBRdbECMFsLA1e1FHPPA0uSsAIuSVwRzHXG4drX7ZCDa9GFZ+qyIFAU25j2e2PC9olvKbGLBfZ8cL1FLXGxSVyDCX4t/UMZdDULwIDAQAB
  #私钥:MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJGxqYyI/k6nYkm2nf4ggkAMViEvbnplbQqw6Qweu4neFXCC+iKY8cq5RZEj8JLfrm/gHBTPN8FF1sQIwWwsDV7UUc88DS5KwAi5JXBHMdcbh2tftkINr0YVn6rIgUBTbmPZ7Y8L2iW8psYsF9nxwvUUtcbFJXIMJfi39Qxl0NQvAgMBAAECgYBKWLHfoCy9sFbMrN7UxnwQ+PqetpiW5tkNApf58ljbErQ4FO5V51xDieXBGejy2igmuOM7jz6xZtUgdiNV8uji/RtiNRqsBekVBPMeYAnPwA4GQ0HNwyHJ3ebJNQqT9bwrk8QpRUuCnrx/U1l7P1QNR5o52H1HpEKPlS0ga0fuQQJBAMdiSFYKt8/PwsYclvU/GqXrPy4cxMBhtE/ZssH9KourxnJcyfRz7EPgfSZykxlGHn8j/r8C2XxtAIYW6mRckqECQQC7EIZCZ3eV8abSIB33oKmw2jZlPQrHXMt8DWz8FYbNIA/9bvk9e9O42iQwMUtHfOMcNMWbcvKR/J+83bcE08TPAkA1ErdYl+/H1HDvVUrlq0+HnPArcSL6ZsedfcB0nNRHa4kehg6IEJdylf4aTuNTFfQmOcmkxLhpw4YhK1ZnMrEhAkEAuiMLNXA3MmCumk+TAiBAOdYoYjyHSTEw2VOSqpPQ+rN4tbmDEIbyefG2KK4kNhIy+pIYP0H11QYG/KuxvX/rSQJBALs0TqUgcGOp9+IkOq4jCXiVkP5/r7JWinQ4d6bYhJ4wspQYloYFCHljKKXtst1m8I3PC+vJY8R6va/3xtQKT8U=
src/main/resources/application-pro5303.yml
@@ -57,5 +57,5 @@
  # çœå¹³å°RSA密钥对信息
  #公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsoiS5Q5CKAT9w5EbZXCxJO/5J2iV3i2HrTW/YcGs2EGeQsQc97EWPdFE1SPXGH5p9TO8nCFRJScj4WeeKUVcuRpzR7czQQ+c6kf6cR9LLQrAiGEMQSk13j/5UsJho23IQDGKWoH18f5aPdX8tJn/o4aR6mMxUY9jdaSKEBck1TQIDAQAB
  # åŒºçº§å¹³å°RSA密钥对信息
  #公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC5tOvvBfAbNstnTjQU6VpcgE1Agy3ifXZovHEEnWEMSW5Z5H21VxHTQo2Jl6qi+NH03gKBR0pjOUuqnTMiv5oyZnNo8KKNmF4p+0dFTcEjQ72hsYrNDXjTIn1xzlzuABzGTeOP5W31VO7YsUlQQLj26bWRiwsojaXh7xiUdIUGywIDAQAB
  #私钥:MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBALm06+8F8Bs2y2dONBTpWlyATUCDLeJ9dmi8cQSdYQxJblnkfbVXEdNCjYmXqqL40fTeAoFHSmM5S6qdMyK/mjJmc2jwoo2YXin7R0VNwSNDvaGxis0NeNMifXHOXO4AHMZN44/lbfVU7tixSVBAuPbptZGLCyiNpeHvGJR0hQbLAgMBAAECgYAuispqwFk56NS3kmD5MLbF4h36YiYY0orfmwLUPkE5XBn9C4f579V21gI1Dr7kU2oDbbTBA8X/8jcljnpnZg/VzlVaY1TlnBFN7UQxNrMtIZbt3Tk2TyAKl+kGy/RvMu8y0y8/vVE2hyfXsdbwmGRXLw4o02fziOznwgDHBmU4sQJBAOhyMdIQfPrKCocVJ2fqqEyVqW05klVPxRqHeltXjTe2Nr8/dSxDS4TUH1VK63ZBTWcBNiMS7u7OhpaygYwLFQMCQQDMhkb9qgGDZT2CqGA3yGylRDBfw1d8YfK1qDZuvzEhc+v16aZ5X7hxQgDLgGvArjBGyV5rxq2ZCVCbpNqT3yiZAkEAnq4OKqwM1ZuFck/TldIQUC+++IxbxBdvo7umoKJ1Cfo/B3HHiI7sB+JS/YPml9TehRnDnk/3gljEci2r2DFchwJAIsPgZVX0k+Uto3wDfvfun9kLb/vAb0AnBYHmXsTZERqnTVG+HnuK2pWhlPXrWwFA64dnKWLIN29B6HMJRIF2YQJAC8cUhkAX80EVIAz/9JK+4X8yJk0lUFpi+6meE0hhaABtTXNq4kxv7+2gu5Bs64k9R2ZFdJUKTtbcdH++DNKL9Q==
  #公钥:MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCRsamMiP5Op2JJtp3+IIJADFYhL256ZW0KsOkMHruJ3hVwgvoimPHKuUWRI/CS365v4BwUzzfBRdbECMFsLA1e1FHPPA0uSsAIuSVwRzHXG4drX7ZCDa9GFZ+qyIFAU25j2e2PC9olvKbGLBfZ8cL1FLXGxSVyDCX4t/UMZdDULwIDAQAB
  #私钥:MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAJGxqYyI/k6nYkm2nf4ggkAMViEvbnplbQqw6Qweu4neFXCC+iKY8cq5RZEj8JLfrm/gHBTPN8FF1sQIwWwsDV7UUc88DS5KwAi5JXBHMdcbh2tftkINr0YVn6rIgUBTbmPZ7Y8L2iW8psYsF9nxwvUUtcbFJXIMJfi39Qxl0NQvAgMBAAECgYBKWLHfoCy9sFbMrN7UxnwQ+PqetpiW5tkNApf58ljbErQ4FO5V51xDieXBGejy2igmuOM7jz6xZtUgdiNV8uji/RtiNRqsBekVBPMeYAnPwA4GQ0HNwyHJ3ebJNQqT9bwrk8QpRUuCnrx/U1l7P1QNR5o52H1HpEKPlS0ga0fuQQJBAMdiSFYKt8/PwsYclvU/GqXrPy4cxMBhtE/ZssH9KourxnJcyfRz7EPgfSZykxlGHn8j/r8C2XxtAIYW6mRckqECQQC7EIZCZ3eV8abSIB33oKmw2jZlPQrHXMt8DWz8FYbNIA/9bvk9e9O42iQwMUtHfOMcNMWbcvKR/J+83bcE08TPAkA1ErdYl+/H1HDvVUrlq0+HnPArcSL6ZsedfcB0nNRHa4kehg6IEJdylf4aTuNTFfQmOcmkxLhpw4YhK1ZnMrEhAkEAuiMLNXA3MmCumk+TAiBAOdYoYjyHSTEw2VOSqpPQ+rN4tbmDEIbyefG2KK4kNhIy+pIYP0H11QYG/KuxvX/rSQJBALs0TqUgcGOp9+IkOq4jCXiVkP5/r7JWinQ4d6bYhJ4wspQYloYFCHljKKXtst1m8I3PC+vJY8R6va/3xtQKT8U=