YYC
2023-09-18 7d6d02e3d501a0a5f5cbdff16bf594c77f2fc7cd
src/main/java/com/fzzy/api/view/pr/Api1108PR.java
@@ -4,6 +4,7 @@
import com.bstek.dorado.annotation.DataResolver;
import com.bstek.dorado.annotation.Expose;
import com.fzzy.api.data.ApiParam;
import com.fzzy.api.data.PushProtocol;
import com.fzzy.api.entity.ApiConfs;
import com.fzzy.api.service.ApiCommonService;
import com.fzzy.api.service.ApiPushManager;
@@ -97,22 +98,38 @@
    */
   @Expose
   public String pushData(List<Api1108> items) {
      ResponseDto responseDto;
      String result = "";
      Api1108 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_1108);
      //获取实现接口
      ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(param.getPushProtocol());
      ApiRemoteService apiRemoteService = apiPushManager.getApiRemoteService(apiConf.getPushProtocol());
      if (null == apiRemoteService) return "系统没有当前推送协议配置,执行失败";
      if (PushProtocol.SB_SH_2023.getCode().equals(apiConf.getPushProtocol())){
         return pushDataList(items,apiRemoteService,apiConf);
      }
      return pushDataSingle(items,apiRemoteService,apiConf);
   }
   /**
    * 单条数据json推送
    *
    * @param items
    * @param apiRemoteService
    * @param apiConf
    * @return
    */
   private String pushDataSingle(List<Api1108> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
      ResponseDto responseDto;
      String result = "";
      //封装参数
      ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1108);
      Api1108 d;
      for (Api1108 data : items) {
         d = new Api1108();
         BeanUtils.copyProperties(data, d);
@@ -129,4 +146,31 @@
      return result;
   }
   /**
    * 多条数据json推送
    *
    * @param items
    * @param apiRemoteService
    * @param apiConf
    * @return
    */
   private String pushDataList(List<Api1108> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
      //封装参数
      ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1108);
      //推送,数据为集合形式
      ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items);
      if (responseDto.getSuccess() == 0) {
         //推送成功,更新数据上传状态
         for (Api1108 data : items) {
            if (Constant.CZBZ_I.equals(data.getCzbz())) {
               //更新状态
               api1108Rep.updateStatus(data.getKqdm(), Constant.CZBZ_U);
            }
         }
      }
      return responseDto.toString();
   }
}