jiangping
2024-01-05 2c4cfb7ed1ece6c3b80f7d551a267e9367ddb12b
server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
@@ -8,11 +8,16 @@
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.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 +27,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(100*pageSize < response.getData().getTotal() ){
                            hasLast =true;//还有下一页
                        }
                        page++;
                    }
                }
            }
        return  list;
    }
    /**
@@ -42,17 +62,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 =true;//还有下一页
                    }
                    page++;
                }
            }
        }
        return  null;
        return  list;
    }
    /**
@@ -62,14 +99,25 @@
     * @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());
//            if(response!=null && response.isSuccess()){
//                return response.getData();
//            }
            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;
            }
        }
        return  null;
    }