From f2c26596b44cccea3276b25c665e4fd5238d6c88 Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期五, 22 十二月 2023 09:29:58 +0800 Subject: [PATCH] 海康接口对接开发 --- 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