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

@@ -8,8 +8,8 @@ import java.util.List;
/**
* 只有实现了这个接口的才能自动翻译
*
* 为什么要赋值粘贴到 cloud-common 包下?
* 因为 AutoTransable 属于 easy-trans-service 下,无法方便的在 cloud-module-xxx-api 模块下使用
* 为什么要赋值粘贴到 zt-common 包下?
* 因为 AutoTransable 属于 easy-trans-service 下,无法方便的在 zt-module-xxx-api 模块下使用
*
* @author jackwang
* @since 2020-05-19 10:26:15

View File

@@ -7,7 +7,7 @@ import lombok.Data;
@Data
public class DictDataRespDTO {
@Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "ZT")
@Schema(description = "字典标签", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋道")
private String label;
@Schema(description = "字典值", requiredMode = Schema.RequiredMode.REQUIRED, example = "iocoder")

View File

@@ -28,7 +28,7 @@ public class OperateLogCreateReqDTO {
@NotNull(message = "操作模块业务编号不能为空")
private Long bizId;
@Schema(description = "操作内容", requiredMode = Schema.RequiredMode.REQUIRED,
example = "修改编号为 1 的用户信息,将性别从男改成女,将姓名从ZT改成源码")
example = "修改编号为 1 的用户信息,将性别从男改成女,将姓名从芋道改成源码")
@NotEmpty(message = "操作内容不能为空")
private String action;
@Schema(description = "拓展字段", example = "{\"orderId\": \"1\"}")

View File

@@ -44,7 +44,7 @@ public interface OAuth2TokenCommonApi {
@Operation(summary = "刷新访问令牌")
@Parameters({
@Parameter(name = "refreshToken", description = "刷新令牌", required = true, example = "haha"),
@Parameter(name = "clientId", description = "客户端编号", required = true, example = "cloudyuanma")
@Parameter(name = "clientId", description = "客户端编号", required = true, example = "ztyuanma")
})
CommonResult<OAuth2AccessTokenRespDTO> refreshAccessToken(@RequestParam("refreshToken") String refreshToken,
@RequestParam("clientId") String clientId);

View File

@@ -18,7 +18,7 @@ public class OAuth2AccessTokenCheckRespDTO implements Serializable {
@Schema(description = "用户类型,参见 UserTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
private Integer userType;
@Schema(description = "用户信息", example = "{\"nickname\": \"ZT\"}")
@Schema(description = "用户信息", example = "{\"nickname\": \"芋道\"}")
private Map<String, String> userInfo;
@Schema(description = "租户编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024")

View File

@@ -22,7 +22,7 @@ public class OAuth2AccessTokenCreateReqDTO implements Serializable {
@InEnum(value = UserTypeEnum.class, message = "用户类型必须是 {value}")
private Integer userType;
@Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "cloudyuanma")
@Schema(description = "客户端编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "ztyuanma")
@NotNull(message = "客户端编号不能为空")
private String clientId;

View File

@@ -3,7 +3,7 @@ package com.zt.plat.framework.common.enums;
/**
* RPC 相关的枚举
*
* 虽然放在 cloud-spring-boot-starter-rpc 会相对合适,但是每个 API 模块需要使用到,所以暂时只好放在此处
* 虽然放在 zt-spring-boot-starter-rpc 会相对合适,但是每个 API 模块需要使用到,所以暂时只好放在此处
*
* @author ZT
*/

View File

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

View File

@@ -3,7 +3,7 @@ package com.zt.plat.framework.business.config;
import com.zt.plat.framework.business.filter.FileUploadFilter;
import com.zt.plat.framework.business.interceptor.BusinessHeaderInterceptor;
import com.zt.plat.framework.business.interceptor.FileUploadHeaderInterceptor;
import com.zt.plat.framework.web.config.CloudWebAutoConfiguration;
import com.zt.plat.framework.web.config.ZtWebAutoConfiguration;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
@@ -14,9 +14,9 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author chenbowen
*/
@AutoConfiguration(after = CloudWebAutoConfiguration.class)
@AutoConfiguration(after = ZtWebAutoConfiguration.class)
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
public class CloudBusinessAutoConfiguration implements WebMvcConfigurer {
public class ZtBusinessAutoConfiguration implements WebMvcConfigurer {
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 只拦截增删改和 set 相关的 url

View File

@@ -9,5 +9,5 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
*/
@AutoConfiguration
@EnableFeignClients(clients = BusinessFileApi.class)
public class CloudBusinessRpcAutoConfiguration {
public class ZtBusinessRpcAutoConfiguration {
}

View File

@@ -1,3 +1,3 @@
com.zt.plat.framework.business.config.CloudBusinessAutoConfiguration
com.zt.plat.framework.business.config.ZtBusinessAutoConfiguration
com.zt.plat.framework.business.framework.BusinessDataPermissionConfiguration
com.zt.plat.framework.business.framework.rpc.CloudBusinessRpcAutoConfiguration
com.zt.plat.framework.business.framework.rpc.ZtBusinessRpcAutoConfiguration

View File

@@ -22,7 +22,7 @@ import java.util.List;
@AutoConfiguration
@ConditionalOnClass(LoginUser.class)
@ConditionalOnBean(value = {CompanyDataPermissionRuleCustomizer.class, DeptDataPermissionRuleCustomizer.class})
public class CloudBusinessDataPermissionAutoConfiguration {
public class ZtBusinessDataPermissionAutoConfiguration {
@Bean
public CompanyDataPermissionRule companyDataPermissionRule(List<CompanyDataPermissionRuleCustomizer> customizers) {

View File

@@ -19,7 +19,7 @@ import java.util.List;
* @author ZT
*/
@AutoConfiguration
public class CloudDataPermissionAutoConfiguration {
public class ZtDataPermissionAutoConfiguration {
@Bean
public DataPermissionRuleFactory dataPermissionRuleFactory(List<DataPermissionRule> rules) {

View File

@@ -16,7 +16,7 @@ import static com.zt.plat.framework.common.enums.WebFilterOrderEnum.TENANT_CONTE
*/
@AutoConfiguration
@ConditionalOnClass(name = "feign.RequestInterceptor")
public class CloudDataPermissionRpcAutoConfiguration {
public class ZtDataPermissionRpcAutoConfiguration {
@Bean
public DataPermissionRequestInterceptor dataPermissionRequestInterceptor() {

View File

@@ -21,7 +21,7 @@ import java.util.List;
@AutoConfiguration
@ConditionalOnClass(LoginUser.class)
@ConditionalOnBean(value = {PermissionCommonApi.class, DeptDataPermissionRuleCustomizer.class})
public class CloudDeptDataPermissionAutoConfiguration {
public class ZtDeptDataPermissionAutoConfiguration {
@Bean
public DeptDataPermissionRule deptDataPermissionRule(PermissionCommonApi permissionApi, List<DeptDataPermissionRuleCustomizer> customizers) {

View File

@@ -43,7 +43,7 @@ import static java.util.Collections.singletonList;
* 注意,使用 DeptDataPermissionRule 时,需要保证表中有 dept_id 部门编号的字段,可自定义。
*
* 实际业务场景下,会存在一个经典的问题?当用户修改部门时,冗余的 dept_id 是否需要修改?
* 1. 一般情况下dept_id 不进行修改,则会导致用户看不到之前的数据。【cloud-server 采用该方案】
* 1. 一般情况下dept_id 不进行修改,则会导致用户看不到之前的数据。【zt-server 采用该方案】
* 2. 部分情况下,希望该用户还是能看到之前的数据,则有两种方式解决:【需要你改造该 DeptDataPermissionRule 的实现代码】
* 1编写洗数据的脚本将 dept_id 修改成新部门的编号;【建议】
* 最终过滤条件是 WHERE dept_id = ?

View File

@@ -1,4 +1,4 @@
com.zt.plat.framework.datapermission.config.CloudDataPermissionAutoConfiguration
com.zt.plat.framework.datapermission.config.CloudDeptDataPermissionAutoConfiguration
com.zt.plat.framework.datapermission.config.CloudBusinessDataPermissionAutoConfiguration
com.zt.plat.framework.datapermission.config.CloudDataPermissionRpcAutoConfiguration
com.zt.plat.framework.datapermission.config.ZtDataPermissionAutoConfiguration
com.zt.plat.framework.datapermission.config.ZtDeptDataPermissionAutoConfiguration
com.zt.plat.framework.datapermission.config.ZtBusinessDataPermissionAutoConfiguration
com.zt.plat.framework.datapermission.config.ZtDataPermissionRpcAutoConfiguration

View File

@@ -20,7 +20,7 @@ import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString(exclude = {"parent"}) // 参见 https://gitee.com/cloudcode/cloud-cloud-mini/pulls/2 原因
@ToString(exclude = {"parent"}) // 参见 https://gitee.com/ztcode/zt-cloud-mini/pulls/2 原因
public class Area {
/**

View File

@@ -12,7 +12,7 @@ import java.util.Set;
*
* @author ZT
*/
@ConfigurationProperties(prefix = "cloud.tenant")
@ConfigurationProperties(prefix = "zt.tenant")
@Data
public class TenantProperties {

View File

@@ -4,7 +4,7 @@ import cn.hutool.extra.spring.SpringUtil;
import com.zt.plat.framework.common.biz.system.tenant.TenantCommonApi;
import com.zt.plat.framework.common.enums.WebFilterOrderEnum;
import com.zt.plat.framework.mybatis.core.util.MyBatisUtils;
import com.zt.plat.framework.redis.config.CloudCacheProperties;
import com.zt.plat.framework.redis.config.ZtCacheProperties;
import com.zt.plat.framework.security.core.service.SecurityFrameworkService;
import com.zt.plat.framework.tenant.core.aop.TenantIgnore;
import com.zt.plat.framework.tenant.core.aop.TenantIgnoreAspect;
@@ -53,16 +53,16 @@ import java.util.Objects;
import static com.zt.plat.framework.common.util.collection.CollectionUtils.convertList;
@AutoConfiguration
@ConditionalOnProperty(prefix = "cloud.tenant", value = "enable", matchIfMissing = true) // 允许使用 cloud.tenant.enable=false 禁用多租户
@ConditionalOnProperty(prefix = "zt.tenant", value = "enable", matchIfMissing = true) // 允许使用 zt.tenant.enable=false 禁用多租户
@EnableConfigurationProperties(TenantProperties.class)
public class CloudTenantAutoConfiguration {
public class ZtTenantAutoConfiguration {
@Resource
private ApplicationContext applicationContext;
@Bean
public TenantFrameworkService tenantFrameworkService(TenantCommonApi tenantApi) {
// 参见 https://gitee.com/zhijiantianya/cloud-cloud/issues/IC6YZF
// 参见 https://gitee.com/zhijiantianya/zt-cloud/issues/IC6YZF
try {
TenantCommonApi tenantApiImpl = SpringUtil.getBean("tenantApiImpl", TenantCommonApi.class);
if (tenantApiImpl != null) {
@@ -221,12 +221,12 @@ public class CloudTenantAutoConfiguration {
@Primary // 引入租户时tenantRedisCacheManager 为主 Bean
public RedisCacheManager tenantRedisCacheManager(RedisTemplate<String, Object> redisTemplate,
RedisCacheConfiguration redisCacheConfiguration,
CloudCacheProperties cloudCacheProperties,
ZtCacheProperties ztCacheProperties,
TenantProperties tenantProperties) {
// 创建 RedisCacheWriter 对象
RedisConnectionFactory connectionFactory = Objects.requireNonNull(redisTemplate.getConnectionFactory());
RedisCacheWriter cacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory,
BatchStrategies.scan(cloudCacheProperties.getRedisScanBatchSize()));
BatchStrategies.scan(ztCacheProperties.getRedisScanBatchSize()));
// 创建 TenantRedisCacheManager 对象
return new TenantRedisCacheManager(cacheWriter, redisCacheConfiguration, tenantProperties.getIgnoreCaches());
}

View File

@@ -8,9 +8,9 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
@ConditionalOnProperty(prefix = "cloud.tenant", value = "enable", matchIfMissing = true) // 允许使用 cloud.tenant.enable=false 禁用多租户
@ConditionalOnProperty(prefix = "zt.tenant", value = "enable", matchIfMissing = true) // 允许使用 zt.tenant.enable=false 禁用多租户
@EnableFeignClients(clients = TenantCommonApi.class) // 主要是引入相关的 API 服务
public class CloudTenantRpcAutoConfiguration {
public class ZtTenantRpcAutoConfiguration {
@Bean
public TenantRequestInterceptor tenantRequestInterceptor() {

View File

@@ -66,7 +66,7 @@ public class TenantDatabaseInterceptor implements TenantLineHandler {
}
private boolean computeIgnoreTable(String tableName) {
// 找不到的表,说明不是 cloud 项目里的,不进行拦截(忽略租户)
// 找不到的表,说明不是 zt 项目里的,不进行拦截(忽略租户)
TableInfo tableInfo = TableInfoHelper.getTableInfo(tableName);
if (tableInfo == null) {
return true;

View File

@@ -8,10 +8,10 @@
* 6. MQ在 Producer 发送消息时Header 带上 tenant-id 租户编号;在 Consumer 消费消息时,将 Header 的 tenant-id 租户编号,添加到租户上下文。
* 7. Async异步需要保证 ThreadLocal 的传递性,通过使用阿里开源的 TransmittableThreadLocal 实现。相关的改造点,可见:
* 1Spring Async
* {@link com.zt.plat.framework.quartz.config.CloudAsyncAutoConfiguration#threadPoolTaskExecutorBeanPostProcessor()}
* {@link com.zt.plat.framework.quartz.config.ZtAsyncAutoConfiguration#threadPoolTaskExecutorBeanPostProcessor()}
* 2Spring Security
* TransmittableThreadLocalSecurityContextHolderStrategy
* 和 CloudSecurityAutoConfiguration#securityContextHolderMethodInvokingFactoryBean() 方法
* 和 ZtSecurityAutoConfiguration#securityContextHolderMethodInvokingFactoryBean() 方法
*
*/
package com.zt.plat.framework.tenant;

View File

@@ -1,2 +1,2 @@
com.zt.plat.framework.tenant.config.CloudTenantRpcAutoConfiguration
com.zt.plat.framework.tenant.config.CloudTenantAutoConfiguration
com.zt.plat.framework.tenant.config.ZtTenantRpcAutoConfiguration
com.zt.plat.framework.tenant.config.ZtTenantAutoConfiguration

View File

@@ -13,7 +13,7 @@ import static com.zt.plat.framework.env.core.util.EnvUtils.HOST_NAME_VALUE;
/**
* 多环境的 {@link EnvEnvironmentPostProcessor} 实现类
* 将 cloud.env.tag 设置到 nacos 等组件对应的 tag 配置项,当且仅当它们不存在时
* 将 zt.env.tag 设置到 nacos 等组件对应的 tag 配置项,当且仅当它们不存在时
*
* @author ZT
*/
@@ -32,7 +32,7 @@ public class EnvEnvironmentPostProcessor implements EnvironmentPostProcessor {
environment.getSystemProperties().put(hostNameKey, EnvUtils.getHostName());
}
// 1.1 如果没有 cloud.env.tag 配置项,则不进行配置项的修改
// 1.1 如果没有 zt.env.tag 配置项,则不进行配置项的修改
String tag = EnvUtils.getTag(environment);
if (StrUtil.isEmpty(tag)) {
return;

View File

@@ -8,11 +8,11 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author ZT
*/
@ConfigurationProperties(prefix = "cloud.env")
@ConfigurationProperties(prefix = "zt.env")
@Data
public class EnvProperties {
public static final String TAG_KEY = "cloud.env.tag";
public static final String TAG_KEY = "zt.env.tag";
/**
* 环境标签

View File

@@ -21,7 +21,7 @@ import java.util.List;
*/
@AutoConfiguration
@EnableConfigurationProperties(EnvProperties.class)
public class CloudEnvRpcAutoConfiguration {
public class ZtEnvRpcAutoConfiguration {
// ========== Feign 相关 ==========

View File

@@ -16,7 +16,7 @@ import org.springframework.context.annotation.Bean;
@AutoConfiguration
@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)
@EnableConfigurationProperties(EnvProperties.class)
public class CloudEnvWebAutoConfiguration {
public class ZtEnvWebAutoConfiguration {
/**
* 创建 {@link EnvWebFilter} Bean

View File

@@ -1,2 +1,2 @@
com.zt.plat.framework.env.config.CloudEnvWebAutoConfiguration
com.zt.plat.framework.env.config.CloudEnvRpcAutoConfiguration
com.zt.plat.framework.env.config.ZtEnvWebAutoConfiguration
com.zt.plat.framework.env.config.ZtEnvRpcAutoConfiguration

View File

@@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
public class CloudDictAutoConfiguration {
public class ZtDictAutoConfiguration {
@Bean
@SuppressWarnings("InstantiationOfUtilityClass")

View File

@@ -11,5 +11,5 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
*/
@AutoConfiguration
@EnableFeignClients(clients = DictDataCommonApi.class) // 主要是引入相关的 API 服务
public class CloudDictRpcAutoConfiguration {
public class ZtDictRpcAutoConfiguration {
}

View File

@@ -1,2 +1,2 @@
com.zt.plat.framework.dict.config.CloudDictRpcAutoConfiguration
com.zt.plat.framework.dict.config.CloudDictAutoConfiguration
com.zt.plat.framework.dict.config.ZtDictRpcAutoConfiguration
com.zt.plat.framework.dict.config.ZtDictAutoConfiguration

View File

@@ -14,7 +14,7 @@ import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
*/
@AutoConfiguration
@EnableAsync
public class CloudAsyncAutoConfiguration {
public class ZtAsyncAutoConfiguration {
@Bean
public BeanPostProcessor threadPoolTaskExecutorBeanPostProcessor() {

View File

@@ -23,7 +23,7 @@ import org.springframework.scheduling.annotation.EnableScheduling;
@EnableConfigurationProperties({XxlJobProperties.class})
@EnableScheduling // 开启 Spring 自带的定时任务
@Slf4j
public class CloudXxlJobAutoConfiguration {
public class ZtXxlJobAutoConfiguration {
@Bean
@ConditionalOnMissingBean

View File

@@ -1,2 +1,2 @@
com.zt.plat.framework.quartz.config.CloudXxlJobAutoConfiguration
com.zt.plat.framework.quartz.config.CloudAsyncAutoConfiguration
com.zt.plat.framework.quartz.config.ZtXxlJobAutoConfiguration
com.zt.plat.framework.quartz.config.ZtAsyncAutoConfiguration

View File

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

View File

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

View File

@@ -8,7 +8,7 @@ import org.springframework.boot.context.properties.ConfigurationProperties;
*
* @author 麻薯
*/
@ConfigurationProperties("cloud.tracer")
@ConfigurationProperties("zt.tracer")
@Data
public class TracerProperties {
}

View File

@@ -16,8 +16,8 @@ import org.springframework.context.annotation.Configuration;
*/
@AutoConfiguration
@ConditionalOnClass({MeterRegistryCustomizer.class})
@ConditionalOnProperty(prefix = "cloud.metrics", value = "enable", matchIfMissing = true) // 允许使用 cloud.metrics.enable=false 禁用 Metrics
public class CloudMetricsAutoConfiguration {
@ConditionalOnProperty(prefix = "zt.metrics", value = "enable", matchIfMissing = true) // 允许使用 zt.metrics.enable=false 禁用 Metrics
public class ZtMetricsAutoConfiguration {
@Bean
public MeterRegistryCustomizer<MeterRegistry> metricsCommonTags(

View File

@@ -18,8 +18,8 @@ import org.springframework.context.annotation.Bean;
@AutoConfiguration
@ConditionalOnClass(value = {BizTraceAspect.class}, name = "jakarta.servlet.Filter")
@EnableConfigurationProperties(TracerProperties.class)
@ConditionalOnProperty(prefix = "cloud.tracer", value = "enable", matchIfMissing = true)
public class CloudTracerAutoConfiguration {
@ConditionalOnProperty(prefix = "zt.tracer", value = "enable", matchIfMissing = true)
public class ZtTracerAutoConfiguration {
// TODO @芋艿重要目前 opentracing 版本存在冲突要么保证 skywalking要么保证阿里云短信 sdk
// @Bean

View File

@@ -1,2 +1,2 @@
com.zt.plat.framework.tracer.config.CloudTracerAutoConfiguration
com.zt.plat.framework.tracer.config.CloudMetricsAutoConfiguration
com.zt.plat.framework.tracer.config.ZtTracerAutoConfiguration
com.zt.plat.framework.tracer.config.ZtMetricsAutoConfiguration

View File

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

View File

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

View File

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

View File

@@ -15,7 +15,7 @@ import org.springframework.context.annotation.Bean;
@AutoConfiguration
@Slf4j
@ConditionalOnClass(name = "org.springframework.amqp.rabbit.core.RabbitTemplate")
public class CloudRabbitMQAutoConfiguration {
public class ZtRabbitMQAutoConfiguration {
/**
* Jackson2JsonMessageConverter Bean使用 jackson 序列化消息

View File

@@ -9,7 +9,7 @@ import com.zt.plat.framework.mq.redis.core.job.RedisPendingMessageResendJob;
import com.zt.plat.framework.mq.redis.core.job.RedisStreamMessageCleanupJob;
import com.zt.plat.framework.mq.redis.core.pubsub.AbstractRedisChannelMessageListener;
import com.zt.plat.framework.mq.redis.core.stream.AbstractRedisStreamMessageListener;
import com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import lombok.extern.slf4j.Slf4j;
import org.redisson.api.RedissonClient;
import org.springframework.beans.factory.annotation.Value;
@@ -38,8 +38,8 @@ import java.util.Properties;
*/
@Slf4j
@EnableScheduling // 启用定时任务用于 RedisPendingMessageResendJob 重发消息
@AutoConfiguration(after = CloudRedisAutoConfiguration.class)
public class CloudRedisMQConsumerAutoConfiguration {
@AutoConfiguration(after = ZtRedisAutoConfiguration.class)
public class ZtRedisMQConsumerAutoConfiguration {
/**
* 创建 Redis Pub/Sub 广播消费的容器

View File

@@ -2,7 +2,7 @@ package com.zt.plat.framework.mq.redis.config;
import com.zt.plat.framework.mq.redis.core.RedisMQTemplate;
import com.zt.plat.framework.mq.redis.core.interceptor.RedisMessageInterceptor;
import com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@@ -16,8 +16,8 @@ import java.util.List;
* @author ZT
*/
@Slf4j
@AutoConfiguration(after = CloudRedisAutoConfiguration.class)
public class CloudRedisMQProducerAutoConfiguration {
@AutoConfiguration(after = ZtRedisAutoConfiguration.class)
public class ZtRedisMQProducerAutoConfiguration {
@Bean
public RedisMQTemplate redisMQTemplate(StringRedisTemplate redisTemplate,

View File

@@ -1,3 +1,3 @@
com.zt.plat.framework.mq.redis.config.CloudRedisMQProducerAutoConfiguration
com.zt.plat.framework.mq.redis.config.CloudRedisMQConsumerAutoConfiguration
com.zt.plat.framework.mq.rabbitmq.config.CloudRabbitMQAutoConfiguration
com.zt.plat.framework.mq.redis.config.ZtRedisMQProducerAutoConfiguration
com.zt.plat.framework.mq.redis.config.ZtRedisMQConsumerAutoConfiguration
com.zt.plat.framework.mq.rabbitmq.config.ZtRabbitMQAutoConfiguration

View File

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

View File

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

View File

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

View File

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

View File

@@ -20,7 +20,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement(proxyTargetClass = true) // 启动事务管理
@EnableConfigurationProperties(DruidStatProperties.class)
@EnableFeignClients(clients = SequenceCommonApi.class)
public class CloudDataSourceAutoConfiguration {
public class ZtDataSourceAutoConfiguration {
/**
* 创建 DruidAdRemoveFilter 过滤器过滤 common.js 的广告

View File

@@ -26,9 +26,9 @@ import java.util.concurrent.TimeUnit;
* @author ZT
*/
@AutoConfiguration(before = MybatisPlusAutoConfiguration.class) // 目的先于 MyBatis Plus 自动配置避免 @MapperScan 可能扫描不到 Mapper 打印 warn 日志
@MapperScan(value = "${cloud.info.base-package}", annotationClass = Mapper.class,
@MapperScan(value = "${zt.info.base-package}", annotationClass = Mapper.class,
lazyInitialization = "${mybatis.lazy-initialization:false}") // Mapper 懒加载目前仅用于单元测试
public class CloudMybatisAutoConfiguration {
public class ZtMybatisAutoConfiguration {
static {
// 动态 SQL 智能优化支持本地缓存加速解析更完善的租户复杂 XML 动态 SQL 支持静态注入缓存

View File

@@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
public class CloudTranslateAutoConfiguration {
public class ZtTranslateAutoConfiguration {
@Bean
@SuppressWarnings({"InstantiationOfUtilityClass", "SpringJavaInjectionPointsAutowiringInspection"})

View File

@@ -1,3 +1,3 @@
com.zt.plat.framework.datasource.config.CloudDataSourceAutoConfiguration
com.zt.plat.framework.mybatis.config.CloudMybatisAutoConfiguration
com.zt.plat.framework.translate.config.CloudTranslateAutoConfiguration
com.zt.plat.framework.datasource.config.ZtDataSourceAutoConfiguration
com.zt.plat.framework.mybatis.config.ZtMybatisAutoConfiguration
com.zt.plat.framework.translate.config.ZtTranslateAutoConfiguration

View File

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

View File

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

View File

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

View File

@@ -7,14 +7,14 @@ import com.zt.plat.framework.idempotent.core.keyresolver.IdempotentKeyResolver;
import com.zt.plat.framework.idempotent.core.keyresolver.impl.UserIdempotentKeyResolver;
import com.zt.plat.framework.idempotent.core.redis.IdempotentRedisDAO;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import org.springframework.context.annotation.Bean;
import org.springframework.data.redis.core.StringRedisTemplate;
import java.util.List;
@AutoConfiguration(after = CloudRedisAutoConfiguration.class)
public class CloudIdempotentConfiguration {
@AutoConfiguration(after = ZtRedisAutoConfiguration.class)
public class ZtIdempotentConfiguration {
@Bean
public IdempotentAspect idempotentAspect(List<IdempotentKeyResolver> keyResolvers, IdempotentRedisDAO idempotentRedisDAO) {

View File

@@ -8,7 +8,7 @@ import org.springframework.context.annotation.Bean;
@AutoConfiguration(before = LockAutoConfiguration.class)
@ConditionalOnClass(name = "com.baomidou.lock.annotation.Lock4j")
public class CloudLock4jConfiguration {
public class ZtLock4jConfiguration {
@Bean
public DefaultLockFailureStrategy lockFailureStrategy() {

View File

@@ -4,15 +4,15 @@ import com.zt.plat.framework.ratelimiter.core.aop.RateLimiterAspect;
import com.zt.plat.framework.ratelimiter.core.keyresolver.RateLimiterKeyResolver;
import com.zt.plat.framework.ratelimiter.core.keyresolver.impl.*;
import com.zt.plat.framework.ratelimiter.core.redis.RateLimiterRedisDAO;
import com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import org.redisson.api.RedissonClient;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
import java.util.List;
@AutoConfiguration(after = CloudRedisAutoConfiguration.class)
public class CloudRateLimiterConfiguration {
@AutoConfiguration(after = ZtRedisAutoConfiguration.class)
public class ZtRateLimiterConfiguration {
@Bean
public RateLimiterAspect rateLimiterAspect(List<RateLimiterKeyResolver> keyResolvers, RateLimiterRedisDAO rateLimiterRedisDAO) {

View File

@@ -1,6 +1,6 @@
package com.zt.plat.framework.signature.config;
import com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import com.zt.plat.framework.signature.core.aop.ApiSignatureAspect;
import com.zt.plat.framework.signature.core.redis.ApiSignatureRedisDAO;
import org.springframework.boot.autoconfigure.AutoConfiguration;
@@ -12,8 +12,8 @@ import org.springframework.data.redis.core.StringRedisTemplate;
*
* @author Zhougang
*/
@AutoConfiguration(after = CloudRedisAutoConfiguration.class)
public class CloudApiSignatureAutoConfiguration {
@AutoConfiguration(after = ZtRedisAutoConfiguration.class)
public class ZtApiSignatureAutoConfiguration {
@Bean
public ApiSignatureAspect signatureAspect(ApiSignatureRedisDAO signatureRedisDAO) {

View File

@@ -1,4 +1,4 @@
com.zt.plat.framework.idempotent.config.CloudIdempotentConfiguration
com.zt.plat.framework.lock4j.config.CloudLock4jConfiguration
com.zt.plat.framework.ratelimiter.config.CloudRateLimiterConfiguration
com.zt.plat.framework.signature.config.CloudApiSignatureAutoConfiguration
com.zt.plat.framework.idempotent.config.ZtIdempotentConfiguration
com.zt.plat.framework.lock4j.config.ZtLock4jConfiguration
com.zt.plat.framework.ratelimiter.config.ZtRateLimiterConfiguration
com.zt.plat.framework.signature.config.ZtApiSignatureAutoConfiguration

View File

@@ -19,15 +19,15 @@ import org.springframework.util.StringUtils;
import java.util.Objects;
import static com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration.buildRedisSerializer;
import static com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration.buildRedisSerializer;
/**
* Cache 配置类基于 Redis 实现
*/
@AutoConfiguration
@EnableConfigurationProperties({CacheProperties.class, CloudCacheProperties.class})
@EnableConfigurationProperties({CacheProperties.class, ZtCacheProperties.class})
@EnableCaching
public class CloudCacheAutoConfiguration {
public class ZtCacheAutoConfiguration {
/**
* RedisCacheConfiguration Bean
@@ -40,7 +40,7 @@ public class CloudCacheAutoConfiguration {
RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig();
// 设置使用 : 单冒号而不是双 :: 冒号避免 Redis Desktop Manager 多余空格
// 详细可见 https://blog.csdn.net/chuixue24/article/details/103928965 博客
// 再次修复单冒号而不是双 :: 冒号问题Issues 详情https://gitee.com/zhijiantianya/cloud-cloud/issues/I86VY2
// 再次修复单冒号而不是双 :: 冒号问题Issues 详情https://gitee.com/zhijiantianya/zt-cloud/issues/I86VY2
config = config.computePrefixWith(cacheName -> {
String keyPrefix = cacheProperties.getRedis().getKeyPrefix();
if (StringUtils.hasText(keyPrefix)) {
@@ -70,11 +70,11 @@ public class CloudCacheAutoConfiguration {
@Bean
public RedisCacheManager redisCacheManager(RedisTemplate<String, Object> redisTemplate,
RedisCacheConfiguration redisCacheConfiguration,
CloudCacheProperties cloudCacheProperties) {
ZtCacheProperties ztCacheProperties) {
// 创建 RedisCacheWriter 对象
RedisConnectionFactory connectionFactory = Objects.requireNonNull(redisTemplate.getConnectionFactory());
RedisCacheWriter cacheWriter = RedisCacheWriter.nonLockingRedisCacheWriter(connectionFactory,
BatchStrategies.scan(cloudCacheProperties.getRedisScanBatchSize()));
BatchStrategies.scan(ztCacheProperties.getRedisScanBatchSize()));
// 创建 TenantRedisCacheManager 对象
return new TimeoutRedisCacheManager(cacheWriter, redisCacheConfiguration);
}

View File

@@ -9,10 +9,10 @@ import org.springframework.validation.annotation.Validated;
*
* @author Wanwan
*/
@ConfigurationProperties("cloud.cache")
@ConfigurationProperties("zt.cache")
@Data
@Validated
public class CloudCacheProperties {
public class ZtCacheProperties {
/**
* {@link #redisScanBatchSize} 默认值

View File

@@ -14,7 +14,7 @@ import org.springframework.data.redis.serializer.RedisSerializer;
* Redis 配置类
*/
@AutoConfiguration(before = RedissonAutoConfigurationV2.class) // 目的使用自己定义的 RedisTemplate Bean
public class CloudRedisAutoConfiguration {
public class ZtRedisAutoConfiguration {
/**
* 创建 RedisTemplate Bean使用 JSON 序列化方式

View File

@@ -1,2 +1,2 @@
com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration
com.zt.plat.framework.redis.config.CloudCacheAutoConfiguration
com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration
com.zt.plat.framework.redis.config.ZtCacheAutoConfiguration

View File

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

View File

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

View File

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

View File

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

View File

@@ -16,7 +16,7 @@ import org.springframework.context.annotation.Primary;
@EnableLogRecord(tenant = "") // 貌似用不上 tenant 这玩意给个空好啦
@AutoConfiguration
@Slf4j
public class CloudOperateLogConfiguration {
public class ZtOperateLogConfiguration {
@Bean
@Primary

View File

@@ -11,5 +11,5 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
*/
@AutoConfiguration
@EnableFeignClients(clients = {OperateLogCommonApi.class}) // 主要是引入相关的 API 服务
public class CloudOperateLogRpcAutoConfiguration {
public class ZtOperateLogRpcAutoConfiguration {
}

View File

@@ -62,7 +62,7 @@ public class LogRecordServiceImpl implements ILogRecordService {
reqDTO.setType(logRecord.getType()); // 大模块类型例如CRM 客户
reqDTO.setSubType(logRecord.getSubType());// 操作名称,例如:转移客户
reqDTO.setBizId(Long.parseLong(logRecord.getBizNo())); // 业务编号,例如:客户编号
reqDTO.setAction(logRecord.getAction());// 操作内容,例如:修改编号为 1 的用户信息,将性别从男改成女,将姓名从ZT改成源码。
reqDTO.setAction(logRecord.getAction());// 操作内容,例如:修改编号为 1 的用户信息,将性别从男改成女,将姓名从芋道改成源码。
reqDTO.setExtra(logRecord.getExtra()); // 拓展字段,有些复杂的业务,需要记录一些字段 ( JSON 格式 ),例如说,记录订单编号,{ orderId: "1"}
}

View File

@@ -9,7 +9,7 @@ import jakarta.validation.constraints.NotNull;
import java.util.Collections;
import java.util.List;
@ConfigurationProperties(prefix = "cloud.security")
@ConfigurationProperties(prefix = "zt.security")
@Validated
@Data
public class SecurityProperties {

View File

@@ -24,7 +24,7 @@ import org.springframework.security.web.access.AccessDeniedHandler;
/**
* Spring Security 自动配置类主要用于相关组件的配置
*
* 注意不能和 {@link CloudWebSecurityConfigurerAdapter} 用一个原因是会导致初始化报错
* 注意不能和 {@link ZtWebSecurityConfigurerAdapter} 用一个原因是会导致初始化报错
* 参见 https://stackoverflow.com/questions/53847050/spring-boot-delegatebuilder-cannot-be-null-on-autowiring-authenticationmanager 文档
*
* @author ZT
@@ -32,7 +32,7 @@ import org.springframework.security.web.access.AccessDeniedHandler;
@AutoConfiguration
@AutoConfigureOrder(-1) // 目的先于 Spring Security 自动配置避免一键改包后org.* 基础包无法生效
@EnableConfigurationProperties(SecurityProperties.class)
public class CloudSecurityAutoConfiguration {
public class ZtSecurityAutoConfiguration {
@Resource
private SecurityProperties securityProperties;

View File

@@ -15,7 +15,7 @@ import org.springframework.context.annotation.Bean;
@AutoConfiguration
@EnableFeignClients(clients = {OAuth2TokenCommonApi.class, // 主要是引入相关的 API 服务
PermissionCommonApi.class})
public class CloudSecurityRpcAutoConfiguration {
public class ZtSecurityRpcAutoConfiguration {
@Bean
public LoginUserRequestInterceptor loginUserRequestInterceptor() {

View File

@@ -46,7 +46,7 @@ import static com.zt.plat.framework.common.util.collection.CollectionUtils.conve
@AutoConfiguration
@AutoConfigureOrder(-1) // 目的先于 Spring Security 自动配置避免一键改包后org.* 基础包无法生效
@EnableMethodSecurity(securedEnabled = true)
public class CloudWebSecurityConfigurerAdapter {
public class ZtWebSecurityConfigurerAdapter {
@Resource
private WebProperties webProperties;
@@ -137,7 +137,7 @@ public class CloudWebSecurityConfigurerAdapter {
.requestMatchers(HttpMethod.DELETE, permitAllUrls.get(HttpMethod.DELETE).toArray(new String[0])).permitAll()
.requestMatchers(HttpMethod.HEAD, permitAllUrls.get(HttpMethod.HEAD).toArray(new String[0])).permitAll()
.requestMatchers(HttpMethod.PATCH, permitAllUrls.get(HttpMethod.PATCH).toArray(new String[0])).permitAll()
// 1.3 基于 cloud.security.permit-all-urls 无需认证
// 1.3 基于 zt.security.permit-all-urls 无需认证
.requestMatchers(securityProperties.getPermitAllUrls().toArray(new String[0])).permitAll()
)
// 每个项目的自定义规则

View File

@@ -1,5 +1,5 @@
com.zt.plat.framework.security.config.CloudSecurityRpcAutoConfiguration
com.zt.plat.framework.security.config.CloudSecurityAutoConfiguration
com.zt.plat.framework.security.config.CloudWebSecurityConfigurerAdapter
com.zt.plat.framework.operatelog.config.CloudOperateLogConfiguration
com.zt.plat.framework.operatelog.config.CloudOperateLogRpcAutoConfiguration
com.zt.plat.framework.security.config.ZtSecurityRpcAutoConfiguration
com.zt.plat.framework.security.config.ZtSecurityAutoConfiguration
com.zt.plat.framework.security.config.ZtWebSecurityConfigurerAdapter
com.zt.plat.framework.operatelog.config.ZtOperateLogConfiguration
com.zt.plat.framework.operatelog.config.ZtOperateLogRpcAutoConfiguration

View File

@@ -1,2 +1,2 @@
* ZT Spring Security 入门:<http://www.iocoder.cn/Spring-Boot/Spring-Security/?cloud>
* Spring Security 基本概念:<http://www.iocoder.cn/Fight/Spring-Security-4-1-0-Basic-concept-description/?cloud>
* 芋道 Spring Security 入门:<http://www.iocoder.cn/Spring-Boot/Spring-Security/?zt>
* Spring Security 基本概念:<http://www.iocoder.cn/Fight/Spring-Security-4-1-0-Basic-concept-description/?zt>

View File

@@ -2,9 +2,9 @@ package com.zt.plat.framework.test.core.ut;
import cn.hutool.extra.spring.SpringUtil;
import com.zt.plat.framework.common.biz.system.sequence.SequenceCommonApi;
import com.zt.plat.framework.datasource.config.CloudDataSourceAutoConfiguration;
import com.zt.plat.framework.mybatis.config.CloudMybatisAutoConfiguration;
import com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration;
import com.zt.plat.framework.datasource.config.ZtDataSourceAutoConfiguration;
import com.zt.plat.framework.mybatis.config.ZtMybatisAutoConfiguration;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import com.zt.plat.framework.test.config.RedisTestConfiguration;
import com.zt.plat.framework.test.config.SqlInitializationTestConfiguration;
import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
@@ -36,18 +36,18 @@ public class BaseDbAndRedisUnitTest {
@Import({
// DB 配置类
CloudDataSourceAutoConfiguration.class, // 自己的 DB 配置类
ZtDataSourceAutoConfiguration.class, // 自己的 DB 配置类
DataSourceAutoConfiguration.class, // Spring DB 自动配置类
DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类
DruidDataSourceAutoConfigure.class, // Druid 自动配置类
SqlInitializationTestConfiguration.class, // SQL 初始化
// MyBatis 配置类
CloudMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类
ZtMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类
MybatisPlusAutoConfiguration.class, // MyBatis 的自动配置类
// Redis 配置类
RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
CloudRedisAutoConfiguration.class, // 自己的 Redis 配置类
ZtRedisAutoConfiguration.class, // 自己的 Redis 配置类
RedisAutoConfiguration.class, // Spring Redis 自动配置类
RedissonAutoConfiguration.class, // Redisson 自动配置类

View File

@@ -2,8 +2,8 @@ package com.zt.plat.framework.test.core.ut;
import cn.hutool.extra.spring.SpringUtil;
import com.zt.plat.framework.common.biz.system.sequence.SequenceCommonApi;
import com.zt.plat.framework.datasource.config.CloudDataSourceAutoConfiguration;
import com.zt.plat.framework.mybatis.config.CloudMybatisAutoConfiguration;
import com.zt.plat.framework.datasource.config.ZtDataSourceAutoConfiguration;
import com.zt.plat.framework.mybatis.config.ZtMybatisAutoConfiguration;
import com.zt.plat.framework.test.config.SqlInitializationTestConfiguration;
import com.alibaba.druid.spring.boot3.autoconfigure.DruidDataSourceAutoConfigure;
import com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration;
@@ -37,13 +37,13 @@ public class BaseDbUnitTest {
@Import({
// DB 配置类
CloudDataSourceAutoConfiguration.class, // 自己的 DB 配置类
ZtDataSourceAutoConfiguration.class, // 自己的 DB 配置类
DataSourceAutoConfiguration.class, // Spring DB 自动配置类
DataSourceTransactionManagerAutoConfiguration.class, // Spring 事务自动配置类
DruidDataSourceAutoConfigure.class, // Druid 自动配置类
SqlInitializationTestConfiguration.class, // SQL 初始化
// MyBatis 配置类
CloudMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类
ZtMybatisAutoConfiguration.class, // 自己的 MyBatis 配置类
MybatisPlusAutoConfiguration.class, // MyBatis 的自动配置类
MybatisPlusJoinAutoConfiguration.class, // MyBatis 的Join配置类

View File

@@ -34,7 +34,7 @@ public abstract class BaseGenerator {
System.out.print(prompt);
input.put("names", scanner.nextLine());
System.out.print("请输入作者名称(例如:cloud: ");
System.out.print("请输入作者名称(例如:zt: ");
input.put("author", scanner.nextLine());
System.out.print("请输入起始端口号例如8080: ");

View File

@@ -2,7 +2,7 @@ package com.zt.plat.framework.test.core.ut;
import cn.hutool.extra.spring.SpringUtil;
import com.zt.plat.framework.common.biz.system.sequence.SequenceCommonApi;
import com.zt.plat.framework.redis.config.CloudRedisAutoConfiguration;
import com.zt.plat.framework.redis.config.ZtRedisAutoConfiguration;
import com.zt.plat.framework.test.config.RedisTestConfiguration;
import org.redisson.spring.starter.RedissonAutoConfiguration;
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
@@ -33,7 +33,7 @@ public class BaseRedisUnitTest {
// Redis 配置类
RedisTestConfiguration.class, // Redis 测试配置类,用于启动 RedisServer
RedisAutoConfiguration.class, // Spring Redis 自动配置类
CloudRedisAutoConfiguration.class, // 自己的 Redis 配置类
ZtRedisAutoConfiguration.class, // 自己的 Redis 配置类
RedissonAutoConfiguration.class, // Redisson 自动配置类
// 其它配置类

View File

@@ -8,12 +8,12 @@ import java.util.Map;
import static com.zt.plat.framework.test.core.ut.GeneratorUtils.camelToKebabCase;
/**
* Cloud 模块代码生成器 - 使用 VM 模板
* Zt 模块代码生成器 - 使用 VM 模板
*
* 使用方法:
* 1. 在 IDE 中,右键运行 {@link #main(String[])} 方法
* 2. 根据提示,输入模块名,例如 "order"
* 3. 根据提示,输入作者名,例如 "cloud"
* 3. 根据提示,输入作者名,例如 "zt"
*
* @author ZT
*/
@@ -36,7 +36,7 @@ public class ModuleGenerator extends BaseGenerator {
generator.batchCreate(modules, author, startPort, "模块");
// 3. 输出完成信息
printCompletionInfo(modules, "模块", "cloud-module-{name}");
printCompletionInfo(modules, "模块", "zt-module-{name}");
}
@Override
@@ -45,7 +45,7 @@ public class ModuleGenerator extends BaseGenerator {
String dashModuleName = camelToKebabCase(moduleName);
// 定义新模块路径
Path newModuleDir = projectRoot.resolve("cloud-module-" + dashModuleName);
Path newModuleDir = projectRoot.resolve("zt-module-" + dashModuleName);
if (checkDirectoryExists(newModuleDir, dashModuleName)) {
return;
@@ -83,7 +83,7 @@ public class ModuleGenerator extends BaseGenerator {
moduleDir.resolve("pom.xml"), variables);
// 2. 创建 API 模块
Path apiDir = moduleDir.resolve("cloud-module-" + dashModuleName + "-api");
Path apiDir = moduleDir.resolve("zt-module-" + dashModuleName + "-api");
Files.createDirectories(apiDir);
// API 模块的 Java 源码目录
@@ -103,7 +103,7 @@ public class ModuleGenerator extends BaseGenerator {
enumsDir.resolve("ErrorCodeConstants.java"), variables);
// 3. 创建 Server 模块
Path serverDir = moduleDir.resolve("cloud-module-" + dashModuleName + "-server");
Path serverDir = moduleDir.resolve("zt-module-" + dashModuleName + "-server");
Files.createDirectories(serverDir);
// Server 模块的 Java 源码目录

View File

@@ -8,12 +8,12 @@ import java.util.Map;
import static com.zt.plat.framework.test.core.ut.GeneratorUtils.toPascalCase;
/**
* Cloud Server 代码生成器 - 使用 VM 模板
* Zt Server 代码生成器 - 使用 VM 模板
*
* 使用方法:
* 1. 在 IDE 中,右键运行 {@link #main(String[])} 方法
* 2. 根据提示,输入新 Server 的名称,例如 "demo-server"
* 3. 根据提示,输入作者名,例如 "cloud"
* 3. 根据提示,输入作者名,例如 "zt"
*
* @author ZT
*/

View File

@@ -87,8 +87,8 @@ mybatis-plus:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# ZT配置项,设置当前项目所有自定义的配置
cloud:
# 芋道配置项,设置当前项目所有自定义的配置
zt:
env: # 多环境的配置项
tag: ${dollar}{HOSTNAME}
security:

View File

@@ -102,13 +102,13 @@ xxl:
logpath: ${dollar}{user.home}/logs/xxl-job/${dollar}{spring.application.name} # 执行器运行日志文件存储磁盘路径
accessToken: default_token # 执行器通讯TOKEN
cloud:
zt:
info:
version: 1.0.0
base-package: ${basePackage}.module.${packageName}
web:
admin-ui:
url: http://dashboard.cloud.iocoder.cn # Admin 管理后台 UI 的地址
url: http://dashboard.zt.iocoder.cn # Admin 管理后台 UI 的地址
xss:
enable: false
exclude-urls: # 如下两个 url仅仅是为了演示去掉配置也没关系
@@ -117,7 +117,7 @@ cloud:
swagger:
title: 管理后台
description: 提供管理员管理的所有功能
version: ${dollar}{cloud.info.version}
version: ${dollar}{zt.info.version}
tenant: # 多租户相关配置项
enable: true

View File

@@ -9,8 +9,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
*
* @author ${author}
*/
@SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${dollar}{cloud.info.base-package}
@SpringBootApplication(scanBasePackages = {"${dollar}{cloud.info.base-package}.${packageName}", "${dollar}{cloud.info.base-package}.module"},
@SuppressWarnings("SpringComponentScan") // 忽略 IDEA 无法识别 ${dollar}{zt.info.base-package}
@SpringBootApplication(scanBasePackages = {"${dollar}{zt.info.base-package}.${packageName}", "${dollar}{zt.info.base-package}.module"},
excludeName = {})
public class ${applicationClassName} {

View File

@@ -114,10 +114,10 @@ logging:
# 配置自己写的 MyBatis Mapper 打印日志
${basePackage}.${packageName}.dal.dao: debug
--- #################### ZT相关配置 ####################
--- #################### 芋道相关配置 ####################
# ZT配置项,设置当前项目所有自定义的配置
cloud:
# 芋道配置项,设置当前项目所有自定义的配置
zt:
demo: false # 开启演示模式
# 附件加密相关配置
AES:

View File

@@ -115,10 +115,10 @@ logging:
${basePackage}.${packageName}.dal.dao: debug
root: info
--- #################### ZT相关配置 ####################
--- #################### 芋道相关配置 ####################
# ZT配置项,设置当前项目所有自定义的配置
cloud:
# 芋道配置项,设置当前项目所有自定义的配置
zt:
demo: false # 开启演示模式
# 附件加密相关配置
AES:

View File

@@ -65,9 +65,9 @@ spring:
repositories:
enabled: false # 项目未使用到 Spring Data Redis 的 Repository所以直接禁用保证启动速度
--- #################### ZT相关配置 ####################
--- #################### 芋道相关配置 ####################
cloud:
zt:
info:
version: 1.0.0
base-package: ${basePackage}
@@ -96,7 +96,7 @@ cloud:
swagger:
title: ${serverName}
description: ${serverDescription}
version: ${cloud.info.version}
version: ${zt.info.version}
email: xingyu4j@vip.qq.com
license: MIT
license-url: https://gitee.com/zhijiantianya/ruoyi-vue-pro/blob/master/LICENSE

View File

@@ -65,7 +65,7 @@
<dependency>
<groupId>com.zt.plat</groupId>
<artifactId>zt-spring-boot-starter-rpc</artifactId>
<!-- 目的:cloud-server 单体启动,禁用 openfeign -->
<!-- 目的:zt-server 单体启动,禁用 openfeign -->
<exclusions>
<exclusion>
<groupId>org.springframework.cloud</groupId>

View File

@@ -1 +1 @@
<https://www.iocoder.cn/Spring-Boot/Unit-Test/?cloud>
<https://www.iocoder.cn/Spring-Boot/Unit-Test/?zt>

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")

Some files were not shown because too many files have changed in this diff Show More