52 Commits

Author SHA1 Message Date
b4180f29b0 feat(webmvc): 添加 Jimmer规范实现 2025-08-02 04:06:54 +00:00
8ffd18961f refactor(spec-jpa): 重命名 isSoftDeleted 方法以提升代码可读性
- 将抽象方法 isSoftDeleted(entity: Entity) 重命名为 isSoftDeletedByEntity(entity: Entity)
- 更新了相关文档注释,保持代码清晰易懂
2025-07-25 14:32:48 +08:00
307908b923 refactor(spec): 重构规范模块以提高可维护性和扩展性- 重新组织代码结构,将通用逻辑移至 spec-core 模块
- 新增 QueryComponentExtensions、SortableExtensions 等扩展函数
- 重构 JpaCrudServiceSpec 接口,使其继承自通用的 CrudServiceSpec
-优化 JpaCrudServiceImplSpec 抽象类,增加软删除相关方法
- 新增 SimpleJpaCrudServiceImplSpec 类,提供不支持软删除的简单实现
2025-07-25 14:29:31 +08:00
1432b2380b refactor(webmvc): 重构 Web 项目通用 CRUD 接口规范模块
- 将 `forgeboot-webmvc-spec` 模块拆分为 `spec-core` 和 `spec-jpa` 两个子模块- 重新组织代码结构,提高模块化和可维护性
- 更新包名和类名,使其更加清晰和一致
- 移除冗余代码,优化接口定义
2025-07-24 22:14:21 +08:00
f3b571bf96 feat(plugin) 添加插件支持 2025-07-24 08:11:34 +00:00
ace61952dd refactor(dto): 重构数据传输对象和查询相关类 2025-07-19 09:59:49 +00:00
3bfcf98e21 ci: 添加 GitLab CI/CD 配置并实现自动化流程- 新增 .gitlab-ci.main.yml、.gitlab-ci.other.yml 和 .gitlab-ci.test.yml 文件
- 实现了 build、tag、publish、reset 和 mirror等阶段的自动化流程
- 添加了 check 和 test 分支的构建和发布配置
- 更新了 build.gradle.kts 和 settings.gradle.kts 文件,调整了项目配置
- 新增 MdcContextElement 和 CoroutineMdcWebFilter 类,用于协程中的 MDC 上下文传播
2025-07-16 12:16:32 +08:00
3eb5ba6239 refactor(forgeboot-webmvc): 优化 R 类文档注释- 为 R 类添加类级别的文档注释,说明其用途和包含的属性
- 为 buildExtraMap 方法添加详细的文档注释,解释其功能和参数
- 为 success 和 failure 方法添加详细的文档注释,解释其功能、参数和返回值
- 优化文档注释的格式和内容,提高代码可读性和维护性
2025-06-26 22:25:35 +08:00
21b79551a5 refactor(异常处理模块): 更新依赖项范围
- 将 Webmvc.DTO 模块的依赖项范围从 implementation 改为 api- 添加 TRACE.STARTER 模块为 api 依赖项
-移除 springBoot.autoconfigure 的 implementation依赖项
2025-06-22 20:15:36 +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
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
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
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
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
e2cc447ae3 refactor(dto): Rename the extension class suffix to make it more consistent with naming conventions 2025-05-29 22:45:57 +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
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
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
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
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
051c0e44da refactor(forgeboot-webmvc): 移除 VersionAutoConfiguration 中未使用的 WebMvcConfigurer 导入移除了 VersionAutoConfiguration.kt 文件中未使用的 WebMvcConfigurer 导入语句,简化了代码结构并提高了代码的可读性。 2025-05-09 18:07:41 +08:00
0920a83e1c feat(version): Cross-domain configuration is supported for API version request mappings
- Inject VersionProperties and CorsConfigurationSource in VersionAutoConfiguration
- Updated the apiVersionRequestMappingHandlerMapping method to add support for cross-origin configuration
- Remove unnecessary comments from R classes
2025-05-09 17:40:47 +08:00
gewuyou
15709c6516 refactor(projectStructure):Adjust dependencies and module configuration - Remove duplicate Spring Boot BOM configurations from each module
- Delete API dependencies in modules such as forgeboot-core, forgeboot-i18n
- Add submodule dependencies in the root project
- Optimize settings.gradle.kts, add forgeboot-webflux module
2025-05-02 14:13:27 +08:00
gewuyou
47691cd605 feat(webmvc): Improve the priority of API version mapping processing
Make sure it executes before all other request mapping handlers by setting the order property of ApiVersionRequestMappingHandlerMapping to Int.MIN_VALUE. This ensures that version control requests are processed first, and improves the system's response speed and efficiency.
2025-05-02 12:20:57 +08:00
gewuyou
e6f70b0e74 feat(version): Add version attribute configuration and dynamically set API prefix - Add VersionProperties class to configure version-related attributes
- Enable VersionProperties configuration in VersionAutoConfiguration
- Modify ApiVersionRequestMappingHandlerMapping to use the configured API prefix
2025-05-02 12:10:39 +08:00
gewuyou
fc8bea06b3 feat(webmvc): Add method logging and configure Spring Boot AOP
- Added MethodRecording annotation to record method execution information
- Implement MethodRecordingAspect for method recording
- Add LoggerAutoConfiguration Automatic Configuration Class
- Introduce CoroutineLogger coroutine log object - Update dependencies and configure Spring Boot AOP
2025-04-26 23:47:02 +08:00