WS
2023-05-10 561bbb85896810c8a2595d3d58fa32325dcdfdf9
src/main/java/com/fzzy/push/shjdjw2023/ShjdjwApiRemoteService2023.java
@@ -5,18 +5,17 @@
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.dto.ResponseDto;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.entity.ApiLog;
import com.fzzy.api.entity.*;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiRemoteService;
import com.fzzy.api.utils.ContextUtil;
import com.fzzy.api.utils.RedisUtil;
import com.fzzy.api.view.repository.ApiLogRep;
import com.fzzy.push.gd2022.dto.*;
import com.fzzy.push.shjdjw2023.dto.ShjdjwReqDto;
import com.fzzy.api.view.repository.*;
import com.fzzy.push.shjdjw2023.dto.*;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -35,13 +34,18 @@
    @Autowired
    private RedisUtil redisUtil;
    @Autowired
    private ApiCommonService apiCommonService;
    @Autowired
    private ApiLogRep apiLogRep;
    @Autowired
    private Api1101Rep api1101Rep;
    @Autowired
    private Api1102Rep api1102Rep;
    @Autowired
    private Api1103Rep api1103Rep;
    @Autowired
    private Api1202Rep api1202Rep;
    @Override
    public String getProtocol() {
@@ -93,16 +97,15 @@
                return responseDto;
            }
            Map<String, Object> map = new HashMap<>();
            GD2022ResponseDto responseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl() + inteId, jsonData, conf);
            ShjdjwRespDto responseDto = Shjdjw2023HttpClientUtil.postPushData(conf.getApiUrl(), jsonData, conf);
            responseDto.setBizId(bizId);
            apiLog.setStatus(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            apiLog.setResult(responseDto.getMsg());
            apiLog.setStatus(responseDto.getCode() == 1 ? 0 : responseDto.getCode());
            apiLog.setResult(responseDto.getDescription());
            apiLogRep.save(apiLog);
            ResponseDto resd = new ResponseDto();
            resd.setSuccess(responseDto.getCode() == 200 ? 0 : responseDto.getCode());
            resd.setMsg(responseDto.getMsg());
            //updateGD2022AuthToken(responseDto,conf, token);
            resd.setSuccess(responseDto.getCode() == 1 ? 0 : responseDto.getCode());
            resd.setMsg(responseDto.getDescription());
            return resd;
        } catch (Exception e) {
            log.error(e.getMessage(), e);
@@ -118,20 +121,118 @@
     * @return
     * @throws Exception
     */
    private String getJsonData(String inteId, Object data, String interfaceId){
        ShjdjwReqDto<List<Object>> dto = new ShjdjwReqDto<>();
    private String getJsonData(String inteId, Object data, String interfaceId) {
        ShjdjwReqDto<Object> dto = new ShjdjwReqDto<>();
        dto.setId(getDataId(interfaceId));
        List<Object> list = new ArrayList<>();
        //转换封装
        if(Constant.API_CODE_1101.equals(inteId)){
            list.add(data);
        }else{
        if (Constant.API_CODE_1102.equals(inteId)) {
            //单位接口数据封装
            ShjdjwApi1101 shjdjwApi1101 = new ShjdjwApi1101();
            BeanUtils.copyProperties(data, shjdjwApi1101);
            //查询单位信息
            List<Api1101> listApi1101 = api1101Rep.findPushData(shjdjwApi1101.getKqdm());
            Api1101 api1101 = null;
            if(null != listApi1101 && listApi1101.size() > 0){
                api1101 = listApi1101.get(0);
            }
            if(null != api1101){
                shjdjwApi1101.setDwmc(api1101.getDwmc());
                shjdjwApi1101.setKqs(api1101.getKqs());
            }
            //查询仓房信息
            List<Api1103> listApi1103 = api1103Rep.findPushData(shjdjwApi1101.getKqdm());
            if(null != listApi1103 && listApi1103.size() > 0){
                for(int i = 0; i < listApi1103.size(); i++){
                    if(i == 0){
                        shjdjwApi1101.setCfmc(listApi1103.get(i).getCfmc());
                    }else {
                        shjdjwApi1101.setCfmc(shjdjwApi1101.getCfmc() + "#" + listApi1103.get(i).getCfmc());
                    }
                }
            }
            //单位信息封装
            list.add(shjdjwApi1101);
        } else if (Constant.API_CODE_1202.equals(inteId)) {
            //粮食入库数据封装
            ShjdjwApi1202 shjdjwApi1202 = new ShjdjwApi1202();
            Api1202 api1202 = (Api1202) data;
            copyApi1202(api1202, shjdjwApi1202);
            list.add(shjdjwApi1202);
        } else if (Constant.API_CODE_1203.equals(inteId)) {
            //粮食入库检验数据封装
            ShjdjwApi1203 shjdjwApi1203 = new ShjdjwApi1203();
            Api1203 api1203 = (Api1203) data;
            BeanUtils.copyProperties(api1203, shjdjwApi1203);
            shjdjwApi1203.setQydbh(api1203.getRkjydh());
            shjdjwApi1203.setHwbm(api1203.getHwdm());
            shjdjwApi1203.setYpbm(api1203.getRkywdh());
            shjdjwApi1203.setJyjg(api1203.getJyz());
            shjdjwApi1203.setJyjl(api1203.getJyjg());
            shjdjwApi1203.setPzbm(api1203.getLspzdm());
            //TODO 标记位
            shjdjwApi1203.setPch("0");
            list.add(shjdjwApi1203);
        } else if (Constant.API_CODE_1205.equals(inteId)) {
            //粮食出库数据封装
            ShjdjwApi1205 shjdjwApi1205 = new ShjdjwApi1205();
            Api1205 api1205 = (Api1205) data;
            BeanUtils.copyProperties(api1205, shjdjwApi1205);
            shjdjwApi1205.setYwdh(api1205.getCkywdh());
            shjdjwApi1205.setHtbm(api1205.getHth());
            shjdjwApi1205.setPzbm(api1205.getLspzdm());
            shjdjwApi1205.setDjbm(api1205.getLsdjdm());
            shjdjwApi1205.setLqxzbm(api1205.getLsxzdm());
            shjdjwApi1205.setCzbz(api1205.getCzbz());
            shjdjwApi1205.setLrfs("0");
            shjdjwApi1205.setPzbm("0");
            //TODO 单位名称 仓房名称 单据类型 品种名称 地址 到库时间 离库时间 轮换年度
            shjdjwApi1205.setPch("0");
            list.add(shjdjwApi1205);
        } else if (Constant.API_CODE_1208.equals(inteId)) {
            //粮食库存数据封装
            ShjdjwApi1208 shjdjwApi1208 = new ShjdjwApi1208();
            Api1208 api1208 = (Api1208) data;
            BeanUtils.copyProperties(api1208, shjdjwApi1208);
            shjdjwApi1208.setLspzbm(api1208.getLspzdm());
            shjdjwApi1208.setLsxzbm(api1208.getLsxzdm());
            shjdjwApi1208.setDjbm(api1208.getLsdjdm());
            shjdjwApi1208.setLqgsdwbm(api1208.getLqgsdwdm());
            shjdjwApi1208.setPch("0");
            //TODO 单位名称 仓房名称 廒间名称 库存监测时间
            list.add(shjdjwApi1208);
        } else if (Constant.API_CODE_1209.equals(inteId)) {
            //损益单数据封装
            ShjdjwApi1209 shjdjwApi1209 = new ShjdjwApi1209();
            Api1209 api1209 = (Api1209) data;
            BeanUtils.copyProperties(api1209, shjdjwApi1209);
            shjdjwApi1209.setSydbh(api1209.getSydh());
            shjdjwApi1209.setHwbm(api1209.getHwdm());
            shjdjwApi1209.setRksl(api1209.getRkjz());
            shjdjwApi1209.setCksl(api1209.getCkjz());
            shjdjwApi1209.setSysl(api1209.getJzsysl());
            //TODO 单位名称 库点名称 年限 辅损溢数量 损益类型
            list.add(shjdjwApi1209);
        } else {
            list.add(data);
        }
        dto.setData(list);
        return JSON.toJSONString(dto);
    }
    /**
     * 获取接口编码
@@ -141,11 +242,49 @@
     */
    private String getDataId(String inteId) {
        switch (inteId) {
            case "1101":
            case "1102":
                //单位接口编码
                return ShjdjwApiCodeConstant.API_CODE_LS1101;
            case "1202":
                //粮食入库接口编码
                return ShjdjwApiCodeConstant.API_CODE_LS1302;
            case "1203":
                //粮食入库检验接口编码
                return ShjdjwApiCodeConstant.API_CODE_LS1303;
            case "1205":
                //粮食出库接口编码
                return ShjdjwApiCodeConstant.API_CODE_LS1306;
            case "1208":
                //粮食库存接口编码
                return ShjdjwApiCodeConstant.API_CODE_LS1310;
            case "1209":
                //损益单接口编码
                return ShjdjwApiCodeConstant.API_CODE_LS1311;
            default:
                return inteId;
        }
    }
    //装换封装
    private void copyApi1202(Api1202 api1202, ShjdjwApi1202 shjdjwApi1202) {
        BeanUtils.copyProperties(api1202,shjdjwApi1202);
        String ywdh = api1202.getRkywdh();
        shjdjwApi1202.setYwdh(ywdh);
        shjdjwApi1202.setHwbm(api1202.getHwdm());
        shjdjwApi1202.setPzbm(api1202.getLspzdm());
        shjdjwApi1202.setLqxzbm(api1202.getLsxzdm());
        shjdjwApi1202.setZjkl(api1202.getZjklxj());
        //轮换计划单号
        shjdjwApi1202.setJhbh(null);
        //顺序号
        shjdjwApi1202.setSxh(ywdh.substring(ywdh.length() - 4));
        shjdjwApi1202.setDjzt("2");
        //业务单号
        shjdjwApi1202.setJydbh(null);
        //轮换年度
        shjdjwApi1202.setLhnd(null);
        //批次号
        shjdjwApi1202.setPch("0");
    }
}