1. 统一包名修改

This commit is contained in:
chenbowen
2025-09-22 14:53:45 +08:00
parent 0d46897482
commit 386d47fde1
692 changed files with 2132 additions and 2132 deletions

View File

@@ -5,7 +5,7 @@ import com.zt.plat.framework.apilog.core.interceptor.ApiAccessLogInterceptor;
import com.zt.plat.framework.common.biz.infra.logger.ApiAccessLogCommonApi;
import com.zt.plat.framework.common.enums.WebFilterOrderEnum;
import com.zt.plat.framework.web.config.WebProperties;
import com.zt.plat.framework.web.config.CloudWebAutoConfiguration;
import com.zt.plat.framework.web.config.ZtWebAutoConfiguration;
import jakarta.servlet.Filter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -15,14 +15,14 @@ import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@AutoConfiguration(after = CloudWebAutoConfiguration.class)
public class CloudApiLogAutoConfiguration implements WebMvcConfigurer {
@AutoConfiguration(after = ZtWebAutoConfiguration.class)
public class ZtApiLogAutoConfiguration implements WebMvcConfigurer {
/**
* 创建 ApiAccessLogFilter Bean记录 API 请求日志
*/
@Bean
@ConditionalOnProperty(prefix = "cloud.access-log", value = "enable", matchIfMissing = true) // 允许使用 cloud.access-log.enable=false 禁用访问日志
@ConditionalOnProperty(prefix = "zt.access-log", value = "enable", matchIfMissing = true) // 允许使用 zt.access-log.enable=false 禁用访问日志
public FilterRegistrationBean<ApiAccessLogFilter> apiAccessLogFilter(WebProperties webProperties,
@Value("${spring.application.name}") String applicationName,
ApiAccessLogCommonApi apiAccessLogApi) {

View File

@@ -12,5 +12,5 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
*/
@AutoConfiguration
@EnableFeignClients(clients = {ApiAccessLogCommonApi.class, ApiErrorLogCommonApi.class}) // 主要是引入相关的 API 服务
public class CloudApiLogRpcAutoConfiguration {
public class ZtApiLogRpcAutoConfiguration {
}

View File

@@ -10,7 +10,7 @@ import org.springframework.context.annotation.Bean;
* @author ZT
*/
@AutoConfiguration
public class CloudBannerAutoConfiguration {
public class ZtBannerAutoConfiguration {
@Bean
public BannerApplicationRunner bannerApplicationRunner() {

View File

@@ -28,15 +28,15 @@ public class BannerApplicationRunner implements ApplicationRunner {
"http://172.16.46.63:30888");
// 数据报表
System.out.println("[报表模块 cloud-module-report 教程][参考 http://172.16.46.63:30888/report/ 开启]");
System.out.println("[报表模块 zt-module-report 教程][参考 http://172.16.46.63:30888/report/ 开启]");
// 工作流
System.out.println("[工作流模块 cloud-module-bpm 教程][参考 http://172.16.46.63:30888/bpm/ 开启]");
System.out.println("[工作流模块 zt-module-bpm 教程][参考 http://172.16.46.63:30888/bpm/ 开启]");
// 微信公众号
System.out.println("[微信公众号 cloud-module-mp 教程][参考 http://172.16.46.63:30888/mp/build/ 开启]");
System.out.println("[微信公众号 zt-module-mp 教程][参考 http://172.16.46.63:30888/mp/build/ 开启]");
// AI 大模型
System.out.println("[AI 大模型 cloud-module-ai - 教程][参考 http://172.16.46.63:30888/ai/build/ 开启]");
System.out.println("[AI 大模型 zt-module-ai - 教程][参考 http://172.16.46.63:30888/ai/build/ 开启]");
});
}

View File

@@ -22,7 +22,7 @@ import java.util.List;
@AutoConfiguration
@Slf4j
public class CloudJacksonAutoConfiguration {
public class ZtJacksonAutoConfiguration {
@Bean
@SuppressWarnings("InstantiationOfUtilityClass")

View File

@@ -10,7 +10,7 @@ import jakarta.validation.constraints.NotEmpty;
*
* @author ZT
*/
@ConfigurationProperties("cloud.swagger")
@ConfigurationProperties("zt.swagger")
@Data
public class SwaggerProperties {

View File

@@ -46,7 +46,7 @@ import static com.zt.plat.framework.web.core.util.WebFrameworkUtils.HEADER_TENAN
@ConditionalOnClass({OpenAPI.class})
@EnableConfigurationProperties(SwaggerProperties.class)
@ConditionalOnProperty(prefix = "springdoc.api-docs", name = "enabled", havingValue = "true", matchIfMissing = true) // 设置为 false 禁用
public class CloudSwaggerAutoConfiguration {
public class ZtSwaggerAutoConfiguration {
// ========== 全局 OpenAPI 配置 ==========

View File

@@ -11,7 +11,7 @@ import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
@ConfigurationProperties(prefix = "cloud.web")
@ConfigurationProperties(prefix = "zt.web")
@Validated
@Data
public class WebProperties {
@@ -37,7 +37,7 @@ public class WebProperties {
* 意义:通过该前缀,避免 Swagger、Actuator 意外通过 Nginx 暴露出来给外部,带来安全性问题
* 这样Nginx 只需要配置转发到 /api/* 的所有接口即可。
*
* @see CloudWebAutoConfiguration#configurePathMatch(PathMatchConfigurer)
* @see ZtWebAutoConfiguration#configurePathMatch(PathMatchConfigurer)
*/
@NotEmpty(message = "API 前缀不能为空")
private String prefix;

View File

@@ -30,7 +30,7 @@ import jakarta.servlet.Filter;
@AutoConfiguration
@EnableConfigurationProperties(WebProperties.class)
public class CloudWebAutoConfiguration implements WebMvcConfigurer {
public class ZtWebAutoConfiguration implements WebMvcConfigurer {
@Resource
private WebProperties webProperties;
@@ -106,7 +106,7 @@ public class CloudWebAutoConfiguration implements WebMvcConfigurer {
* 创建 DemoFilter Bean演示模式
*/
@Bean
@ConditionalOnProperty(value = "cloud.demo", havingValue = "true")
@ConditionalOnProperty(value = "zt.demo", havingValue = "true")
public FilterRegistrationBean<DemoFilter> demoFilter() {
return createFilterBean(new DemoFilter(), WebFilterOrderEnum.DEMO_FILTER);
}

View File

@@ -349,57 +349,57 @@ public class GlobalExceptionHandler {
}
// 1. 数据报表
if (message.contains("report_")) {
log.error("[报表模块 cloud-module-report - 表结构未导入][参考 http://172.16.46.63:30888/report/ 开启]");
log.error("[报表模块 zt-module-report - 表结构未导入][参考 http://172.16.46.63:30888/report/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[报表模块 cloud-module-report - 表结构未导入][参考 http://172.16.46.63:30888/report/ 开启]");
"[报表模块 zt-module-report - 表结构未导入][参考 http://172.16.46.63:30888/report/ 开启]");
}
// 2. 工作流
if (message.contains("bpm_")) {
log.error("[工作流模块 cloud-module-bpm - 表结构未导入][参考 http://172.16.46.63:30888/bpm/ 开启]");
log.error("[工作流模块 zt-module-bpm - 表结构未导入][参考 http://172.16.46.63:30888/bpm/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[工作流模块 cloud-module-bpm - 表结构未导入][参考 http://172.16.46.63:30888/bpm/ 开启]");
"[工作流模块 zt-module-bpm - 表结构未导入][参考 http://172.16.46.63:30888/bpm/ 开启]");
}
// 3. 微信公众号
if (message.contains("mp_")) {
log.error("[微信公众号 cloud-module-mp - 表结构未导入][参考 http://172.16.46.63:30888/mp/build/ 开启]");
log.error("[微信公众号 zt-module-mp - 表结构未导入][参考 http://172.16.46.63:30888/mp/build/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[微信公众号 cloud-module-mp - 表结构未导入][参考 http://172.16.46.63:30888/mp/build/ 开启]");
"[微信公众号 zt-module-mp - 表结构未导入][参考 http://172.16.46.63:30888/mp/build/ 开启]");
}
// 4. 商城系统
if (StrUtil.containsAny(message, "product_", "promotion_", "trade_")) {
log.error("[商城系统 cloud-module-mall - 已禁用][参考 http://172.16.46.63:30888/mall/build/ 开启]");
log.error("[商城系统 zt-module-mall - 已禁用][参考 http://172.16.46.63:30888/mall/build/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[商城系统 cloud-module-mall - 已禁用][参考 http://172.16.46.63:30888/mall/build/ 开启]");
"[商城系统 zt-module-mall - 已禁用][参考 http://172.16.46.63:30888/mall/build/ 开启]");
}
// 5. ERP 系统
if (message.contains("erp_")) {
log.error("[ERP 系统 cloud-module-erp - 表结构未导入][参考 http://172.16.46.63:30888/erp/build/ 开启]");
log.error("[ERP 系统 zt-module-erp - 表结构未导入][参考 http://172.16.46.63:30888/erp/build/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[ERP 系统 cloud-module-erp - 表结构未导入][参考 http://172.16.46.63:30888/erp/build/ 开启]");
"[ERP 系统 zt-module-erp - 表结构未导入][参考 http://172.16.46.63:30888/erp/build/ 开启]");
}
// 6. CRM 系统
if (message.contains("crm_")) {
log.error("[CRM 系统 cloud-module-crm - 表结构未导入][参考 http://172.16.46.63:30888/crm/build/ 开启]");
log.error("[CRM 系统 zt-module-crm - 表结构未导入][参考 http://172.16.46.63:30888/crm/build/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[CRM 系统 cloud-module-crm - 表结构未导入][参考 http://172.16.46.63:30888/crm/build/ 开启]");
"[CRM 系统 zt-module-crm - 表结构未导入][参考 http://172.16.46.63:30888/crm/build/ 开启]");
}
// 7. 支付平台
if (message.contains("pay_")) {
log.error("[支付模块 cloud-module-pay - 表结构未导入][参考 http://172.16.46.63:30888/pay/build/ 开启]");
log.error("[支付模块 zt-module-pay - 表结构未导入][参考 http://172.16.46.63:30888/pay/build/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[支付模块 cloud-module-pay - 表结构未导入][参考 http://172.16.46.63:30888/pay/build/ 开启]");
"[支付模块 zt-module-pay - 表结构未导入][参考 http://172.16.46.63:30888/pay/build/ 开启]");
}
// 8. AI 大模型
if (message.contains("ai_")) {
log.error("[AI 大模型 cloud-module-ai - 表结构未导入][参考 http://172.16.46.63:30888/ai/build/ 开启]");
log.error("[AI 大模型 zt-module-ai - 表结构未导入][参考 http://172.16.46.63:30888/ai/build/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[AI 大模型 cloud-module-ai - 表结构未导入][参考 http://172.16.46.63:30888/ai/build/ 开启]");
"[AI 大模型 zt-module-ai - 表结构未导入][参考 http://172.16.46.63:30888/ai/build/ 开启]");
}
// 9. IOT 物联网
if (message.contains("iot_")) {
log.error("[IoT 物联网 cloud-module-iot - 表结构未导入][参考 https://doc.iocoder.cn/iot/build/ 开启]");
log.error("[IoT 物联网 zt-module-iot - 表结构未导入][参考 https://doc.iocoder.cn/iot/build/ 开启]");
return CommonResult.error(NOT_IMPLEMENTED.getCode(),
"[IoT 物联网 cloud-module-iot - 表结构未导入][参考 https://doc.iocoder.cn/iot/build/ 开启]");
"[IoT 物联网 zt-module-iot - 表结构未导入][参考 https://doc.iocoder.cn/iot/build/ 开启]");
}
return null;
}

View File

@@ -12,7 +12,7 @@ import java.util.List;
*
* @author ZT
*/
@ConfigurationProperties(prefix = "cloud.xss")
@ConfigurationProperties(prefix = "zt.xss")
@Validated
@Data
public class XssProperties {

View File

@@ -17,12 +17,12 @@ import org.springframework.context.annotation.Bean;
import org.springframework.util.PathMatcher;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import static com.zt.plat.framework.web.config.CloudWebAutoConfiguration.createFilterBean;
import static com.zt.plat.framework.web.config.ZtWebAutoConfiguration.createFilterBean;
@AutoConfiguration
@EnableConfigurationProperties(XssProperties.class)
@ConditionalOnProperty(prefix = "cloud.xss", name = "enable", havingValue = "true", matchIfMissing = true) // 设置为 false 禁用
public class CloudXssAutoConfiguration implements WebMvcConfigurer {
@ConditionalOnProperty(prefix = "zt.xss", name = "enable", havingValue = "true", matchIfMissing = true) // 设置为 false 禁用
public class ZtXssAutoConfiguration implements WebMvcConfigurer {
/**
* Xss 清理者
@@ -43,7 +43,7 @@ public class CloudXssAutoConfiguration implements WebMvcConfigurer {
@Bean
@ConditionalOnMissingBean(name = "xssJacksonCustomizer")
@ConditionalOnBean(ObjectMapper.class)
@ConditionalOnProperty(value = "cloud.xss.enable", havingValue = "true")
@ConditionalOnProperty(value = "zt.xss.enable", havingValue = "true")
public Jackson2ObjectMapperBuilderCustomizer xssJacksonCustomizer(XssProperties properties,
PathMatcher pathMatcher,
XssCleaner xssCleaner) {

View File

@@ -1,6 +1,6 @@
com.zt.plat.framework.apilog.config.CloudApiLogAutoConfiguration
com.zt.plat.framework.jackson.config.CloudJacksonAutoConfiguration
com.zt.plat.framework.swagger.config.CloudSwaggerAutoConfiguration
com.zt.plat.framework.web.config.CloudWebAutoConfiguration
com.zt.plat.framework.apilog.config.CloudApiLogRpcAutoConfiguration
com.zt.plat.framework.banner.config.CloudBannerAutoConfiguration
com.zt.plat.framework.apilog.config.ZtApiLogAutoConfiguration
com.zt.plat.framework.jackson.config.ZtJacksonAutoConfiguration
com.zt.plat.framework.swagger.config.ZtSwaggerAutoConfiguration
com.zt.plat.framework.web.config.ZtWebAutoConfiguration
com.zt.plat.framework.apilog.config.ZtApiLogRpcAutoConfiguration
com.zt.plat.framework.banner.config.ZtBannerAutoConfiguration

View File

@@ -1,5 +1,5 @@
参考文档 http://172.16.46.63:30888/
Application Version: ${cloud.info.version}
Application Version: ${zt.info.version}
Spring Boot Version: ${spring-boot.version}
.__ __. ______ .______ __ __ _______

View File

@@ -29,7 +29,7 @@ public class DesensitizeTest {
public void test() {
// 准备参数
DesensitizeDemo desensitizeDemo = new DesensitizeDemo();
desensitizeDemo.setNickname("ZT源码");
desensitizeDemo.setNickname("芋道源码");
desensitizeDemo.setBankCard("9988002866797031");
desensitizeDemo.setCarLicense("粤A66666");
desensitizeDemo.setFixedPhone("01086551122");
@@ -40,9 +40,9 @@ public class DesensitizeTest {
desensitizeDemo.setSlider2("ABCDEFG");
desensitizeDemo.setSlider3("ABCDEFG");
desensitizeDemo.setEmail("1@email.com");
desensitizeDemo.setRegex("你好,我是ZT源码");
desensitizeDemo.setRegex("你好,我是芋道源码");
desensitizeDemo.setAddress("北京市海淀区上地十街10号");
desensitizeDemo.setOrigin("ZT源码");
desensitizeDemo.setOrigin("芋道源码");
// 调用
DesensitizeDemo d = JsonUtils.parseObject(JsonUtils.toJsonString(desensitizeDemo), DesensitizeDemo.class);
@@ -61,7 +61,7 @@ public class DesensitizeTest {
assertEquals("1****@email.com", d.getEmail());
assertEquals("你好,我是*", d.getRegex());
assertEquals("北京市海淀区上地十街10号*", d.getAddress());
assertEquals("ZT源码", d.getOrigin());
assertEquals("芋道源码", d.getOrigin());
}
@Data
@@ -89,7 +89,7 @@ public class DesensitizeTest {
private String slider3;
@EmailDesensitize
private String email;
@RegexDesensitize(regex = "ZT源码", replacer = "*")
@RegexDesensitize(regex = "芋道源码", replacer = "*")
private String regex;
@Address
private String address;

View File

@@ -1 +1 @@
<http://www.iocoder.cn/Spring-Boot/Swagger/?cloud>
<http://www.iocoder.cn/Spring-Boot/Swagger/?zt>

View File

@@ -1 +1 @@
<http://www.iocoder.cn/Spring-Boot/SpringMVC/?cloud>
<http://www.iocoder.cn/Spring-Boot/SpringMVC/?zt>