czt
2024-11-25 eb28cab79dc230ed71771f3984bcab69a435e53b
src/main/java/com/fzzy/push/sx2023/SX2023ApiRemoteService.java
@@ -84,9 +84,8 @@
                return responseDto;
            }
            List<Map<String, Object>> listData = getListData(param.getInteId(), data, conf);
            log.info("接口数据信息=" + listData);
            apiLog.setData(listData.toString());
            String jsonData = getListData(param.getInteId(), data, conf);
            apiLog.setData(jsonData);
            apiLog.setKqdm(kqdm);
            apiLog.setUploadTime(new Date());
@@ -107,7 +106,7 @@
            //报文标识
            reqData.setID(orderId);
            //版本号
            reqData.setVER("1.0");
            reqData.setVER("2022");
            //单位编码:11位
            reqData.setOrgNo(conf.getUserName());
            //单位名称
@@ -117,9 +116,13 @@
            //18位单位代码
            reqData.setDwdm(conf.getKqdm().substring(0, 18));
            //加密数据主体
//            reqData.setBody(listData);
            reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), listData.toString()));
            log.debug("上报数据信息=" + JSON.toJSONString(reqData));
            reqData.setBody(jsonData);
            log.info("上报数据信息-加密前=" + JSON.toJSONString(reqData));
            reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), jsonData));
            log.info("上报数据信息-加密后=" + JSON.toJSONString(reqData));
            reqData.setBody(SXAESUtils.encryptByAES(conf.getPublicKey(), jsonData));
            String resp = SX2023HttpClientUtil.postPushData(conf.getApiUrl(), JSON.toJSONString(reqData));
            if (StringUtils.isEmpty(resp)) {
                log.error("数据上传陕西省平台失败,数据={}", reqData);
@@ -129,8 +132,8 @@
                apiLogRep.save(apiLog);
                return responseDto;
            }
            resp = SXAESUtils.decryptByAES(conf.getPassword(), resp);
            SX2023RespDto sx2023RespDto = JSONObject.parseObject(JSONObject.toJSONString(resp), SX2023RespDto.class);
            SX2023RespDto sx2023RespDto = JSONObject.parseObject(resp, SX2023RespDto.class);
            if (null == sx2023RespDto || null == sx2023RespDto.getMsgBody()) {
                log.error("数据上传陕西省平台失败,数据={}", reqData);
@@ -177,14 +180,14 @@
     * @param conf
     * @return
     */
    private List<Map<String, Object>> getListData(String inteId, Object data, ApiConfs conf) {
    private String getListData(String inteId, Object data, ApiConfs conf) {
        List<Map<String, Object>> result = new ArrayList<>();
        Map<String, Object> map = new HashMap<>();
        String inteIdUrl = getInteId(inteId);
        //若为财务1501、1502、1503接口,则接口编码填写1114
        if (Constant.API_CODE_1114_1501.equals(inteId)
                || Constant.API_CODE_1114_1502.equals(inteId)
                || Constant.API_CODE_1114_1503.equals(inteId)) {
        if (Constant.API_CODE_1501.equals(inteId)
                || Constant.API_CODE_1502.equals(inteId)
                || Constant.API_CODE_1503.equals(inteId)) {
            List<SXFinanceDto> list = getFinanceData(inteId, data);
            map.put(inteIdUrl, list);
        } else {
@@ -198,7 +201,7 @@
            map.put(inteIdUrl, list);
        }
        result.add(map);
        return result;
        return JSON.toJSONString(result);
    }
    /**
@@ -252,8 +255,12 @@
            return apiData;
        }
        if (Constant.API_CODE_1109.equals(inteId)) {
            Api1109 api1109 = (Api1109) data;
            SX2023Api1109 apiData = new SX2023Api1109();
            BeanUtils.copyProperties(data, apiData);
            BeanUtils.copyProperties(api1109, apiData);
            //设置文件流
            apiData.setWjl(FileUtils.fileToByteString(api1109.getWjdz()));
            return apiData;
        }
        if (Constant.API_CODE_1110.equals(inteId)) {
@@ -362,8 +369,12 @@
            return apiData;
        }
        if (Constant.API_CODE_1307.equals(inteId)) {
            Api1307 api1307 = (Api1307) data;
            SX2023Api1307 apiData = new SX2023Api1307();
            BeanUtils.copyProperties(data, apiData);
            BeanUtils.copyProperties(api1307, apiData);
            //设置文件流
            apiData.setCntxwjl(FileUtils.fileToByteString(api1307.getWjdz()));
            return apiData;
        }
        if (Constant.API_CODE_1308.equals(inteId)) {
@@ -426,9 +437,9 @@
     */
    private List<SXFinanceDto> getFinanceData(String inteId, Object data) {
        //财务报表数据封装
        if (Constant.API_CODE_1114_1501.equals(inteId)) {
        if (Constant.API_CODE_1501.equals(inteId)) {
            return copyApi1501((Api1501) data);
        } else if (Constant.API_CODE_1114_1502.equals(inteId)) {
        } else if (Constant.API_CODE_1502.equals(inteId)) {
            return copyApi1502((Api1502) data);
        } else {
            return copyApi1503((Api1503) data);