From 7da512973b40df83aa48fa9b57b4f365466e253b Mon Sep 17 00:00:00 2001 From: jiangping <jp@doumee.com> Date: 星期三, 10 一月 2024 14:38:11 +0800 Subject: [PATCH] 整理 --- server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java | 94 ++++++++++++++++++++++++++++++++++------------ 1 files changed, 69 insertions(+), 25 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 a2ea405..b92f758 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 @@ -2,17 +2,24 @@ import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.TypeReference; +import com.doumee.core.constants.ResponseStatus; import com.doumee.core.erp.model.openapi.request.erp.ApproveAddRequest; import com.doumee.core.erp.model.openapi.request.erp.OrgListRequest; import com.doumee.core.erp.model.openapi.request.erp.UserFailRequest; import com.doumee.core.erp.model.openapi.request.erp.UserListRequest; import com.doumee.core.erp.model.openapi.response.erp.ApproveInfoResponse; import com.doumee.core.erp.model.openapi.response.erp.ERPApiResponse; -import com.doumee.core.erp.model.openapi.response.erp.OrgListRespone; -import com.doumee.core.erp.model.openapi.response.erp.UserListRespone; +import com.doumee.core.erp.model.openapi.response.erp.ErpOrgListResponse; +import com.doumee.core.erp.model.openapi.response.erp.ErpUserListResponse; +import com.doumee.core.exception.BusinessException; +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 { @@ -22,18 +29,33 @@ * @param param * @return */ - public static List<OrgListRespone> getErpOrgList(String url,OrgListRequest param){ - String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param)); - if(StringUtils.isNotBlank(result)){ - TypeReference typeReference = - new TypeReference<ERPApiResponse<List<OrgListRespone>>>(){}; - ERPApiResponse<List<OrgListRespone>> response = JSONObject.parseObject(result, typeReference.getType()); - if(response!=null){ - return response.getData(); - } - } - return null; + public static List<ErpOrgListResponse> getErpOrgList(String url, OrgListRequest param){ + 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(page*pageSize < response.getData().getTotal() ){ + hasLast =true;//杩樻湁涓嬩竴椤� + } + page++; + } + } + } + return list; } /** @@ -42,17 +64,34 @@ * @param param * @return */ - public static List<UserListRespone> getErpUserList(String url, UserListRequest param){ - String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param)); - if(StringUtils.isNotBlank(result)){ - TypeReference typeReference = - new TypeReference<ERPApiResponse<List<UserListRespone>>>(){}; - ERPApiResponse<List<UserListRespone>> response = JSONObject.parseObject(result, typeReference.getType()); - if(response!=null){ - return response.getData(); + public static List<ErpUserListResponse> getErpUserList(String url, UserListRequest param){ + + 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(pageSize*page < response.getData().getTotal() ){ + hasLast =false;//杩樻湁涓嬩竴椤� + } + page++; + } } } - return null; + return list; + } /** @@ -62,13 +101,18 @@ * @return */ public static ApproveInfoResponse submitApprove(String url, ApproveAddRequest param){ + System.out.println(JSONObject.toJSONString(param)); String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param)); if(StringUtils.isNotBlank(result)){ TypeReference typeReference = - new TypeReference<ERPApiResponse<ApproveInfoResponse>>(){}; - ERPApiResponse<ApproveInfoResponse> response = JSONObject.parseObject(result, typeReference.getType()); + new TypeReference<ERPApiResponse<String>>(){}; + ERPApiResponse<String> response = JSONObject.parseObject(result, typeReference.getType()); if(response!=null && response.isSuccess()){ - return response.getData(); + ApproveInfoResponse approveInfoResponse = new ApproveInfoResponse(); + approveInfoResponse.setId(response.getData()); + return approveInfoResponse; + }else if(response!=null && !response.isSuccess()){ + throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMessage()); } } return null; -- Gitblit v1.9.3