package com.doumee.core.erp;
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.TypeReference;
|
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.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 {
|
/**
|
* 同步组织
|
* @param url
|
* @param param
|
* @return
|
*/
|
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;
|
}
|
|
/**
|
* 同步人员
|
* @param url
|
* @param param
|
* @return
|
*/
|
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(100*pageSize < response.getData().getTotal() ){
|
hasLast =true;//还有下一页
|
}
|
page++;
|
}
|
}
|
}
|
return list;
|
|
}
|
|
/**
|
* 审批提交
|
* @param url
|
* @param param
|
* @return
|
*/
|
public static ApproveInfoResponse submitApprove(String url, ApproveAddRequest 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();
|
}
|
}
|
return null;
|
}
|
|
/**
|
* 通知人员同步失败
|
* @param url
|
* @param param
|
* @return
|
*/
|
public static ERPApiResponse noticeUserStatus(String url, UserFailRequest param){
|
String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param));
|
if(StringUtils.isNotBlank(result)){
|
TypeReference typeReference =
|
new TypeReference<ERPApiResponse>(){};
|
ERPApiResponse response = JSONObject.parseObject(result, typeReference.getType());
|
if(response!=null){
|
return response;
|
}
|
}
|
return null;
|
}
|
}
|