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