From 3f7aa1396eef8f046a9debb880285ce6b32acc53 Mon Sep 17 00:00:00 2001 From: lishuai <260038442@qq.com> Date: 星期五, 22 十二月 2023 15:33:46 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java | 73 +++++++++++++++++++++++++++--------- 1 files changed, 55 insertions(+), 18 deletions(-) diff --git a/server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java b/server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java index c7a57ca..e4fa49f 100644 --- a/server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java +++ b/server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java @@ -10,9 +10,14 @@ import com.doumee.core.erp.model.openapi.response.erp.ERPApiResponse; import com.doumee.core.erp.model.openapi.response.erp.ErpOrgListResponse; import com.doumee.core.erp.model.openapi.response.erp.ErpUserListResponse; +import com.doumee.core.model.PageData; +import com.doumee.core.model.PageWrap; import com.doumee.core.utils.HttpsUtil; +import com.doumee.dao.business.model.Member; +import com.github.pagehelper.PageInfo; import org.apache.commons.lang3.StringUtils; +import java.util.ArrayList; import java.util.List; public class ErpTool { @@ -23,17 +28,32 @@ * @return */ public static List<ErpOrgListResponse> getErpOrgList(String url, OrgListRequest param){ - String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param)); - if(StringUtils.isNotBlank(result)){ - TypeReference typeReference = - new TypeReference<ERPApiResponse<List<ErpOrgListResponse>>>(){}; - ERPApiResponse<List<ErpOrgListResponse>> response = JSONObject.parseObject(result, typeReference.getType()); - if(response!=null){ - return response.getData(); - } - } - return null; + List<ErpOrgListResponse> list = new ArrayList<>(); + int page =1; + int pageSize = 100; + boolean hasLast = true; + while (hasLast){ + hasLast = false; + PageWrap<OrgListRequest> pageWrap = new PageWrap<>(); + pageWrap.setModel(param); + pageWrap.setPage(page); + pageWrap.setCapacity(pageSize); + String result = HttpsUtil.postJson(url, JSONObject.toJSONString(pageWrap)); + if(StringUtils.isNotBlank(result)){ + TypeReference typeReference = + new TypeReference<ERPApiResponse<PageData<ErpOrgListResponse>>>(){}; + ERPApiResponse<PageData<ErpOrgListResponse>> response = JSONObject.parseObject(result, typeReference.getType()); + if(response!=null && response.getData()!=null&& response.getData().getRecords()!=null){ + list.addAll(response.getData().getRecords()); + if(100*pageSize < response.getData().getTotal() ){ + hasLast =true;//杩樻湁涓嬩竴椤� + } + page++; + } + } + } + return list; } /** @@ -43,16 +63,33 @@ * @return */ public static List<ErpUserListResponse> getErpUserList(String url, UserListRequest param){ - String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param)); - if(StringUtils.isNotBlank(result)){ - TypeReference typeReference = - new TypeReference<ERPApiResponse<List<ErpUserListResponse>>>(){}; - ERPApiResponse<List<ErpUserListResponse>> response = JSONObject.parseObject(result, typeReference.getType()); - if(response!=null){ - return response.getData(); + + List<ErpUserListResponse> list = new ArrayList<>(); + int page =1; + int pageSize = 100; + boolean hasLast = true; + while (hasLast){ + hasLast = false; + PageWrap<UserListRequest> pageWrap = new PageWrap<>(); + pageWrap.setModel(param); + pageWrap.setPage(page); + pageWrap.setCapacity(pageSize); + String result = HttpsUtil.postJson(url, JSONObject.toJSONString(pageWrap)); + if(StringUtils.isNotBlank(result)){ + TypeReference typeReference = + new TypeReference<ERPApiResponse<PageData<ErpUserListResponse>>>(){}; + ERPApiResponse<PageData <ErpUserListResponse>> response = JSONObject.parseObject(result, typeReference.getType()); + if(response!=null && response.getData()!=null && response.getData().getRecords()!=null){ + list.addAll(response.getData().getRecords()); + if(100*pageSize < response.getData().getTotal() ){ + hasLast =true;//杩樻湁涓嬩竴椤� + } + page++; + } } } - return null; + return list; + } /** -- Gitblit v1.9.3