golang-yitisheng-server/project_doing.md

1.8 KiB

[任务执行] 修复 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
  • 关联任务: 动态表名支持
  • 操作目标: 修改 YxCalculationMajorServiceYxCalculationMajorMapper 以支持根据用户成绩中的 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.BatchCreateBatchCreateBySchoolMajorDTO 增加 tableName 参数并透传。
    • UserScoreService.SaveUserScore 调用 BatchCreateBySchoolMajorDTO 时传入 entityItem.CalculationTableName
    • YxCalculationMajorController.BatchCreate 传入空字符串以使用默认表名。
    • [新增]: 修复了 FindRecommendList 中表名参数传递错误的问题,改为使用 fmt.Sprintf 动态注入表名。