CZT
2023-09-18 366bd9b4bd8f4323959fbf345c31ce38ea719553
src/main/java/com/fzzy/push/sh2023/SH2023ApiRemoteService.java
@@ -11,18 +11,20 @@
import com.fzzy.api.service.ApiTriggerService;
import com.fzzy.api.utils.*;
import com.fzzy.api.view.repository.*;
import com.fzzy.order.data.OrderData;
import com.fzzy.push.sh2023.dto.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
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版-上传数据服务类
@@ -108,8 +110,8 @@
            //获取指令id
            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
            String orderId = (String)redisUtil.get(key);
            if(StringUtils.isEmpty(orderId)){
            OrderData orderData = (OrderData)redisUtil.get(key);
            if(StringUtils.isEmpty(orderData.getOrderid())){
                log.error("指令id失效=" + jsonData);
                ResponseDto responseDto = new ResponseDto(99, "指令id失效");
                apiLog.setStatus(99);
@@ -124,18 +126,21 @@
            //获取身份ID,即行政区划码
            reqData.setUid(conf.getUserName());
            //指令id
            reqData.setOrderid(orderId);
            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));
            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData, conf);
            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf);
            apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            apiLog.setResult(responseDto.getResult());
            apiLogRep.save(apiLog);
@@ -196,8 +201,8 @@
            //获取指令id
            String key = RedisConst.buildKey(RedisConst.KYE_ORDER, conf.getKqdm());
            String orderId = (String)redisUtil.get(key);
            if(StringUtils.isEmpty(orderId)){
            OrderData orderData = (OrderData)redisUtil.get(key);
            if(StringUtils.isEmpty(orderData.getOrderid())){
                ResponseDto responseDto = new ResponseDto(99, "指令id失效");
                apiLog.setStatus(99);
                apiLog.setResult("指令id失效");
@@ -211,18 +216,20 @@
            //获取身份ID,即行政区划码
            reqData.setUid(conf.getUserName());
            //指令id
            reqData.setOrderid(orderId);
            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));
            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, reqData, conf);
            SH2023RespDto responseDto = SH2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, JSON.toJSONString(reqData), conf);
            apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            apiLog.setResult(responseDto.getResult());
            apiLogRep.save(apiLog);
@@ -246,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;
@@ -263,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<>();
@@ -281,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<>();
@@ -301,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<>();
@@ -317,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<>();
@@ -330,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<>();
@@ -343,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<>();
@@ -356,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<>();
@@ -369,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<>();
@@ -405,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<>();
@@ -418,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<>();
@@ -431,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<>();
@@ -444,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<>();
@@ -458,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<>();
@@ -474,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<>();
@@ -490,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<>();
@@ -504,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<>();
@@ -519,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<>();
@@ -534,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<>();
@@ -551,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<>();
@@ -569,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<>();
@@ -587,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<>();
@@ -602,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<>();
@@ -618,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<>();
@@ -631,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<>();
@@ -644,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<>();
@@ -659,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<>();
@@ -673,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<>();
@@ -687,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<>();
@@ -701,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<>();
@@ -716,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<>();
@@ -732,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<>();
@@ -749,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<>();
@@ -762,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<>();
@@ -775,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<>();
@@ -789,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<>();
@@ -805,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<>();
@@ -819,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<>();
@@ -837,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<>();
@@ -859,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<>();
@@ -876,9 +930,9 @@
                list.add(api2204);
            }
            return JSON.toJSONString(list);
        } else {
            return JSON.toJSONString(data);
        }
        return JSON.toJSONString(data);
    }
    /**