75 Commits

Author SHA1 Message Date
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
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