CZT
2023-10-07 4676c3c00f3e56ed65c149f4dd2c2697e0f1890c
src/main/java/com/fzzy/api/view/pr/Api1302PR.java
@@ -4,7 +4,7 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.bstek.dorado.data.provider.Page;
import com.fzzy.api.entity.Api1302;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiPushManager;
@@ -158,22 +158,37 @@
     */
    @Expose
    public String pushData(List<Api1302> items) {
        ResponseDto responseDto;
        String result = "";
        Api1302 d;
        String kqdm = items.get(0).getKqdm();
        ApiConfs apiConf = apiCommonService.getConf(kqdm);
        if (null == apiConf) return "系统没有获取到当前库区配置信息,执行失败";
        //封装参数
        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1302);
        //获取实现接口
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
        ApiRemoteService apiService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol());
        if (null == apiService) return "系统没有当前推送协议配置,执行失败";
        if (PushProtocol.SB_SH_2023.getCode().equals(apiConf.getPushProtocol())) {
            return pushDataList(items, apiService, apiConf);
        }
        return pushDataSingle(items, apiService, apiConf);
    }
    /**
     * 单条数据json推送
     *
     * @param items
     * @param apiService
     * @param apiConf
     * @return
     */
    private String pushDataSingle(List<Api1302> items, ApiRemoteService apiService, ApiConfs apiConf) {
        ResponseDto responseDto;
        String result = "";
        //封装参数
        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_13, Constant.API_CODE_1302);
        Api1302 d;
        for (Api1302 data : items) {
            d = new Api1302();
            BeanUtils.copyProperties(data, d);
@@ -181,7 +196,7 @@
            result += responseDto.toString();
            if (responseDto.getSuccess() == 0) {
                //todo 代表上传成功 ,后期需要保存日志
                if("i".equals(d.getCzbz())){
                if ("i".equals(d.getCzbz())) {
                    d.setCzbz("u");
                    apiRepository.save(d);
                }
@@ -190,4 +205,32 @@
        return result;
    }
    /**
     * 多条数据json推送
     *
     * @param items
     * @param apiRemoteService
     * @param apiConf
     * @return
     */
    private String pushDataList(List<Api1302> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
        //封装参数
        ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_13, Constant.API_CODE_1302);
        //推送,数据为集合形式
        ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items);
        if (responseDto.getSuccess() == 0) {
            //推送成功,更新数据上传状态
            for (Api1302 data : items) {
                if (Constant.CZBZ_I.equals(data.getCzbz())) {
                    //更新状态
                    data.setCzbz(Constant.CZBZ_U);
                    apiRepository.updateStatus(data.getWsdjcdh(), data.getCzbz());
                }
            }
        }
        return responseDto.toString();
    }
}