golang-yitisheng-server/project_doing.md

27 lines
1.8 KiB
Markdown

### [任务执行] 修复 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` 动态注入表名。