golang-yitisheng-server/task_detail.md

1.5 KiB
Raw Blame History

会话 ID: 20251225-02

  • 执行原因: 用户反馈 SQL 日志未写入文件。
  • 执行过程:
    1. 分析发现 server/config/database.go 中 GORM Logger 硬编码输出到 os.Stdout
    2. server/config/database.go 中实现 getLogWriter 函数,根据配置创建文件 Writer。
    3. 使用 io.MultiWriter 支持同时输出到文件和控制台。
    4. 验证日志文件生成。
  • 执行结果: SQL 日志现在会根据日期生成独立的文件(如 logs/sql-2025-12-25.log),且遵循全局日志配置。

会话 ID: 20260102-01

  • 执行原因: 用户询问如何在 UserScoreService 中根据 CalculationTableName 动态插入数据,并修复了 Mapper 中的查询 Bug。
  • 执行过程:
    1. 分析 YxCalculationMajorService 和 Mapper发现默认使用硬编码的表名。
    2. 修改 YxCalculationMajorMapper.BatchCreate 增加 tableName 参数。
    3. 修改 YxCalculationMajorService.BatchCreateBatchCreateBySchoolMajorDTO 增加 tableName 参数。
    4. 更新 UserScoreService 调用处,传入 entityItem.CalculationTableName
    5. 更新 YxCalculationMajorController 调用处,传入空字符串以保持默认行为。
    6. [修复] 发现 FindRecommendList 中错误地将表名作为参数传递给 ? 占位符。修改为使用 fmt.Sprintf 动态构建 SQL并移除了无效的字符串替换逻辑。
  • 执行结果: 实现了计算专业表的动态表名插入功能,并修复了推荐列表查询的 SQL 语法错误。