121 Commits

Author SHA1 Message Date
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
48eab9c7db feat(core-extension): Add extension functions for exception handling and enumeration transformations
- Added tryOrNull and tryOrFallBack extension functions for graceful exception handling
- A new enumValueOfOrNull extension function is added to safely convert strings to enumerated values
- Rename Logger.kt to LoggerExtensions.kt to better reflect its role as a log extension class
- Updated build.gradle.kts to change slf4j-api dependencies to compileOnly to reduce runtime dependencies
2025-05-29 22:43:24 +08:00
ab035cce14 refactor(webmvc): Optimized the naming of CRUD interface methods
- Rename the delete method to deleteById to explicitly delete by ID
- Rename the delete(ids) method to deleteByIds, explicitly indicating bulk deletion- Rename the delete(entity) method to deleteByOne, explicitly deleting a single entity
- Rename the delete(entities) method to deleteByAll to explicitly delete entities in bulk
- Removed unused MapStruct dependencies
2025-05-29 22:31:13 +08:00
530936b76a chore(forgeboot-webmvc/logger): Add a project profile
- Added .gitattributes file for config file line terminators and binary file processing
- Added a .gitignore file to ignore project build output and IDE-related files
2025-05-29 22:15:55 +08:00
b4cfc9865c feat(spec): Add CRUD services and repository specifications
- Added the CrudRepositorySpec API to define CRUD operations and normalized queries
- Implement the CrudServiceImplSpec class to provide a generic implementation of CRUD services
- Define the CrudServiceSpec interface to standardize the operation of the CRUD service
- Add .gitattributes and .gitignore files to configure the code style and ignore files
- Create a build.gradle.kts file and add project dependencies
2025-05-29 22:15:32 +08:00
1fa28e4c57 feat(exception): Add a global exception handling module
- Added the WebMvcExceptionProperties class to configure exception handling related properties: Create the WebMvcExceptionAutoConfiguration class for automatic configuration
- Add the GlobalException and InternalException classes as the base classes for global and internal exceptions
- Implement the GlobalExceptionHandler class to handle all kinds of exceptions in a unified manner
- Added internationalization support and created multilingual message files
- Configure the Gradle build script and project structure
2025-05-29 22:13:43 +08:00
ff8593007d feat(webmvc-dto): Add a pagination extension function and update internationalization support - A new PageExtension.kt file has been added to provide conversion from Page objects to PageResult objects
- Added the PageResultExtension.kt file to provide the mapping and conversion function of pagination results
- Updated internationalization message references in the DeleteByIdsReq and PageQueryReq files
- Modify the R.kt file to add default success and failure response information objects
- Simplified project structure by removing redundant internationalized message files
2025-05-29 22:13:20 +08:00
d357a3d754 feat(i18n):Added the method of obtaining internationalization message parameters and optimized exception handling
- The responseI8nMessageArgs property is added to the ResponseInformation API to obtain the internationalization message parameters
- Rename the I18nBaseException file to change its implementation language from Java to Kotlin
- Update the errorI18nMessageArgs property in I18nBaseException so that it returns as a nullable array
2025-05-29 22:12:48 +08:00
35a0f5eb32 feat(i18n): Added internationalization support and common error message definitions
- Added message attribute files in Chinese, English, and Chinese simplified
- Error messages for paginated queries, result responses, and delete operations are defined
- Provide the basis for subsequent internationalization support and error handling
2025-05-29 19:37:17 +08:00
7b020fc6d4 refactor(build): Refactored module definition and unified internationalized object naming
- Refactored Webmvc object to define versions and log starters separately
- Add DTO and Validation module definitions
- Remove Common objects, possibly configured separately elsewhere
- Unified I18n object naming to improve code consistency
2025-05-28 23:51:49 +08:00
fa9a5f9039 build(forgeboot-i18n): Update Module References and Dependencies - Changed I18N module references to I18n (case correction)
- Add the kotlin-reflect dependency to libs.versions.toml
- Add the spring-boot-starter-data-jpa dependency to libs.versions.toml
2025-05-28 23:50:51 +08:00
6ea0bab287 refactor(webmvc): Refactored the WebMvc version module
- Migrating Java code to Kotlin - Updating project structure and naming
- Add Git-related files
- Adjust the build configuration
2025-05-28 23:49:28 +08:00
d8fe54db38 feat(validation): Add data validation annotations and utility classes
- Added annotations such as ValidatedForAdd and ValidatedForUpdate for verification of different operations
- Add a ValidationGroups object to define the validation grouping interface
- Implement the ValidationUtils utility class to provide validation functionality
- Create .gitattributes and .gitignore files to standardize the code repository
- Add dependencies related to build.gradle.kts configuration validation
2025-05-28 23:48:24 +08:00
d31e47d1f8 feat(dto): Added DTO classes related to pagination query and delete requests
- The SortDirection enumeration class has been added to sort directions
- Added the PageQueryReq pagination query request class
- Added the DeleteByIdsReq deletion request class
- Added the DynamicSpecificationBuilder dynamic query building tool class
- Added the PageResult pagination result class
- Added the R Unified Response Encapsulation class
- Added the SortCondition sorting condition class
- Added relevant internationalization resource files
2025-05-28 23:46:48 +08:00
b41d9b5c46 build: Delete deprecated public modules
- Remove the forgeboot-common-result module
- Delete the relevant source code files and build configurations
- Includes modules: API, IMPL, build.gradle.kts, etc
2025-05-28 21:58:48 +08:00
b58cb6b339 build(gradle): Update the project build configuration
- Remove invalid Maven repositories
- Add the Kotlin kapt plugin
- Modify the version number increment rule
- Update the submodule name and structure
- Adjusted the inclusion of the internationalization (i18n) and trace modules
- Remove references to common modules
2025-05-28 21:58:18 +08:00
b44b5a1570 feat(i18n): Refactored the internationalization module and added Gradle plugin support
- Added I18nKeyGenPlugin Gradle plugin for generating internationalization key files - Refactoring the internationalization module to separate the API and implementation code
- Updated the project structure to create new submodules to support internationalization
- Modify the build configuration to add the necessary dependencies and properties
2025-05-28 21:57:51 +08:00
48228574be refactor(trace): Refactoring the tracking module and migrating to a new location
- Migrated the RequestIdProvider interface from the forgeboot-common-result module to the forgeboot-trace-api module
- Refactored the TraceAutoConfiguration class to use a new package structure
- Create the forgeboot-trace-api, forgeboot-trace-autoconfigure, and forgeboot-trace-impl modules
- Update the location of the relevant classes and files to accommodate the new module structure
2025-05-28 21:56:57 +08:00
88f016dad2 feat(webmvc): Add API suffix configuration and optimize version mapping - Rename VersionProperties to WebMvcVersionProperties
- Add the apiSuffix property to configure the API suffix
- Update VersionAutoConfiguration and ApiVersionRequestMappingHandlerMapping to support the new configuration
- Optimized the version mapping logic to support the combination of prefix and suffix
2025-05-16 12:11:12 +08:00
0ca32efc02 feat(version): The API version management feature is optimized
- Adjust the VersionAutoConfiguration class to move dependency injection into the method parameters
- Add Int.MIN_VALUE as the priority of the API version request mapping, ensuring that it is higher than the default mapping
- Change the configuration prefix of VersionProperties to "forgeboot.version"
2025-05-09 21:35:16 +08:00
b1811f5941 refactor(webmvc): Refactoring the cross-domain configuration of version request mappings - Removed the injectCors method in the VersionAutoConfiguration class
- Set corsConfigurationSource directly in the apiVersionRequestMappingHandlerMapping method
- Removed unnecessary mapping attributes
2025-05-09 20:30:17 +08:00
ae09ddbd8a refactor(webmvc): Optimized the creation logic of API version request mapping handler mappings
- After you create an ApiVersionRequestMappingHandlerMapping instance, assign it to the mapping variable
- This change may help to better manage request mapping, handler mapping, and improve maintainability of your code
2025-05-09 20:17:29 +08:00
f13b21e640 feat(version): Add log output to track cross-domain configuration injections
- Added log output to the injectCors function to log when the cross-domain configuration is injected
2025-05-09 19:53:51 +08:00
da3bd2f714 refactor(forgeboot-webmvc): Removing the unused WebMvcConfigurer import in VersionAutoConfiguration removes the unused WebMvcConfigurer import statement from the VersionAutoConfiguration.kt file, simplifying the structure of the code and improving the readability of the code. 2025-05-09 19:51:41 +08:00