package com.fzzy.push.whhpjl; import com.alibaba.fastjson.JSONObject; import com.fzzy.api.Constant; import com.fzzy.api.data.ApiParam; import com.fzzy.api.data.PushProtocol; import com.fzzy.api.dto.ResponseDto; import com.fzzy.api.entity.ApiInfoData; import com.fzzy.api.service.ApiRemoteService; import com.fzzy.api.service.PushService11; import com.fzzy.api.view.repository.ApiInfoDataRep; import com.fzzy.whjl.WhjlConstant; import com.fzzy.whjl.dto.WhjlApi1101; import com.fzzy.whjl.dto.WhjlApi1204; import com.fzzy.whjl.dto.WhjlApi1207; import com.fzzy.whjl.dto.WhjlApi1214; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; /** * 武汉军粮省平台-粮食购销数据推送 * * @author czt * @date 2023/08/04 */ @Slf4j @Component public class WhjlPushService12 implements PushService11 { @Autowired private WhjlApiRemoteService apiRemoteService; @Autowired private ApiInfoDataRep apiInfoDataRep; @Override public String getProtocol() { return PushProtocol.SB_WHJL_2023.getCode(); } @Override public void pushData(ApiParam param) { log.info("武汉军粮省平台--->>>粮食购销 上报开始"); // 推送客户信息 this.pushData1204(apiRemoteService, param); // 推送合同信息 this.pushData1207(apiRemoteService, param); //TODO 推送库存台账信息 //TODO 推送库存台账产品批次信息 //TODO 推送库存台账出入信息 // 推送出入库记录 this.pushData1214(apiRemoteService, param); log.info("武汉军粮省平台--->>>粮食购销 上报结束"); } /** * 1204 客户信息 */ private void pushData1204(ApiRemoteService apiRemoteService, ApiParam param) { //获取军工企业信息 List items = apiInfoDataRep.getDataByInteId(WhjlConstant.API_CODE_1204); if (null == items || items.isEmpty()) { return; } param.setInteCategory(WhjlConstant.API_CATEGORY_12); param.setInteId(WhjlConstant.API_CODE_1204); List list = new ArrayList<>(); WhjlApi1204 whjlApi1204; for (ApiInfoData infoData : items) { whjlApi1204 = JSONObject.parseObject(infoData.getData(), WhjlApi1204.class); whjlApi1204.setKqdm(infoData.getKqdm()); whjlApi1204.setCzbz(infoData.getCzbz()); whjlApi1204.setUpdateTime(infoData.getUpdateTime()); whjlApi1204.setBizId(infoData.getDataId()); list.add(whjlApi1204); } //推送,数据为集合形式 ResponseDto responseDto = apiRemoteService.pushData(param, list); if (responseDto.getSuccess() == 0) { //推送成功,更新数据上传状态 for (ApiInfoData data : items) { if (Constant.CZBZ_I.equals(data.getCzbz())) { data.setCzbz(Constant.CZBZ_U); apiInfoDataRep.save(data); } } } } /** * 1207 合同信息 */ private void pushData1207(ApiRemoteService apiRemoteService, ApiParam param) { //获取军工企业信息 List items = apiInfoDataRep.getDataByInteId(WhjlConstant.API_CODE_1207); if (null == items || items.isEmpty()) { return; } param.setInteCategory(WhjlConstant.API_CATEGORY_12); param.setInteId(WhjlConstant.API_CODE_1207); List list = new ArrayList<>(); WhjlApi1207 whjlApi1207; for (ApiInfoData infoData : items) { whjlApi1207 = JSONObject.parseObject(infoData.getData(), WhjlApi1207.class); whjlApi1207.setKqdm(infoData.getKqdm()); whjlApi1207.setCzbz(infoData.getCzbz()); whjlApi1207.setUpdateTime(infoData.getUpdateTime()); whjlApi1207.setBizId(infoData.getDataId()); list.add(whjlApi1207); } //推送,数据为集合形式 ResponseDto responseDto = apiRemoteService.pushData(param, list); if (responseDto.getSuccess() == 0) { //推送成功,更新数据上传状态 for (ApiInfoData data : items) { if (Constant.CZBZ_I.equals(data.getCzbz())) { data.setCzbz(Constant.CZBZ_U); apiInfoDataRep.save(data); } } } } /** * 1214 合同信息 */ private void pushData1214(ApiRemoteService apiRemoteService, ApiParam param) { //获取军工企业信息 List items = apiInfoDataRep.getDataByInteId(WhjlConstant.API_CODE_1214); if (null == items || items.isEmpty()) { return; } param.setInteCategory(WhjlConstant.API_CATEGORY_12); param.setInteId(WhjlConstant.API_CODE_1214); List list = new ArrayList<>(); WhjlApi1214 whjlApi1214; for (ApiInfoData infoData : items) { whjlApi1214 = JSONObject.parseObject(infoData.getData(), WhjlApi1214.class); whjlApi1214.setKqdm(infoData.getKqdm()); whjlApi1214.setCzbz(infoData.getCzbz()); whjlApi1214.setUpdateTime(infoData.getUpdateTime()); whjlApi1214.setBizId(infoData.getDataId()); list.add(whjlApi1214); } //推送,数据为集合形式 ResponseDto responseDto = apiRemoteService.pushData(param, list); if (responseDto.getSuccess() == 0) { //推送成功,更新数据上传状态 for (ApiInfoData data : items) { if (Constant.CZBZ_I.equals(data.getCzbz())) { data.setCzbz(Constant.CZBZ_U); apiInfoDataRep.save(data); } } } } }