YYC
2023-09-18 7d6d02e3d501a0a5f5cbdff16bf594c77f2fc7cd
src/main/java/com/fzzy/api/view/pr/Api1107PR.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;
@@ -75,7 +76,7 @@
   }
   /**
    *
    *
    * 更新删除标记 api1107PR#delUpdate
    *
    * @param entity
@@ -99,23 +100,37 @@
    */
   @Expose
   public String pushData(List<Api1107> items) {
      ResponseDto responseDto;
      String result = "";
      Api1107 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_1107);
      //获取实现接口
      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<Api1107> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
      ResponseDto responseDto;
      String result = "";
      //封装参数
      ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1107);
      Api1107 d;
      for (Api1107 data : items) {
         d = new Api1107();
         BeanUtils.copyProperties(data, d);
@@ -125,11 +140,38 @@
         result += responseDto.toString();
         if (responseDto.getSuccess() == 0) {
            if (Constant.CZBZ_I.equals(d.getCzbz())) {
               api1107Rep.updateStatus(data.getKqdm(), Constant.CZBZ_U);
               api1107Rep.updateStatus(data.getBizId(), Constant.CZBZ_U);
            }
         }
      }
      return result;
   }
   /**
    * 多条数据json推送
    *
    * @param items
    * @param apiRemoteService
    * @param apiConf
    * @return
    */
   private String pushDataList(List<Api1107> items, ApiRemoteService apiRemoteService, ApiConfs apiConf) {
      //封装参数
      ApiParam param = new ApiParam(apiConf, Constant.API_CATEGORY_11, Constant.API_CODE_1107);
      //推送,数据为集合形式
      ResponseDto responseDto = apiRemoteService.pushData(param, apiConf, items);
      if (responseDto.getSuccess() == 0) {
         //推送成功,更新数据上传状态
         for (Api1107 data : items) {
            if (Constant.CZBZ_I.equals(data.getCzbz())) {
               //更新状态
               api1107Rep.updateStatus(data.getBizId(), Constant.CZBZ_U);
            }
         }
      }
      return responseDto.toString();
   }
}