From 9ffa4aac7e3ae6b268dbc3567a0749a9898c3708 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 11 一月 2024 18:09:09 +0800
Subject: [PATCH] ERP接口

---
 server/dmvisit_service/src/main/java/com/doumee/core/erp/ErpTool.java |  169 +++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 111 insertions(+), 58 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 b92f758..9ccafcb 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
@@ -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,47 +15,81 @@
 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<>();
-        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;//杩樻湁涓嬩竴椤�
+        try {
+            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++;
                     }
                 }
             }
+        }catch (Exception e){
+            throw e;
+        }finally {
+            saveInterfaceLog(param,url,JSONArray.toJSONString(list),Constants.ZERO);
+        }
         return  list;
     }
 
@@ -64,31 +99,37 @@
      * @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<>();
-        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;//杩樻湁涓嬩竴椤�
+        try{
+            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++;
                     }
-                    page++;
                 }
             }
+        }catch (Exception e){
+            throw e;
+        }finally {
+            saveInterfaceLog(param,url, JSONArray.toJSONString(list),Constants.ZERO);
         }
         return  list;
 
@@ -100,20 +141,26 @@
      * @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));
-        if(StringUtils.isNotBlank(result)){
-            TypeReference typeReference =
-                    new TypeReference<ERPApiResponse<String>>(){};
-            ERPApiResponse<String> response = JSONObject.parseObject(result, typeReference.getType());
-            if(response!=null && response.isSuccess()){
-                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());
+        try{
+            if(StringUtils.isNotBlank(result)){
+                TypeReference typeReference =
+                        new TypeReference<ERPApiResponse<String>>(){};
+                ERPApiResponse<String> response = JSONObject.parseObject(result, typeReference.getType());
+                if(response!=null && response.isSuccess()){
+                    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());
+                }
             }
+        }catch (Exception e){
+            throw e;
+        }finally {
+           saveInterfaceLog(param,url,JSONObject.toJSONString(result),Constants.ZERO);
         }
         return  null;
     }
@@ -124,15 +171,21 @@
      * @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));
-        if(StringUtils.isNotBlank(result)){
-            TypeReference typeReference =
-                    new TypeReference<ERPApiResponse>(){};
-            ERPApiResponse response = JSONObject.parseObject(result, typeReference.getType());
-            if(response!=null){
-                return response;
+        try{
+            if(StringUtils.isNotBlank(result)){
+                TypeReference typeReference =
+                        new TypeReference<ERPApiResponse>(){};
+                ERPApiResponse response = JSONObject.parseObject(result, typeReference.getType());
+                if(response!=null){
+                    return response;
+                }
             }
+        }catch (Exception e){
+            throw e;
+        }finally {
+            saveInterfaceLog(param,url,JSONObject.toJSONString(result),Constants.ZERO);
         }
         return  null;
     }

--
Gitblit v1.9.3