94 Commits

Author SHA1 Message Date
9c11b7e2e5 feat(security): 添加安全认证模块
- 新增安全认证相关的多个子模块,包括核心模块、认证模块和授权模块
- 实现了用户认证、权限控制、登录请求解析等功能
- 添加了安全认证的自动配置和相关Bean定义
- 定义了多种认证策略和处理机制,支持灵活的认证流程定制
2025-06-24 17:25:10 +08:00
1ef75d7c17 feat(cache): 新增缓存模块基础结构和功能
- 添加 CacheableEx、CacheEvictEx、CachePutEx 注解用于缓存操作
- 实现 Cache 接口定义缓存基本操作
- 添加 CacheProperties 配置类- 实现 CacheLayer、CacheException 等辅助类
- 添加缓存策略、序列化、管理器等配置类
2025-06-24 17:22:43 +08:00
a6706fd3c4 feat(context): 添加默认值序列化器和上下文持有者
- 新增 JacksonValueSerializer Bean,作为默认的值序列化器
- 新增 ContextHolder Bean,作为默认的上下文持有者
-两个 Bean 都在缺少其他实现时条件性创建
2025-06-24 17:05:05 +08:00
21b79551a5 refactor(异常处理模块): 更新依赖项范围
- 将 Webmvc.DTO 模块的依赖项范围从 implementation 改为 api- 添加 TRACE.STARTER 模块为 api 依赖项
-移除 springBoot.autoconfigure 的 implementation依赖项
2025-06-22 20:15:36 +08:00
bdba342daa feat(trace): 添加请求上下文贡献者 Bean
- 新增 requestContributor 方法,创建 ContextFieldContributor 实例
- 定义请求上下文中需要维护的字段集合- 优化 TraceRequestIdProvider 方法的注释说明
2025-06-22 20:13:26 +08:00
ed8bb7cc91 refactor(trace): 重构 TraceRequestIdProvider 并调整依赖
- 在 TraceAutoConfiguration 中添加 ContextHolder依赖
- 更新 traceRequestIdProvider 方法以使用 ContextHolder
- 修改 TraceRequestIdProvider 类以使用 ContextHolder- 调整 forgeboot-trace-impl 的构建配置,将 context-starter 依赖改为 compileOnly
- 移除 forgeboot-trace-impl 中的 spring-boot-configuration-processor 依赖
2025-06-22 20:11:29 +08:00
f6794fd14f refactor(context): 重构上下文过滤器配置
- 为 ContextWebFilter 和 ContextServletFilter 添加 ContextHolder 参数
- 优化了上下文过滤器的创建逻辑,提高灵活性和可扩展性
2025-06-22 20:02:09 +08:00
7a6c371aa3 feat(context): 重构上下文管理并添加序列化支持
- 新增 ContextHolder 类,替换原有的 StringContextHolder 对象
- 实现上下文值的序列化和反序列化
- 更新相关过滤器和装饰器以使用新的 ContextHolder- 添加获取指定类型值的方法- 实现 Context 接口的扩展方法,支持操作符重载
2025-06-22 20:01:12 +08:00
92b3eedb38 feat(core-serialization): 添加 Jackson序列化支持
- 新增 SerializerException 异常类用于处理序列化相关错误
- 实现 JacksonValueSerializer 类,提供基于 Jackson 的对象序列化和反序列化功能
- 定义 ValueSerializer 接口,规范序列化和反序列化方法
- 添加 Jackson 相关依赖到 build.gradle.kts 文件
- 创建 .gitattributes 和 .gitignore 文件,配置项目版本控制忽略项
2025-06-22 20:00:55 +08:00
82f2a50f48 build: 更新 Gradle 版本并添加新依赖
- 将 Gradle 版本从 8.12 升级到8.14
- 新增 jjwt、gradleMavenPublishPlugin、spring-security、redis等依赖
- 更新部分现有依赖的版本
2025-06-22 19:57:56 +08:00
d980363a33 build: 注释掉 Gitea 私服配置
- 注释掉了 config/repositories.gradle.kts 文件中的 Gitea 私服配置代码块
- 保留了阿里云 Maven 仓库的配置
2025-06-22 19:57:46 +08:00
05ab150b8e refactor(forgeboot-webmvc): 移除 WebMvcExceptionProperties 中未使用的 enable 属性
- 删除了 WebMvcExceptionProperties 类中未使用的 enable 属性
-简化了配置结构,提高了代码的可维护性
2025-06-09 21:14:12 +08:00
6fcf5d6d40 refactor(webmvc-dto):优化页面查询扩展和响应对象- 在 PageQueryExtensions 中添加对字段不存在的容错处理
- 在 R 类中添加 success 方法,简化成功响应对象的创建
2025-06-09 19:31:15 +08:00
8a449467ab refactor(webmvc): Optimize deletion logic
- Removed unnecessary log imports
- Removed redundant error log output
2025-06-05 18:16:24 +08:00
96469ac1e3 feat(BaseResult): Adding toString method to BaseResult class
- Added override fun toString() method in BaseResult class
- This method can display all properties of the BaseResult object in a string
- Adding toString method helps debugging and logging, improving code maintainability
2025-06-05 18:16:03 +08:00
05a8d3d409 build: Update project structure and configuration - Remove related files from the forgeboot-webflux module
-Refactor settings.gradle.kts file to optimize project configuration and structure
- Add forgeboot-context, forgeboot-core, forgeboot-i18n and forgeboot-trace modules
- Update project dependency management and plug-in configuration
2025-06-05 16:11:54 +08:00
2258f26544 build: Add spring-boot-autoconfigure dependency
Add spring-boot-autoconfigure dependency to use the autoconfiguration feature in your build configuration.
2025-06-05 16:10:12 +08:00
c3f4b6973c feat(build): Add forgeboot-context module
- Added a Context object, defining the module path related to forgeboot-context
-Includes four submodules: starter, api, impl and autoconfigure
2025-06-05 16:09:53 +08:00
6c30120016 build(forgeboot-webmvc): Add Spring Boot Dependencies
- Introducing Spring Boot dependency management platform - Adding Spring Boot automatic configuration module
- Keep existing project dependency structure unchanged
2025-06-05 16:09:37 +08:00
806cefd248 build(logger): Update log module dependency version
- Add Spring Boot dependent platform version
- Update Spring Boot starter aop dependency
- Add Spring Boot autoconfigure dependency
- Keep Spring Boot starter web dependencies unchanged
2025-06-05 16:09:22 +08:00
6942de1320 build(exception-i18n): Add Spring Boot Autoconfiguration Dependencies
- Add Spring Boot dependency platform and autoconfiguration dependencies in the build.gradle.kts file
- The addition of these dependencies helps to enhance project configuration and management capabilities
2025-06-05 16:09:08 +08:00
69c59aeba5 build(exception): Update exception module dependencies and add Spring Boot related configurations - Add Spring Boot dependency management platform
- Introducing Spring Boot Auto-Configuration
- Adjust the dependency order and optimize the project structure
2025-06-05 16:08:44 +08:00
37309f5b15 feat(dto): Add toString methods for PageQueryReq and PageResult classes - Add toString methods in PageQueryReq class to print the object's property information
- Add toString method to the PageResult class to print attribute information of paging results
- The addition of toString method is easy to debug and log, improving the maintainability of the code
2025-06-05 16:08:02 +08:00
0e74483168 feat(trace): Refactoring the tracking module - Remove the ignorePatten property in TraceProperties
- Delete FeignTraceAutoConfiguration, WebClientTraceAutoConfiguration, and RequestIdTaskDecorator
- Refactor TraceAutoConfiguration and use ContextFieldContributor to replace the original filters and interceptors
- Remove the RequestIdUtil class and use StringContextHolder to replace thread local storage
- Update TraceRequestIdProvider and use ContextFieldContributor to provide the request ID
- Remove useless extension functions and filter classes
2025-06-05 16:07:41 +08:00
b90048a57d build(forgeboot-i18n-autoconfigure): Update project dependency configuration - Move dependencies from the core-extension module to implementation configuration - Add spring-boot-autoconfigure dependencies
- Update other dependencies to adapt to project structure changes
2025-06-05 16:07:11 +08:00
ebe801f6bb feat(context): Core functions of context propagation
- Added FieldDef class to define field properties
- Create Scope enumeration class, define the context storage location
- Implement AbstractContext and Context interfaces
- Add the ContextFieldContributor interface and the FieldRegistry interface
- Implement context processors: HeaderProcessor, GeneratorProcessor, MdcProcessor, ReactorProcessor
- Add context filters: ContextServletFilter, ContextWebFilter
- Implement the automatic configuration class ForgeContextAutoConfiguration
- Add StringContextHolder
- Implement the default field registry DefaultFieldRegistry
2025-06-05 16:06:44 +08:00
446b859a8a build: ADD PROJECT INFORMATION TO THE MANIFEST FOR THE JAR PACKAGE. MF- Add task configuration in build.gradle.kts, MANIFEST generated for jar package. Add the project name and version information to the MF file
- New attributes:
  - Implementation-Title: The name of the project
  - Implementation-Version: The version of the project
2025-06-04 10:52:33 +08:00
2753c27dca refactor: Remove the app name configuration from the app properties file
Removed the configuration items in the application.properties spring.application.name file of the Forgeboot-Trace-API and ForgeBoot-Trace-Impl modules. This configuration, which could lead to duplicate definitions of app names, has been removed from both modules to address possible name conflicts.
2025-06-04 10:51:58 +08:00
cd268c4d35 build:Remove the application.properties file for the internationalization module
- Removed the application.properties files in the ForgeBoot-i18N-API and ForgeBoot-i18N-IMPL modules
- These files only contain spring.application.name attributes and may not need to be configured separately
2025-06-04 10:51:35 +08:00
1bb8c40a70 chore: Remove the application.properties file from the forgeboot-banner-impl module
- Removed the application.properties file in the src/main/resources directory of the forgeboot-banner-impl module
- The file contains only the spring.application.name attribute and may have little impact on the overall functionality
2025-06-04 10:51:20 +08:00
7388883d70 feat(module): Add forgeboot-banner module
- Added forgeboot-banner module, including API, implementation and launcher submodules
- Update the project structure and integrate new modules into the root project
- Fixed a spelling error in exception-i18n module name
2025-06-03 15:15:15 +08:00
3821c8b8c7 feat(spec): Add solid soft delete function
- Add softDelete method to the CrudServiceSpec interface to soft delete entities
- Implement softDelete method in the CrudServiceImplSpec class, including finding entities, marking delete status, and updating entities
- Added setDeleted abstract method, and implements specific tag deletion logic from subclasses
- Add log records, output error message when the corresponding entity cannot be found
- Introduce log extension functions and Core. EXTENSION module
2025-06-03 15:14:05 +08:00
bf63580581 feat(dto): Enrich data conversion interface and add list copy methods
- Added copyList method to BaseMapper interface to convert object list in batch
- Added partialUpdate method in the ConversionMapper interface to partially update entity objects
- Optimized interface document annotations, clarifying the function and parameter meaning of the method
- Adjusted the order of generic parameters to improve code readability
2025-06-03 15:11:18 +08:00
799ae091c9 refactor(trace): Move TraceProperties from impl to api module
- Move the TraceProperties.kt file from the forgeboot-trace-impl module to the forgeboot-trace-api module
- Update package references in related modules
- Add necessary dependencies in the forgeboot-trace-api module
2025-06-03 15:10:43 +08:00
7cf739fca0 refactor(i18n):Reconstructing international modules
- Move I18nProperties from impl package to api package
- Update the build configuration of the api package and add Spring Boot Configuration Processor dependencies - Remove unused Spring Cloud dependencies in the api package
- Update package references in automatic configuration and implementation classes
2025-06-03 15:09:35 +08:00
bd03558440 feat(banner): Add Forge Banner Module
- Added Banner module, including API, implementation and automatic configuration components
- Add banner configuration properties and policy enumeration
- Implement configurable banner provider class
- Create necessary project structures and configuration files
2025-06-03 15:09:03 +08:00
58593f7b21 feat(build): Optimize project construction and add international support
- Add Kotlin JVM plugin and configure source code and documentation Jar
- Added international support module
- Updated project version and naming
- Remove redundant source code task configuration
2025-05-31 22:43:49 +08:00
6e6099b02b refactor(webmvc): Optimize pagination query logic
- Introduce resolvePageable method to parse page requests and return Pageable objects
- Subclasses can now override resolvePageable method to customize paging logic
- Modify the findAll and findAllMapped methods and use the new resolvePageable method for pagination query
2025-05-31 22:43:32 +08:00
5c74c42a24 feat(dto): Added extension function and mapper interface
- Added the PredicateExtensions.kt file to provide extension functions for the Predicate list
- Added BaseMapper.kt file to define the base mapper interface
- Added ConversionMapper.kt file to define the conversion mapper interface between entity and DTO
- Modify the DeleteByIdsReq class to open class - Modify the PageQueryReq class to change the date type from LocalDateTime to Instant
- Modify the R class and ResponseInformation interfaces, change the response status code type from String to Int- Add mapstruct dependency in build.gradle.kts
2025-05-31 22:43:14 +08:00
7c914e23af refactor(webmvc-exception):Refactoring the Web MVC exception handling module
- Removed international configuration and processing logic
- Optimized error message copy
- Simplified configuration property structure
- Updated exception handling logic, unified error code and error message handling method
- Added automatic configuration of modules
2025-05-31 22:42:40 +08:00
78ca098488 feat(webmvc): Add an international exception handling module
- Added exception-i18n module to handle international exceptions
- Reconstruct the original exception module and change it to exception-i18n
- Added WebMvcExceptionAutoConfiguration class to realize automatic configuration of international exceptions
- Added GlobalException and InternalException classes for global exception handling
- Added GlobalExceptionHandler class to realize international global exception handling
- Update the project structure and add necessary dependencies and configurations
2025-05-31 22:42:18 +08:00
567e7cc2b7 refactor(trace): Refactoring the TraceAutoConfiguration class
- Separate Feign and WebClient-related configurations into separate configuration classes
- Added FeignTraceAutoConfiguration and WebClientTraceAutoConfiguration classes
- Optimized the use of conditional annotations and improved configuration flexibility
- Added logging to facilitate tracking of configuration loading
2025-05-31 22:41:39 +08:00
050c611dd6 refactor(i18n):Optimize international message source configuration
-Remove the name definition of the MessageSource bean and use the default name
-Simplified the parameters of the i18nMessageResolver method, and directly use the MessageSource type
- Unused constants MESSAGE_SOURCE_BEAN_NAME were removed
2025-05-31 22:41:20 +08:00
ad837f5d17 build:Remove source code tasks and add MapStruct dependencies
- Deleted the config/tasks/sourceTask.gradle.kts file, removed the task of creating source jar files
- Added MapStruct dependency in gradle/libs.versions.toml, version 1.6.3
2025-05-31 22:40:48 +08:00
98573e5860 refactor(i18n):Remove internationalization messages and adjust validation annotations
- Removed internationalized message references in the DeleteByIdsReq and PageQueryReq classes
- Removed the corresponding entry in the associated messages.properties file
- Validation annotations are retained, but specific error messages are removed
2025-05-30 14:35:21 +08:00
439e00552e feat(exception): Added support for internationalization exception handling
- Added the WebMvcExceptionI18nProperties class to configure internationalization-related properties
- Modify the WebMvcExceptionProperties class and add the enable property to control whether internationalization is enabled
- The I18nGlobalExceptionHandler class is added to handle internationalization exceptions
- Modify the GlobalExceptionHandler class to support non-internationalization exception handling
- The I18nGlobalException and I18nInternalException classes have been added for internationalization exceptions
- Modify the InternalException class to simplify the structure of the internal exception
2025-05-30 14:21:26 +08:00
ba88f3e9d3 refactor(webmvc-dto):Reconstruct the response object system
- The BaseResult class has been added as a basic unified response encapsulation class
- Added I18nResult class to provide response encapsulation for internationalization support
- Refactor the R class so that it inherits from BaseResult
- Added the ResponseInformation API to define the standard structure of response information
- Added ResultExtender Fun Interface for extended result mapping
2025-05-30 14:04:39 +08:00
fff96d18bb refactor(i18n):Rename interfaces and classes to improve code clarity
- Rename the InternalInformation interface to I18nInternalInformation
- Rename the ResponseInformation interface to I18nResponseInformation
- Update the relevant references in the I18nBaseException class
2025-05-30 14:04:17 +08:00
3893d2ec38 refactor: Fixed the project name of the validation module
Change the project name of the validation module from "forgeboot-validation" to "forgeboot-webmvc-validation",
to maintain consistency with other module naming and enhance the maintainability of the project.
2025-05-30 14:03:55 +08:00
e2cc447ae3 refactor(dto): Rename the extension class suffix to make it more consistent with naming conventions 2025-05-29 22:45:57 +08:00