diff --git a/cms-api/cms-admin-svc/src/main/java/com/qs/serve/controller/AdminPortalController.java b/cms-api/cms-admin-svc/src/main/java/com/qs/serve/controller/AdminPortalController.java
index c3b53cd..1e96e5a 100644
--- a/cms-api/cms-admin-svc/src/main/java/com/qs/serve/controller/AdminPortalController.java
+++ b/cms-api/cms-admin-svc/src/main/java/com/qs/serve/controller/AdminPortalController.java
@@ -52,6 +52,7 @@ import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsCostApplyService;
+import com.qs.serve.modules.tzc.api.TzcRebateApi;
import com.qs.serve.modules.tzc.entity.TzcPolicy;
import com.qs.serve.modules.tzc.service.TzcPolicyService;
import com.qs.serve.modules.vtb.entity.VtbVerification;
@@ -109,6 +110,14 @@ public class AdminPortalController {
private GoodsSkuService goodsSkuService;
private GoodsCategoryService goodsCategoryService;
+ TzcRebateApi tzcRebateAPI;
+
+
+ @GetMapping("/test222")
+ public R> getSystemTime2(){
+ return R.ok(tzcRebateAPI.getRebateById(111L));
+ }
+
@GetMapping("/getSystemTime")
public R> getSystemTime(){
return R.ok(DateUtils.format(LocalDateTime.now(), DateFormatString.DATE_TIME));
diff --git a/cms-api/cms-admin-svc/src/main/resources/application-dev.yml b/cms-api/cms-admin-svc/src/main/resources/application-dev.yml
index 66d7d10..7842a8d 100644
--- a/cms-api/cms-admin-svc/src/main/resources/application-dev.yml
+++ b/cms-api/cms-admin-svc/src/main/resources/application-dev.yml
@@ -8,10 +8,12 @@ feign:
enabled: true
# 服务列表
service-list:
- policy-svc: http://localhost:8081
+ policy-svc: http://localhost:7403
#项目配置
project:
+ tenant:
+ enable: true
bir-service: 'false'
bir-service-sync: 'false'
bir-service-url: 'http://192.168.0.9:7401'
diff --git a/cms-api/cms-admin-svc/src/main/resources/application.yml b/cms-api/cms-admin-svc/src/main/resources/application.yml
index a9d4c58..c1a1312 100644
--- a/cms-api/cms-admin-svc/src/main/resources/application.yml
+++ b/cms-api/cms-admin-svc/src/main/resources/application.yml
@@ -21,6 +21,7 @@ project:
- /favicon.ico
- /error
- /portal/syKeyLogin
+ - /portal/test222
- /bir/roiRate/test
- /static/*
- /api/wx/login/getCpSignature
diff --git a/cms-api/cms-policy-svc/pom.xml b/cms-api/cms-policy-svc/pom.xml
index e151a51..9b63a23 100644
--- a/cms-api/cms-policy-svc/pom.xml
+++ b/cms-api/cms-policy-svc/pom.xml
@@ -17,6 +17,11 @@
+
+ com.qs
+ cms-framework-mvc
+ 1.0-SNAPSHOT
+
com.qs
cms-framework-mybatis-plus
@@ -27,6 +32,10 @@
cms-policy-bus
1.0-SNAPSHOT
+
+ mysql
+ mysql-connector-java
+
diff --git a/cms-api/cms-policy-svc/src/main/resources/application-dev.yml b/cms-api/cms-policy-svc/src/main/resources/application-dev.yml
index 780783e..1993bf6 100644
--- a/cms-api/cms-policy-svc/src/main/resources/application-dev.yml
+++ b/cms-api/cms-policy-svc/src/main/resources/application-dev.yml
@@ -6,13 +6,18 @@ feign:
readTimeout: 5000 # 读取超时时间
httpclient:
enabled: true
+
+#项目配置
+project:
+ tenant:
+ enable: false
# 服务列表
service-list:
policy-svc: http://localhost:8081
#服务配置
server:
- port: 7500
+ port: 7403
servlet:
context-path: /
@@ -20,13 +25,14 @@ server:
spring:
datasource:
dynamic:
+ primary: crm_db #设置默认的数据源或者数据源组,默认值即为master
+ strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源
datasource:
- master:
+ crm_db:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://192.168.0.9:3306/jsl_mall_qs_dev?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&rewriteBatchedStatements=true
username: kpjsl
password: 123456
-#SpringBoot相关
hikari:
#连接池名
pool-name: DateHikariCP
diff --git a/cms-api/cms-policy-svc/src/main/resources/application.yml b/cms-api/cms-policy-svc/src/main/resources/application.yml
index a9d4c58..9fbb99b 100644
--- a/cms-api/cms-policy-svc/src/main/resources/application.yml
+++ b/cms-api/cms-policy-svc/src/main/resources/application.yml
@@ -59,9 +59,6 @@ logging:
level:
ROOT: debug
com.qs.serve: debug
- com.qs.serve.modules.his: debug
- com.qs.serve.modules.sys: debug
- com.qs.serve.modules.tag: info
org.xnio.nio: info
org.springframework: info
com.baomidou: info
diff --git a/cms-api/cms-policy-svc/src/main/resources/log4j2.xml b/cms-api/cms-policy-svc/src/main/resources/log4j2.xml
index f7d1bce..c389994 100644
--- a/cms-api/cms-policy-svc/src/main/resources/log4j2.xml
+++ b/cms-api/cms-policy-svc/src/main/resources/log4j2.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/cms-common/pom.xml b/cms-common/pom.xml
index 058287d..4e3655f 100644
--- a/cms-common/pom.xml
+++ b/cms-common/pom.xml
@@ -18,6 +18,11 @@
+
+ org.springframework.boot
+ spring-boot-starter-log4j2
+
+
org.springframework.cloud
spring-cloud-starter-openfeign
diff --git a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/context/SecurityUserUtil.java b/cms-common/src/main/java/com/qs/serve/common/context/SecurityUserUtil.java
similarity index 95%
rename from cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/context/SecurityUserUtil.java
rename to cms-common/src/main/java/com/qs/serve/common/context/SecurityUserUtil.java
index f11f7c2..b24dc25 100644
--- a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/context/SecurityUserUtil.java
+++ b/cms-common/src/main/java/com/qs/serve/common/context/SecurityUserUtil.java
@@ -1,4 +1,4 @@
-package com.qs.serve.mbp.context;
+package com.qs.serve.common.context;
import lombok.experimental.UtilityClass;
diff --git a/cms-framework/cms-framework-base/pom.xml b/cms-framework/cms-framework-base/pom.xml
index b4b1a2a..de936c4 100644
--- a/cms-framework/cms-framework-base/pom.xml
+++ b/cms-framework/cms-framework-base/pom.xml
@@ -60,11 +60,6 @@
spring-boot-starter-validation
-
- org.springframework.boot
- spring-boot-starter-log4j2
-
-
com.squareup.okhttp3
okhttp
diff --git a/cms-framework/cms-framework-feign/pom.xml b/cms-framework/cms-framework-feign/pom.xml
new file mode 100644
index 0000000..6e78585
--- /dev/null
+++ b/cms-framework/cms-framework-feign/pom.xml
@@ -0,0 +1,27 @@
+
+
+
+ cms-framework
+ com.qs
+ 1.0-SNAPSHOT
+
+ 4.0.0
+
+ cms-framework-feign
+
+
+ 8
+ 8
+
+
+
+
+ com.qs
+ cms-common
+ 1.0-SNAPSHOT
+
+
+
+
diff --git a/cms-framework/cms-framework-feign/src/main/java/com/qs/serve/feign/FeignRequestInterceptor.java b/cms-framework/cms-framework-feign/src/main/java/com/qs/serve/feign/FeignRequestInterceptor.java
new file mode 100644
index 0000000..9d79da9
--- /dev/null
+++ b/cms-framework/cms-framework-feign/src/main/java/com/qs/serve/feign/FeignRequestInterceptor.java
@@ -0,0 +1,21 @@
+package com.qs.serve.feign;
+
+import com.qs.serve.common.context.SecurityUserUtil;
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author YenHex
+ * @since 2025/4/17
+ */
+@Configuration
+public class FeignRequestInterceptor implements RequestInterceptor {
+
+ @Override
+ public void apply(RequestTemplate template) {
+ template.header("userId", SecurityUserUtil.getUserId());
+ template.header("tenant-id", SecurityUserUtil.getTenant());
+ }
+
+}
diff --git a/cms-framework/cms-framework-mvc/pom.xml b/cms-framework/cms-framework-mvc/pom.xml
index 8f833d2..345c061 100644
--- a/cms-framework/cms-framework-mvc/pom.xml
+++ b/cms-framework/cms-framework-mvc/pom.xml
@@ -16,4 +16,44 @@
8
+
+
+ com.qs
+ cms-common
+ 1.0-SNAPSHOT
+
+
+
+ org.projectlombok
+ lombok
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+ org.springframework.boot
+ spring-boot-starter-logging
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-web
+
+
+ org.springframework.boot
+ spring-boot-starter-tomcat
+
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-undertow
+
+
+
diff --git a/cms-framework/cms-framework-mvc/src/main/java/com/qs/serve/framework/mvc/HttpServletRequestFilter.java b/cms-framework/cms-framework-mvc/src/main/java/com/qs/serve/framework/mvc/HttpServletRequestFilter.java
new file mode 100644
index 0000000..322b923
--- /dev/null
+++ b/cms-framework/cms-framework-mvc/src/main/java/com/qs/serve/framework/mvc/HttpServletRequestFilter.java
@@ -0,0 +1,57 @@
+package com.qs.serve.framework.mvc;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import org.springframework.util.StringUtils;
+
+import javax.annotation.Resource;
+import javax.servlet.*;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.BufferedReader;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.nio.charset.StandardCharsets;
+import java.time.LocalDateTime;
+import java.time.format.DateTimeFormatter;
+
+/**
+ * HttpServletRequest 过滤器
+ * 解决: request.getInputStream()只能读取一次的问题
+ * 目标: 流可重复读
+ * @Author YenHex
+ * @Date 2021/4/9
+ * @Version: 1.0
+ **/
+@Slf4j
+@Component
+@WebFilter(filterName = "HttpServletRequestFilter", urlPatterns = "/")
+@Order(10000)
+public class HttpServletRequestFilter implements Filter{
+
+ @Override
+ public void init(FilterConfig filterConfig) throws ServletException {
+
+ }
+
+ @Override
+ public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+ filterChain.doFilter(servletRequest, servletResponse);
+ long endTime = System.currentTimeMillis();
+ assert servletRequest instanceof HttpServletRequest;
+ HttpServletRequest request = (HttpServletRequest)servletRequest;
+ String url = request.getRequestURL().toString();
+ String method = request.getMethod();
+ String queryStr = request.getQueryString();
+ log.info("url:{}",url);
+ }
+
+ @Override
+ public void destroy() {
+
+ }
+
+}
diff --git a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/MyBatisConfig.java b/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/MyBatisConfig.java
index 0621eb3..a33055f 100644
--- a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/MyBatisConfig.java
+++ b/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/MyBatisConfig.java
@@ -6,10 +6,15 @@ import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.TenantLineInnerInterceptor;
+import com.qs.serve.mbp.config.props.ProjectTenantProperties;
+import com.qs.serve.mbp.handler.SysMetaHandler;
+import com.qs.serve.mbp.handler.SysTenantHandler;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
+import javax.annotation.Resource;
+
/**
* @author YenHex
* @since 2022/3/1
@@ -18,13 +23,18 @@ import org.springframework.context.annotation.Configuration;
@Configuration(proxyBeanMethods = false)
public class MyBatisConfig {
+ @Resource
+ ProjectTenantProperties projectTenantProperties;
+
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
// 翻页拦截器
interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
// 多租户、乐观锁等配置拦截
- interceptor.addInnerInterceptor(buildTenantHandler());
+ if(projectTenantProperties.getEnable()!=null && projectTenantProperties.getEnable()){
+ interceptor.addInnerInterceptor(buildTenantHandler());
+ }
// 添加动态表名插件
// DynamicTableNameInnerInterceptor dynamicTableNameInnerInterceptor = new DynamicTableNameInnerInterceptor();
// dynamicTableNameInnerInterceptor.setTableNameHandler(tableNameAppendHandler());
diff --git a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/props/ProjectTenantProperties.java b/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/props/ProjectTenantProperties.java
new file mode 100644
index 0000000..4bfcdcd
--- /dev/null
+++ b/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/props/ProjectTenantProperties.java
@@ -0,0 +1,21 @@
+package com.qs.serve.mbp.config.props;
+
+import lombok.Getter;
+import lombok.Setter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * @Author: YenHex
+ * @Date: 2021/3/3
+ * @Version: 1.0
+ **/
+@Getter
+@Setter
+@Component
+@ConfigurationProperties(prefix = "project.tenant")
+public class ProjectTenantProperties {
+
+ private Boolean enable;
+
+}
diff --git a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysMetaHandler.java b/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysMetaHandler.java
index d6de852..39f1f0f 100644
--- a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysMetaHandler.java
+++ b/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysMetaHandler.java
@@ -1,7 +1,7 @@
package com.qs.serve.mbp.handler;
import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler;
-import com.qs.serve.mbp.context.SecurityUserUtil;
+import com.qs.serve.common.context.SecurityUserUtil;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.reflection.MetaObject;
diff --git a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysTenantHandler.java b/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysTenantHandler.java
index 403d5ed..deb1789 100644
--- a/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysTenantHandler.java
+++ b/cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysTenantHandler.java
@@ -3,7 +3,7 @@ package com.qs.serve.mbp.handler;
import com.baomidou.mybatisplus.extension.plugins.handler.TenantLineHandler;
import com.qs.serve.common.enums.HttpCode;
import com.qs.serve.common.exception.Assert;
-import com.qs.serve.mbp.context.SecurityUserUtil;
+import com.qs.serve.common.context.SecurityUserUtil;
import net.sf.jsqlparser.expression.Expression;
import net.sf.jsqlparser.expression.StringValue;
@@ -34,7 +34,7 @@ public class SysTenantHandler implements TenantLineHandler {
@Override
public String getTenantIdColumn() {
- return "TENANT_COLUMN";
+ return "tenant_id";
}
/**
diff --git a/cms-framework/pom.xml b/cms-framework/pom.xml
index 7e3229e..6320cb6 100644
--- a/cms-framework/pom.xml
+++ b/cms-framework/pom.xml
@@ -15,6 +15,7 @@
cms-framework-security
cms-framework-mvc
cms-framework-base
+ cms-framework-feign
cms-framework
diff --git a/cms-modules/cms-actuator/src/main/java/com/qs/serve/actuator/HttpServletRequestFilter.java b/cms-modules/cms-actuator/src/main/java/com/qs/serve/actuator/HttpServletRequestFilter.java
index 311dd8c..4274132 100644
--- a/cms-modules/cms-actuator/src/main/java/com/qs/serve/actuator/HttpServletRequestFilter.java
+++ b/cms-modules/cms-actuator/src/main/java/com/qs/serve/actuator/HttpServletRequestFilter.java
@@ -1,10 +1,10 @@
package com.qs.serve.actuator;
+import com.qs.serve.common.utils.ServletUtils;
import com.qs.serve.framework.base.config.DevEnvironmentConfig;
import com.qs.serve.framework.base.framework.redis.RedisService;
import com.qs.serve.framework.base.framework.security.model.LoginUser;
import com.qs.serve.framework.base.util.DateUtils;
-import com.qs.serve.common.utils.ServletUtils;
import com.qs.serve.modules.sys.common.AuthContextUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.core.annotation.Order;
diff --git a/cms-modules/cms-policy/cms-policy-api/pom.xml b/cms-modules/cms-policy/cms-policy-api/pom.xml
index 2fddb54..816f12e 100644
--- a/cms-modules/cms-policy/cms-policy-api/pom.xml
+++ b/cms-modules/cms-policy/cms-policy-api/pom.xml
@@ -18,6 +18,13 @@
+
+
+ com.qs
+ cms-framework-feign
+ 1.0-SNAPSHOT
+
+
com.qs
cms-common
diff --git a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateAPI.java b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateApi.java
similarity index 80%
rename from cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateAPI.java
rename to cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateApi.java
index e66f1ed..ebddd87 100644
--- a/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateAPI.java
+++ b/cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateApi.java
@@ -9,8 +9,8 @@ import org.springframework.web.bind.annotation.PathVariable;
* @author YenHex
* @since 2025/4/15
*/
-@FeignClient(name = "policy-svc", url = "${service-list.policy}")
-public interface TzcRebateAPI {
+@FeignClient(name = "policy-svc", url = "${service-list.policy-svc}")
+public interface TzcRebateApi {
@GetMapping("/api/tzc/rebate/{id}")
TzcRebate getRebateById(@PathVariable("id") Long id);
diff --git a/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateApiImpl.java b/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateApiImpl.java
new file mode 100644
index 0000000..88b70e3
--- /dev/null
+++ b/cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateApiImpl.java
@@ -0,0 +1,21 @@
+package com.qs.serve.modules.tzc.api;
+
+import com.qs.serve.modules.tzc.entity.TzcRebate;
+import com.qs.serve.modules.tzc.service.TzcRebateService;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author YenHex
+ * @since 2025/4/17
+ */
+@Service
+public class TzcRebateApiImpl implements TzcRebateApi {
+
+ TzcRebateService tzcRebateService;
+
+ @Override
+ public TzcRebate getRebateById(Long id) {
+ return tzcRebateService.getById(id);
+ }
+
+}
diff --git a/cms-modules/cms-system/pom.xml b/cms-modules/cms-system/pom.xml
index b1d5410..c72b42c 100644
--- a/cms-modules/cms-system/pom.xml
+++ b/cms-modules/cms-system/pom.xml
@@ -18,6 +18,18 @@
+
+ com.qs
+ cms-policy-api
+ 1.0-SNAPSHOT
+
+
+
+ com.qs
+ cms-framework-feign
+ 1.0-SNAPSHOT
+
+
com.qs
cms-framework-mybatis-plus
diff --git a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/common/AuthContextUtils.java b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/common/AuthContextUtils.java
index a77297f..96f78a5 100644
--- a/cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/common/AuthContextUtils.java
+++ b/cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/common/AuthContextUtils.java
@@ -8,7 +8,7 @@ import com.qs.serve.common.exception.Assert;
import com.qs.serve.common.utils.ServletUtils;
import com.qs.serve.framework.base.util.SpringUtils;
import com.qs.serve.common.utils.StringUtils;
-import com.qs.serve.mbp.context.SecurityUserUtil;
+import com.qs.serve.common.context.SecurityUserUtil;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import lombok.experimental.UtilityClass;