CZT
2023-11-06 95dc97a5b3378f9da80aeec71be0fe02c6b7e057
src/main/java/com/fzzy/push/gd2022/GD2022ApiRemoteService2022.java
@@ -9,6 +9,7 @@
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.utils.*;
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.Gd2022Api1101;
@@ -16,6 +17,7 @@
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;
@@ -24,6 +26,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.lang.reflect.Field;
import java.util.*;
/**
@@ -44,6 +47,8 @@
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private Api1404Rep api1404Rep;
    @Autowired
    private ApiLogRep apiLogRep;
@@ -51,6 +56,11 @@
    @Override
    public String getProtocol() {
        return PushProtocol.SB_GD_2022.getCode();
    }
    @Override
    public ResponseDto pushData(ApiParam param, Object data) {
        return pushData(param, null, data);
    }
    @Override
@@ -115,7 +125,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);
@@ -123,13 +132,9 @@
        }
    }
    @Override
    public ResponseDto pushData(ApiParam param, Object data) {
        return pushData(param, null, data);
    }
    /**
     * 推送财务数据接口
     *
     * @param param
     * @param conf
     * @param data
@@ -266,12 +271,64 @@
        }
    }
    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)) {
            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)) {
            //封装数据
            Gd2022Api1109 api1109 = new Gd2022Api1109();
            BeanUtils.copyProperties(data, api1109);
@@ -281,14 +338,22 @@
            }
            //先上传文件,获取文件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)) {
        }
        if (Constant.API_CODE_1111.equals(inteId)) {
            Gd2022Api1111 api1111 = new Gd2022Api1111();
            BeanUtils.copyProperties(data, api1111);
            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)) {
            //封装数据
            Gd2022Api1307 api1307 = new Gd2022Api1307();
            BeanUtils.copyProperties(data, api1307);
@@ -301,7 +366,8 @@
            //设置上传文件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)) {
            //封装数据
            Gd2022Api1308 api1308 = new Gd2022Api1308();
            BeanUtils.copyProperties(data, api1308);
@@ -314,9 +380,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);
    }
@@ -608,9 +705,9 @@
            case "1402":
                return ApiCodeConstant.API_CODE_CBJHXX;
            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":