### [任务执行] 修复 SQL 日志未写入文件问题 - **操作目标**: 修改数据库初始化逻辑,使其支持将 SQL 日志写入到指定文件。 - **影响范围**: `server/config/database.go` - **修改前记录**: GORM Logger 硬编码输出到 `os.Stdout`。 - **修改结果**: - 在 `server/config/database.go` 中增加了 `getLogWriter` 函数。 - 该函数根据 `AppConfig.Log` 配置创建日志目录和文件(命名为 `sql-YYYY-MM-DD.log`)。 - 如果配置开启了控制台输出,则使用 `io.MultiWriter` 同时输出到文件和控制台。 - 验证:在测试环境下临时开启日志模式,成功生成了 `logs/sql-2025-12-25.log` 文件。 ### [任务执行] 支持计算专业表的动态表名插入 - **时间戳**: 2026-01-02 - **关联任务**: 动态表名支持 - **操作目标**: 修改 `YxCalculationMajorService` 和 `YxCalculationMajorMapper` 以支持根据用户成绩中的 `CalculationTableName` 动态插入数据。 - **影响范围**: - `server/modules/yx/mapper/yx_calculation_major_mapper.go` - `server/modules/yx/service/yx_calculation_major_service.go` - `server/modules/user/service/user_score_service.go` - `server/modules/yx/controller/yx_calculation_major_controller.go` - **修改结果**: - `YxCalculationMajorMapper.BatchCreate` 增加 `tableName` 参数,支持 `db.Table(tableName)`。 - `YxCalculationMajorService.BatchCreate` 和 `BatchCreateBySchoolMajorDTO` 增加 `tableName` 参数并透传。 - `UserScoreService.SaveUserScore` 调用 `BatchCreateBySchoolMajorDTO` 时传入 `entityItem.CalculationTableName`。 - `YxCalculationMajorController.BatchCreate` 传入空字符串以使用默认表名。 - **[新增]**: 修复了 `FindRecommendList` 中表名参数传递错误的问题,改为使用 `fmt.Sprintf` 动态注入表名。