diff --git a/ensign-module-crm/ensign-module-crm-api/pom.xml b/ensign-module-crm/ensign-module-crm-api/pom.xml
new file mode 100644
index 0000000..ea6786e
--- /dev/null
+++ b/ensign-module-crm/ensign-module-crm-api/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+
+ com.ensign
+ ensign-module-crm
+ ${revision}
+
+
+ ensign-module-crm-api
+ jar
+
+ ${project.artifactId}
+
+
+ UTF-8
+
+
+
+
+ com.ensign
+ ensign-common
+
+
+
diff --git a/ensign-module-crm/ensign-module-crm-biz/pom.xml b/ensign-module-crm/ensign-module-crm-biz/pom.xml
new file mode 100644
index 0000000..bc981b8
--- /dev/null
+++ b/ensign-module-crm/ensign-module-crm-biz/pom.xml
@@ -0,0 +1,59 @@
+
+ 4.0.0
+
+ com.ensign
+ ensign-module-crm
+ ${revision}
+
+
+ ensign-module-crm-biz
+ jar
+
+ ${project.artifactId}
+
+
+ UTF-8
+
+
+
+
+ com.ensign
+ ensign-module-crm-api
+ ${revision}
+
+
+
+ com.ensign
+ ensign-common
+
+
+
+ com.ensign
+ ensign-spring-boot-starter-mybatis
+
+
+
+ com.ensign
+ ensign-spring-boot-starter-web
+
+
+
+
+ com.ensign
+ ensign-spring-boot-starter-security
+
+
+
+ com.ensign
+ ensign-spring-boot-starter-websocket
+
+
+
+ com.ensign
+ ensign-module-system-api
+ ${revision}
+
+
+
+
diff --git a/ensign-server/src/main/java/com/ensign/crm/server/controller/ProxyController.java b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ProxyController.java
similarity index 77%
rename from ensign-server/src/main/java/com/ensign/crm/server/controller/ProxyController.java
rename to ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ProxyController.java
index 2c498f0..07faa6a 100644
--- a/ensign-server/src/main/java/com/ensign/crm/server/controller/ProxyController.java
+++ b/ensign-module-crm/ensign-module-crm-biz/src/main/java/com/ensign/crm/module/crm/controller/crm/ProxyController.java
@@ -1,11 +1,15 @@
-package com.ensign.crm.server.controller;
+package com.ensign.crm.module.crm.controller.crm;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.http.client.ClientHttpRequest;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.http.client.SimpleClientHttpRequestFactory;
+import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.util.StreamUtils;
+import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@@ -14,30 +18,30 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
+import java.util.*;
/**
* @Description: TODO
- * @Date: 2024/9/20 18:28
+ * @Date: 2024/9/23 9:39
* @Created: by ZZSLL
*/
-
@RestController
-@RequestMapping("/ensign/crm")
+@Tag(name = "CRM - Proxy")
+@RequestMapping("/crm-api/proxy")
+@Validated
public class ProxyController {
- private String targetAddr = "http://10.64.112.152:8022";
+ private String targetAddr = "http://122.4.221.133:8022";
-
- @RequestMapping(value = "/proxy/**", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+ @RequestMapping(value = "/do/**", produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
+ @Operation(summary = "转发接口")
+ @PreAuthorize("@ss.hasPermission('crm:proxy:all')")
public void proxy(HttpServletRequest request, HttpServletResponse response) throws IOException, URISyntaxException {
URI uri = new URI(request.getRequestURI());
String path = uri.getPath();
String query = request.getQueryString();
- String target = targetAddr + path.replace("/ensign/crm/proxy", "");
+ String target = targetAddr + path.replace("/crm-api/proxy/do", "");
if (query != null && !query.isEmpty() && !query.equals("null")) {
target = target + "?" + query;
}
@@ -70,5 +74,4 @@ public class ProxyController {
}));
StreamUtils.copy(clientHttpResponse.getBody(), response.getOutputStream());
}
-
}
diff --git a/ensign-module-crm/pom.xml b/ensign-module-crm/pom.xml
new file mode 100644
index 0000000..cdcc529
--- /dev/null
+++ b/ensign-module-crm/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+
+ com.ensign
+ ensign
+ ${revision}
+
+
+ ensign-module-crm
+ pom
+
+ ${project.artifactId}
+
+ ensign-module-crm-api
+ ensign-module-crm-biz
+
+
diff --git a/ensign-server/pom.xml b/ensign-server/pom.xml
index 1d35351..bc1a024 100644
--- a/ensign-server/pom.xml
+++ b/ensign-server/pom.xml
@@ -44,6 +44,11 @@
ensign-spring-boot-starter-protection
+
+ com.ensign
+ ensign-module-crm-biz
+ ${revision}
+
diff --git a/ensign-server/src/main/java/com/ensign/crm/server/exception/AllKingdeeException.java b/ensign-server/src/main/java/com/ensign/crm/server/exception/AllKingdeeException.java
deleted file mode 100644
index b7b3547..0000000
--- a/ensign-server/src/main/java/com/ensign/crm/server/exception/AllKingdeeException.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.ensign.crm.server.exception;
-
-/**
- * @Description: TODO
- * @Date: 2024/9/20 18:33
- * @Created: by ZZSLL
- */
-
-public class AllKingdeeException extends Exception {
- public AllKingdeeException(String message) {
- super(message);
- }
-}
diff --git a/ensign-server/src/main/java/com/ensign/crm/server/utils/ProxyUtils.java b/ensign-server/src/main/java/com/ensign/crm/server/utils/ProxyUtils.java
deleted file mode 100644
index 486a23d..0000000
--- a/ensign-server/src/main/java/com/ensign/crm/server/utils/ProxyUtils.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package com.ensign.crm.server.utils;
-
-import cn.hutool.json.JSONObject;
-import cn.hutool.json.JSONUtil;
-import com.ensign.crm.server.exception.AllKingdeeException;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.HttpClient;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.DefaultHttpClient;
-import org.apache.http.util.EntityUtils;
-
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * @Description: TODO
- * @Date: 2024/9/20 18:33
- * @Created: by ZZSLL
- */
-
-
-@Slf4j
-public class ProxyUtils {
-
- public void initAppToken() throws IOException, AllKingdeeException
- {
-
- final String END_POINT = "/ierp/api/getAppToken.do";
-
- HttpClient client = new DefaultHttpClient();
-
- HttpPost post = new HttpPost(END_POINT);
-
- Map body = new HashMap<>();
-
- body.put("appId", "");
- body.put("appSecuret", "");
- body.put("tenantid", "");
- body.put("accountId", "");
- body.put("language", "");
-
- HttpEntity reqEntity = new StringEntity(JSONUtil.toJsonStr(body), "utf-8");
-
- post.setEntity(reqEntity);
- post.setConfig(RequestConf.initRequestConfig());
- HttpResponse response = client.execute(post);
-
- if (response.getStatusLine().getStatusCode() == 200) {
-
- HttpEntity resEntity = response.getEntity();
- String responseData = EntityUtils.toString(resEntity, "utf-8");
-
- JSONObject jsonObject = JSONUtil.parseObj(responseData);
-
- Boolean status = (Boolean) jsonObject.get("status");
-
- String state = (String) jsonObject.get("state");
-
- if (status && "success".equals(state)) {
-
- JSONObject data = (JSONObject) jsonObject.get("data");
-
- String appToken = (String) data.get("app_token");
-
- if (appToken != null && !appToken.isEmpty()) {
-
- Long expireTime = (Long) data.get("expire_time");
-
-
- return;
- }
- }
-
- log.error("获取appToken失败 {}", jsonObject);
- throw new AllKingdeeException("获取appToken失败");
- }
-
- log.error("获取appToken失败 {}", EntityUtils.toString(response.getEntity(), "utf-8"));
- throw new AllKingdeeException("获取appToken失败");
- }
-}
diff --git a/ensign-server/src/main/java/com/ensign/crm/server/utils/RequestConf.java b/ensign-server/src/main/java/com/ensign/crm/server/utils/RequestConf.java
deleted file mode 100644
index aaa53af..0000000
--- a/ensign-server/src/main/java/com/ensign/crm/server/utils/RequestConf.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.ensign.crm.server.utils;
-
-import org.apache.http.client.config.RequestConfig;
-import org.springframework.stereotype.Component;
-
-/**
- * @Description: TODO
- * @Date: 2024/9/20 18:32
- * @Created: by ZZSLL
- */
-
-@Component
-public class RequestConf
-{
- public static RequestConfig initRequestConfig() {
- return RequestConfig.custom()
- .setConnectTimeout(5000)//一、连接超时:connectionTimeout-->指的是连接一个url的连接等待时间
- .setSocketTimeout(5000)// 二、读取数据超时:SocketTimeout-->指的是连接上一个url,获取response的返回等待时间
- .setConnectionRequestTimeout(5000)
- .build();
- }
-}
diff --git a/ensign-server/src/main/resources/application.yaml b/ensign-server/src/main/resources/application.yaml
index f6ee5b9..1b71c9e 100644
--- a/ensign-server/src/main/resources/application.yaml
+++ b/ensign-server/src/main/resources/application.yaml
@@ -185,7 +185,7 @@ ensign:
db-schemas: ${spring.datasource.dynamic.datasource.master.name}
front-type: 10 # 前端模版的类型,参见 CodegenFrontTypeEnum 枚举类
tenant: # 多租户相关配置项
- enable: true
+ enable: false
ignore-urls:
- /admin-api/system/tenant/get-id-by-name # 基于名字获取租户,不许带租户编号
- /admin-api/system/tenant/get-by-website # 基于域名获取租户,不许带租户编号
@@ -196,7 +196,7 @@ ensign:
- /admin-api/pay/notify/** # 支付回调通知,不携带租户编号
- /jmreport/* # 积木报表,无法携带租户编号
- /admin-api/mp/open/** # 微信公众号开放平台,微信回调接口,无法携带租户编号
- - /admin-api/crm/**
+ - /crm-api/**
ignore-tables:
- system_tenant
- system_tenant_package
diff --git a/pom.xml b/pom.xml
index f7709c3..d05d3d0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -15,7 +15,8 @@
ensign-module-system
ensign-module-infra
-
+ ensign-module-crm
+