CZT
2023-11-08 7ab13e3b8f4ab768dd68b1bd8e1f8bbce31fb8a6
src/main/java/com/fzzy/push/gd2022/GD2022ApiRemoteService2022.java
@@ -9,22 +9,26 @@
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.utils.*;
import com.fzzy.api.view.repository.Api1101Rep;
import com.fzzy.api.view.repository.Api1102Rep;
import com.fzzy.api.view.repository.Api1404Rep;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.push.gd2022.dto.*;
import com.fzzy.push.gd2022.dto.Api1101;
import com.fzzy.push.gd2022.dto.Api1109;
import com.fzzy.push.gd2022.dto.Api1208;
import com.fzzy.push.gd2022.dto.Api1307;
import com.fzzy.push.gd2022.dto.Api1308;
import com.fzzy.push.gd2022.dto.Gd2022Api1101;
import com.fzzy.push.gd2022.dto.Gd2022Api1109;
import com.fzzy.push.gd2022.dto.Gd2022Api1208;
import com.fzzy.push.gd2022.dto.Gd2022Api1307;
import com.fzzy.push.gd2022.dto.Gd2022Api1308;
import com.fzzy.push.sh2023.SH2023Constant;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang.time.DateUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
/**
@@ -45,13 +49,23 @@
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private Api1404Rep api1404Rep;
    @Autowired
    private Api1101Rep api1101Rep;
    @Autowired
    private Api1102Rep api1102Rep;
    @Autowired
    private ApiLogRep apiLogRep;
    @Override
    public String getProtocol() {
        return PushProtocol.SB_GD_2022.getCode();
    }
    @Override
    public ResponseDto pushData(ApiParam param, Object data) {
        return pushData(param, null, data);
    }
    @Override
@@ -116,7 +130,6 @@
            ResponseDto resd = new ResponseDto();
            resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            resd.setMsg(responseDto.getMsg());
            //updateGD2022AuthToken(responseDto,conf, token);
            return resd;
        } catch (Exception e) {
            log.error(e.getMessage(), e);
@@ -124,13 +137,9 @@
        }
    }
    @Override
    public ResponseDto pushData(ApiParam param, Object data) {
        return pushData(param, null, data);
    }
    /**
     * 推送财务数据接口
     *
     * @param param
     * @param conf
     * @param data
@@ -267,14 +276,66 @@
        }
    }
    private Object changeObject(Object object) {
        // 使用反射获取属性列表 object为实体对象名
        Field[] fields = object.getClass().getDeclaredFields();
        for (Field field : fields) {
            field.setAccessible(true);
            try {
                // 判断属性值是否为null
                if (field.get(object) == null || field.get(object) == "") {
                    //根据类型设置默认值
                    if (field.getType() == String.class) {
                        field.set(object, "0");
                    }
                    if (field.getType() == Integer.class) {
                        field.set(object, 0);
                    }
                    if (field.getType() == Double.class) {
                        field.set(object, 0.0);
                    }
                    if (field.getType() == Date.class) {
                        field.set(object, new Date());
                    }
                }
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        return object;
    }
    private String getJsonData(String inteId, Object data, String url, GD2022AuthToken authToken) throws Exception {
        if (Constant.API_CODE_1101.equals(inteId)) {
            Api1101 api1101 = new Api1101();
            Gd2022Api1101 api1101 = new Gd2022Api1101();
            BeanUtils.copyProperties(data, api1101);
            return JSON.toJSONString(api1101);
        } else if (Constant.API_CODE_1109.equals(inteId)) {
        }
        if (Constant.API_CODE_1102.equals(inteId)) {
            Gd2022Api1102 api1102 = new Gd2022Api1102();
            BeanUtils.copyProperties(data, api1102);
            return JSON.toJSONString(api1102);
        }
        if (Constant.API_CODE_1103.equals(inteId)) {
            Gd2022Api1103 api1103 = new Gd2022Api1103();
            BeanUtils.copyProperties(data, api1103);
            changeObject(api1103);
            return JSON.toJSONString(api1103);
        }
        if (Constant.API_CODE_1104.equals(inteId)) {
            Gd2022Api1104 api1104 = new Gd2022Api1104();
            BeanUtils.copyProperties(data, api1104);
            changeObject(api1104);
            return JSON.toJSONString(api1104);
        }
        if (Constant.API_CODE_1105.equals(inteId)) {
            Gd2022Api1105 api1105 = new Gd2022Api1105();
            BeanUtils.copyProperties(data, api1105);
            return JSON.toJSONString(api1105);
        }
        if (Constant.API_CODE_1109.equals(inteId)) {
            //封装数据
            Api1109 api1109 = new Api1109();
            Gd2022Api1109 api1109 = new Gd2022Api1109();
            BeanUtils.copyProperties(data, api1109);
            if (null == authToken) {
@@ -282,16 +343,32 @@
            }
            //先上传文件,获取文件id
            GD2022ResponseDto responseDto = GD2022HttpClientUtil.postUploadData(url, authToken, api1109.getWjdz());
            System.out.println((String) responseDto.getData());
            //设置上传文件id
            api1109.setFileStorageId((String) responseDto.getData());
            return JSON.toJSONString(api1109);
        } else if (Constant.API_CODE_1208.equals(inteId)) {
            Api1208 api1208 = new Api1208();
        }
        if (Constant.API_CODE_1111.equals(inteId)) {
            Gd2022Api1111 api1111 = new Gd2022Api1111();
            BeanUtils.copyProperties(data, api1111);
            List<Api1102> api1102List = api1102Rep.findPushData(api1111.getKqdm());
            if(null != api1102List && api1102List.size() > 0){
                api1111.setKqmc(api1102List.get(0).getKqmc());
            }
            List<Api1101> api1101List = api1101Rep.findDataByDwdm(api1111.getDwdm());
            if(null != api1101List && api1101List.size() > 0){
                api1111.setDwmc(api1101List.get(0).getDwmc());
            }
            return JSON.toJSONString(api1111);
        }
        if (Constant.API_CODE_1208.equals(inteId)) {
            Gd2022Api1208 api1208 = new Gd2022Api1208();
            BeanUtils.copyProperties(data, api1208);
            return JSON.toJSONString(api1208);
        } else if (Constant.API_CODE_1307.equals(inteId)) {
        }
        if (Constant.API_CODE_1307.equals(inteId)) {
            //封装数据
            Api1307 api1307 = new Api1307();
            Gd2022Api1307 api1307 = new Gd2022Api1307();
            BeanUtils.copyProperties(data, api1307);
            if (null == authToken) {
@@ -302,9 +379,10 @@
            //设置上传文件id
            api1307.setFileStorageId((String) responseDto.getData());
            return JSON.toJSONString(api1307);
        } else if (Constant.API_CODE_1308.equals(inteId)) {
        }
        if (Constant.API_CODE_1308.equals(inteId)) {
            //封装数据
            Api1308 api1308 = new Api1308();
            Gd2022Api1308 api1308 = new Gd2022Api1308();
            BeanUtils.copyProperties(data, api1308);
            if (null == authToken) {
@@ -315,9 +393,40 @@
            //设置上传文件id
            api1308.setFileStorageId((String) responseDto.getData());
            return JSON.toJSONString(api1308);
        } else {
            return JSON.toJSONString(data);
        }
        if (Constant.API_CODE_1403.equals(inteId)) {
            //轮换计划,单独查询轮换计划明细信息,统一封装后上传
            Gd2022Api1403 api1403 = new Gd2022Api1403();
            BeanUtils.copyProperties(data, api1403);
            List<Api1404> list = api1404Rep.getDataByLhjhdh(api1403.getLhjhdh());
            Gd2022Api1404 gd2022Api1404;
            List<Gd2022Api1404> dtls = new ArrayList<>();
            Double lrsl = 0.0, lcsl = 0.0; //用于统计轮入数量和轮出数量
            if(null != list && list.size() > 0){
                for (Api1404 api1404 : list) {
                    gd2022Api1404 = new Gd2022Api1404();
                    BeanUtils.copyProperties(api1404, gd2022Api1404);
                    if(null!= gd2022Api1404.getLhlx() && "2".equals(gd2022Api1404.getLhlx())){
                        lrsl += gd2022Api1404.getLhsl();
                    }
                    if(null!= gd2022Api1404.getLhlx() && "1".equals(gd2022Api1404.getLhlx())){
                        lcsl += gd2022Api1404.getLhsl();
                    }
                    dtls.add(gd2022Api1404);
                }
            }
            api1403.setRotationInQty(lrsl);
            api1403.setRotationOutQty(lcsl);
            api1403.setDtls(dtls);
            return JSON.toJSONString(api1403);
        }
        if (Constant.API_CODE_1404.equals(inteId)) {
            //轮换计划明细,不单独上传,在轮换计划中统一上传
            return null;
        }
//        changeObject(data);
        return JSON.toJSONString(data);
    }
@@ -326,6 +435,7 @@
        List<GDFinanceDto> list = new ArrayList<>();
        GDFinanceDto gdFinanceDto = new GDFinanceDto();
        gdFinanceDto.setDwdm(api1503.getDwdm());
        gdFinanceDto.setKqdm(api1503.getKqdm());
        gdFinanceDto.setBbsj(DateFormatUtils.format(api1503.getBbsj(), "yyyyMMdd"));
        gdFinanceDto.setBbm("03");
        gdFinanceDto.setCzbz(api1503.getCzbz());
@@ -377,6 +487,7 @@
        List<GDFinanceDto> list = new ArrayList<>();
        GDFinanceDto gdFinanceDto = new GDFinanceDto();
        gdFinanceDto.setDwdm(api1502.getDwdm());
        gdFinanceDto.setKqdm(api1502.getKqdm());
        gdFinanceDto.setBbsj(DateFormatUtils.format(api1502.getBbsj(), "yyyyMMdd"));
        gdFinanceDto.setBbm("02");
        gdFinanceDto.setCzbz(api1502.getCzbz());
@@ -429,6 +540,7 @@
        List<GDFinanceDto> list = new ArrayList<>();
        GDFinanceDto gdFinanceDto = new GDFinanceDto();
        gdFinanceDto.setDwdm(api1501.getDwdm());
        gdFinanceDto.setKqdm(api1501.getKqdm());
        gdFinanceDto.setBbsj(DateFormatUtils.format(api1501.getBbsj(), "yyyyMMdd"));
        gdFinanceDto.setBbm("01");
        gdFinanceDto.setCzbz(api1501.getCzbz());
@@ -604,11 +716,11 @@
            case "1401":
                return ApiCodeConstant.API_CODE_CBGM;
            case "1402":
                return ApiCodeConstant.API_CODE_CBJHXX;
                return ApiCodeConstant.API_CODE_CBJH;
            case "1403":
                return ApiCodeConstant.API_CODE_LHJHXX;
                return ApiCodeConstant.API_CODE_LHJH;
            case "1404":
                return ApiCodeConstant.API_CODE_LHJHMXXX;
                return null;
            case "1405":
                return "";
            case "1501":