## 会话 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.BatchCreate` 和 `BatchCreateBySchoolMajorDTO` 增加 `tableName` 参数。 4. 更新 `UserScoreService` 调用处,传入 `entityItem.CalculationTableName`。 5. 更新 `YxCalculationMajorController` 调用处,传入空字符串以保持默认行为。 6. **[修复]** 发现 `FindRecommendList` 中错误地将表名作为参数传递给 `?` 占位符。修改为使用 `fmt.Sprintf` 动态构建 SQL,并移除了无效的字符串替换逻辑。 - **执行结果**: 实现了计算专业表的动态表名插入功能,并修复了推荐列表查询的 SQL 语法错误。