k94314517
2024-01-11 9ffa4aac7e3ae6b268dbc3567a0749a9898c3708
server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java
@@ -1,5 +1,6 @@
package com.doumee.core.erp;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.doumee.core.constants.ResponseStatus;
@@ -14,24 +15,52 @@
import com.doumee.core.exception.BusinessException;
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.Constants;
import com.doumee.core.utils.HttpsUtil;
import com.doumee.dao.business.model.InterfaceLog;
import com.doumee.dao.business.model.Member;
import com.doumee.service.business.InterfaceLogService;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@Service
public class ErpTool {
    @Autowired
    private InterfaceLogService interfaceLogService;
    public void saveInterfaceLog(Object param, String path,String result,Integer type) {
        InterfaceLog interfaceLog=new InterfaceLog();
        interfaceLog.setType(type);
        interfaceLog.setCreateDate(new Date());
        interfaceLog.setIsdeleted(Constants.ZERO);
        if(param!=null){
            interfaceLog.setRequest(JSONObject.toJSONString(param));
        }
        interfaceLog.setPlat(Constants.ONE);
        interfaceLog.setRepose(result);
        interfaceLog.setName(path);
        interfaceLog.setUrl(path);
        interfaceLogService.create(interfaceLog);
    }
    /**
     * 同步组织
     * @param url
     * @param param
     * @return
     */
    public static List<ErpOrgListResponse> getErpOrgList(String url, OrgListRequest param){
    public   List<ErpOrgListResponse> getErpOrgList(String url, OrgListRequest param){
        List<ErpOrgListResponse> list = new ArrayList<>();
        try {
        int page =1;
        int pageSize  = 100;
        boolean hasLast = true;
@@ -44,7 +73,8 @@
            String result = HttpsUtil.postJson(url, JSONObject.toJSONString(pageWrap));
            if(StringUtils.isNotBlank(result)){
                TypeReference typeReference =
                        new TypeReference<ERPApiResponse<PageData<ErpOrgListResponse>>>(){};
                            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());
@@ -55,6 +85,11 @@
                    }
                }
            }
        }catch (Exception e){
            throw e;
        }finally {
            saveInterfaceLog(param,url,JSONArray.toJSONString(list),Constants.ZERO);
        }
        return  list;
    }
@@ -64,9 +99,10 @@
     * @param param
     * @return
     */
    public static List<ErpUserListResponse> getErpUserList(String url, UserListRequest param){
    public List<ErpUserListResponse> getErpUserList(String url, UserListRequest param){
        List<ErpUserListResponse> list = new ArrayList<>();
        try{
        int page =1;
        int pageSize  = 100;
        boolean hasLast = true;
@@ -90,6 +126,11 @@
                }
            }
        }
        }catch (Exception e){
            throw e;
        }finally {
            saveInterfaceLog(param,url, JSONArray.toJSONString(list),Constants.ZERO);
        }
        return  list;
    }
@@ -100,9 +141,10 @@
     * @param param
     * @return
     */
    public static ApproveInfoResponse submitApprove(String url, ApproveAddRequest param){
    public  ApproveInfoResponse submitApprove(String url, ApproveAddRequest param){
        System.out.println(JSONObject.toJSONString(param));
        String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param));
        try{
        if(StringUtils.isNotBlank(result)){
            TypeReference typeReference =
                    new TypeReference<ERPApiResponse<String>>(){};
@@ -115,6 +157,11 @@
                throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),response.getMessage());
            }
        }
        }catch (Exception e){
            throw e;
        }finally {
           saveInterfaceLog(param,url,JSONObject.toJSONString(result),Constants.ZERO);
        }
        return  null;
    }
@@ -124,8 +171,9 @@
     * @param param
     * @return
     */
    public static ERPApiResponse noticeUserStatus(String url, UserFailRequest param){
    public   ERPApiResponse noticeUserStatus(String url, UserFailRequest param){
        String result = HttpsUtil.postJson(url, JSONObject.toJSONString(param));
        try{
        if(StringUtils.isNotBlank(result)){
            TypeReference typeReference =
                    new TypeReference<ERPApiResponse>(){};
@@ -134,6 +182,11 @@
                return response;
            }
        }
        }catch (Exception e){
            throw e;
        }finally {
            saveInterfaceLog(param,url,JSONObject.toJSONString(result),Constants.ZERO);
        }
        return  null;
    }
}