Commit Graph

16 Commits

Author SHA1 Message Date
75681 1a971abbb1 修复Spring注解冲突和参数绑定问题
解决问题:
- 修复"No primary or single unique constructor found for interface java.util.Map"运行时错误
- 消除8个控制器的通配符导入引起的注解冲突
- 提升代码类型安全性和标准合规性

主要修改:
1. 控制器注解修复 (8个文件):
   - 将通配符导入(import org.springframework.web.bind.annotation.*)改为显式导入
   - 消除Spring @RequestBody与Swagger @RequestBody的注解歧义
   - 涉及: RepairController, AssignController, EngineerController, RepairTodoController等

2. 类型安全改进:
   - AssignController: 创建TaskListQuery DTO替换不安全的Map参数
   - 更新相关服务层、Mapper接口和XML查询以支持新DTO
   - 移除Map<String,Object>反模式,提升安全性

3. 配置修复:
   - application-prod.yml: 添加allow-circular-references=true解决循环依赖
   - 确保dev和prod环境配置一致性

4. 代码清理:
   - TaskHandleController: 清理未使用的导入
   - UserController: 移除冲突的Swagger RequestBody导入

技术收益:
- 消除了影响50%控制器类的系统性注解冲突问题
- 提升API参数类型安全性和验证能力
- 符合Java开发标准的显式导入最佳实践
- 解决了dev/prod环境切换时的运行时错误
2025-08-13 11:56:51 +08:00
75681 ad9efdbdd8 修复内容:
- UserController.java:25-30 - 将通配符导入改为显式导入
  - UserController.java:85-86 - 使用完全限定名消除Swagger注解歧义
  - 确保Spring的@RequestBody正确绑定Map参数
2025-08-13 11:19:59 +08:00
75681 c01bec129f 完成Entity和DTO/Query对象SpringDoc注解迁移
完成SpringFox到SpringDoc OpenAPI迁移的最后两个阶段:

## Entity实体类迁移(13个文件)
- 迁移229个@Schema注解,涵盖所有业务实体
- base模块:Dict, TaskFile, TaskHandle, TaskList
- leaderassign模块:Assign(领导交办详情)
- org模块:Engineer(运维工程师)
- repair模块:Notification, Repair, RepairFile, RepairHandle, RepairLabel, RepairSummary, RepairTodo

## DTO/Query对象迁移(4个文件)
- 迁移69个@Schema注解,优化API请求/响应文档
- BaseListQuery:基础查询参数父类
- RepairTodoListQuery:运维报障列表查询(最复杂,32个字段)
- AssignHandleQuery:分配处理查询
- TaskAssignVo:任务分配视图对象

## 迁移成果
- 零SpringFox注解残留,100%清理完成
- 438个SpringDoc注解正确添加和配置
- Maven编译通过,功能完整性验证
- 支持OpenAPI 3.0规范,API文档现代化完成

SpringFox到SpringDoc OpenAPI迁移项目全面完成!
2025-08-13 10:59:51 +08:00
75681 2f87ca297e 完成SpringFox到SpringDoc OpenAPI迁移
- 更新pom.xml依赖:移除SpringFox,添加SpringDoc OpenAPI 1.8.0
- 新增SpringDocOpenApiConfig配置类替换SwaggerKnife4j
- 移除application-dev.yml中重复的group-configs配置
- 迁移所有Controller注解:@Api→@Tag,@ApiOperation→@Operation
- 转换复杂注解:@ApiOperationSupport,@DynamicResponseParameters
- 处理参数注解:@ApiImplicitParam→@Parameter,@ApiParam→@Parameter
- 保持Knife4j兼容性,维护API文档完整性
- 验证Maven编译成功,支持OpenAPI 3.0规范

涉及16个Controller,80+个方法的注解迁移
2025-08-13 10:15:50 +08:00
75681 7898dbebe3 更新Readme 2025-08-13 09:12:20 +08:00
75681 2ca07a12aa 移除了YAML中的重复组配置,保持Java Bean配置 2025-08-12 20:34:57 +08:00
75681 26445b86f7 修复MyBatis字段映射冲突和数据库连接问题
问题修复:
- 修复Engineer实体类字段映射冲突:统一使用小写下划线字段名
- 解决"字段user_id不存在"的MyBatis映射错误
- 修改所有@TableField注解从大写改为小写格式
- 表名从ENGINEER改为engineer以匹配数据库约定

功能增强:
- 添加应用启动时数据库连接信息打印功能
- 增强数据库连接诊断和ENGINEER表访问测试
- 新增DatabaseTestController用于数据库连接和表结构测试

技术改进:
- 解决mapUnderscoreToCamelCase配置与@TableField注解冲突
- 优化错误日志记录和诊断信息
- 增强应用启动时的数据源验证功能

修改文件:
- Engineer.java: 字段映射注解全部改为小写下划线
- DevOpsApplication.java: 新增数据库连接信息打印
- DatabaseTestController.java: 新增数据库测试接口
- 配置文件优化和错误处理增强
2025-08-12 19:26:43 +08:00
75681 a12d628b8f 实现可配置错误日志捕获和管理系统
新增功能:
- 全局错误日志捕获系统,支持启动、运行时、数据库、业务错误分类
- 完整的配置开关控制(error-log.*配置项)
- Web管理接口(/api/error-logs/*)支持日志查看和管理
- 异步日志写入支持,提升性能
- 数据库健康检查组件
- 全局异常处理器集成

技术改进:
- Java版本兼容性处理(支持Java 8和Java 9+)
- 依赖更新:Lombok 1.18.30、Spring Boot Web starter
- 本地开发环境配置和Mock API实现
- 端口配置优化避免冲突

文件变更:
- 新增:ErrorLogUtils、ErrorLogProperties、ErrorLogController等核心组件
- 新增:本地开发配置application-local.yml
- 更新:应用主类、拦截器配置、依赖管理
- 新增:错误捕获使用指南和文档
2025-08-12 14:49:55 +08:00
黎润豪 fbcd766e36 调整来源的用户查询判断 2024-11-07 17:22:06 +08:00
黎润豪 45d8d0679e 修正表定义 2024-10-29 15:11:56 +08:00
黎润豪 c42364cd9b 空指针bug修复 2024-10-24 11:38:28 +08:00
黎润豪 dca0e3201c SQL修正,系统来源判断调整 2024-10-24 11:13:39 +08:00
黎润豪 4d62fa66b4 bug修复 2024-10-24 10:04:55 +08:00
黎润豪 702600e3c6 bug修复 2024-10-24 09:53:29 +08:00
黎润豪 e8d7b1314b 项目初始化 2024-10-22 16:33:33 +08:00
黎润豪 49fd89cc28 项目初始化 2024-10-22 10:46:33 +08:00