From 1fc06149ec3efd50c0c78003dcfd212540646256 Mon Sep 17 00:00:00 2001 From: zane Date: Mon, 9 Sep 2024 17:11:51 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=95=E6=8D=AE=E6=89=B9=E9=87=8F=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/collect/down/YPCF002Download.java | 27 +++++++++++++------ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/glxp/api/service/collect/down/YPCF002Download.java b/src/main/java/com/glxp/api/service/collect/down/YPCF002Download.java index 3b5a078fb..b0e053016 100644 --- a/src/main/java/com/glxp/api/service/collect/down/YPCF002Download.java +++ b/src/main/java/com/glxp/api/service/collect/down/YPCF002Download.java @@ -8,6 +8,7 @@ import com.glxp.api.req.basic.GetSickPrescribeRequest; import com.glxp.api.req.collect.CollectOrderRequest; import com.glxp.api.res.PageSimpleResponse; import com.glxp.api.service.collect.IoCollectOrderService; +import com.glxp.api.util.IntUtil; import org.springframework.stereotype.Service; import javax.annotation.Resource; @@ -22,19 +23,29 @@ public class YPCF002Download implements IDownload{ @Override public BaseResponse downloadOrder(CollectOrderRequest collectOrderRequest) { + int page = 1; + int limit = 100; GetSickPrescribeRequest getSickPrescribeRequest = new GetSickPrescribeRequest(); - getSickPrescribeRequest.setPage(1); - getSickPrescribeRequest.setLimit(100); + getSickPrescribeRequest.setLimit(limit); getSickPrescribeRequest.setCode(collectOrderRequest.getBillNo()); getSickPrescribeRequest.setThirdSys("thirdId"); getSickPrescribeRequest.setWorkPlaceCode(collectOrderRequest.getWorkPlaceCode()); getSickPrescribeRequest.setFromType(collectOrderRequest.getFromType()); - BaseResponse> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest); - if (baseResponse.getCode() == 20000) { - List list = baseResponse.getData().getList(); - collectOrderService.importPrescribe(list,collectOrderRequest.getBusType()); - return ResultVOUtils.success("下载成功"); + while (true){ + getSickPrescribeRequest.setPage(page); + BaseResponse> baseResponse = erpBasicClient.getPrescribeV2(getSickPrescribeRequest); + if (baseResponse.getCode() == 20000) { + List list = baseResponse.getData().getList(); + collectOrderService.importPrescribe(list,collectOrderRequest.getBusType()); + if ((list.size() >= limit && !baseResponse.getData().getTotal().equals(-666)) || IntUtil.value(baseResponse.getData().getTotal()) == -555) { + page++; + } else { + break; + } + }else { + return ResultVOUtils.error(500, "下载第三方系统产品信息异常"); + } } - return ResultVOUtils.error("下载失败"); + return ResultVOUtils.success("下载成功"); } }