Browse Source

feat: 修改框架布局

master
Yen 3 months ago
parent
commit
d7e309bf55
  1. 9
      cms-api/cms-admin-svc/src/main/java/com/qs/serve/controller/AdminPortalController.java
  2. 4
      cms-api/cms-admin-svc/src/main/resources/application-dev.yml
  3. 1
      cms-api/cms-admin-svc/src/main/resources/application.yml
  4. 9
      cms-api/cms-policy-svc/pom.xml
  5. 12
      cms-api/cms-policy-svc/src/main/resources/application-dev.yml
  6. 3
      cms-api/cms-policy-svc/src/main/resources/application.yml
  7. 2
      cms-api/cms-policy-svc/src/main/resources/log4j2.xml
  8. 5
      cms-common/pom.xml
  9. 2
      cms-common/src/main/java/com/qs/serve/common/context/SecurityUserUtil.java
  10. 5
      cms-framework/cms-framework-base/pom.xml
  11. 27
      cms-framework/cms-framework-feign/pom.xml
  12. 21
      cms-framework/cms-framework-feign/src/main/java/com/qs/serve/feign/FeignRequestInterceptor.java
  13. 40
      cms-framework/cms-framework-mvc/pom.xml
  14. 57
      cms-framework/cms-framework-mvc/src/main/java/com/qs/serve/framework/mvc/HttpServletRequestFilter.java
  15. 12
      cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/MyBatisConfig.java
  16. 21
      cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/config/props/ProjectTenantProperties.java
  17. 2
      cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysMetaHandler.java
  18. 4
      cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/handler/SysTenantHandler.java
  19. 1
      cms-framework/pom.xml
  20. 2
      cms-modules/cms-actuator/src/main/java/com/qs/serve/actuator/HttpServletRequestFilter.java
  21. 7
      cms-modules/cms-policy/cms-policy-api/pom.xml
  22. 4
      cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateApi.java
  23. 21
      cms-modules/cms-policy/cms-policy-bus/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateApiImpl.java
  24. 12
      cms-modules/cms-system/pom.xml
  25. 2
      cms-modules/cms-system/src/main/java/com/qs/serve/modules/sys/common/AuthContextUtils.java

9
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));

4
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'

1
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

9
cms-api/cms-policy-svc/pom.xml

@ -17,6 +17,11 @@
</properties>
<dependencies>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-framework-mvc</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-framework-mybatis-plus</artifactId>
@ -27,6 +32,10 @@
<artifactId>cms-policy-bus</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
</dependencies>
</project>

12
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

3
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

2
cms-api/cms-policy-svc/src/main/resources/log4j2.xml

@ -7,7 +7,7 @@
<!--变量配置-->
<Properties>
<property name="LOG_PATTERN" value="%d %highlight{%-5level}{ERROR=Bright RED, WARN=Bright Yellow, INFO=Bright Green, DEBUG=Bright Cyan, TRACE=Bright White} %style{[%t]}{bright,magenta} %style{%c{1.}.%M(%L)}{cyan}: %msg%n" />
<property name="FILE_PATH" value="home/logs" />
<property name="FILE_PATH" value="policy-logs" />
</Properties>
<appenders>

5
cms-common/pom.xml

@ -18,6 +18,11 @@
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>

2
cms-framework/cms-framework-mybatis-plus/src/main/java/com/qs/serve/mbp/context/SecurityUserUtil.java → 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;

5
cms-framework/cms-framework-base/pom.xml

@ -60,11 +60,6 @@
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>

27
cms-framework/cms-framework-feign/pom.xml

@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>cms-framework</artifactId>
<groupId>com.qs</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>cms-framework-feign</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>

21
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());
}
}

40
cms-framework/cms-framework-mvc/pom.xml

@ -16,4 +16,44 @@
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-common</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
</dependencies>
</project>

57
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() {
}
}

12
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());

21
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;
}

2
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;

4
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";
}
/**

1
cms-framework/pom.xml

@ -15,6 +15,7 @@
<module>cms-framework-security</module>
<module>cms-framework-mvc</module>
<module>cms-framework-base</module>
<module>cms-framework-feign</module>
</modules>
<artifactId>cms-framework</artifactId>

2
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;

7
cms-modules/cms-policy/cms-policy-api/pom.xml

@ -18,6 +18,13 @@
</properties>
<dependencies>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-framework-feign</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-common</artifactId>

4
cms-modules/cms-policy/cms-policy-api/src/main/java/com/qs/serve/modules/tzc/api/TzcRebateAPI.java → 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);

21
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);
}
}

12
cms-modules/cms-system/pom.xml

@ -18,6 +18,18 @@
</properties>
<dependencies>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-policy-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-framework-feign</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.qs</groupId>
<artifactId>cms-framework-mybatis-plus</artifactId>

2
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;

Loading…
Cancel
Save