2.8 KiB
2.8 KiB
项目过程记录
2025-12-17
[任务执行] 初始化模块 yitisheng/yx_user_score
- 操作目标: 创建新的业务模块目录,并准备实现用户分数和志愿管理功能。
- 影响范围:
server/modules/yitisheng/yx_user_score/ - 修改前记录: 项目中暂无此模块。
[任务执行] 修正模块路径并实现 CRUD
- 操作目标: 根据 Task3.md 要求,将 yx_user_score, yx_volunteer, yx_volunteer_record 实现于 modules/yx/ 下。
- 影响范围:
server/modules/yx/ - 修改结果:
- 删除了错误的
modules/yitisheng目录(尝试删除)。 - 在
modules/yx下实现了 Entity, Mapper, Service, Controller。 - 更新了
main.go注册路由。
- 删除了错误的
[任务执行] 增加 Swagger 文档访问密码验证
- 操作目标: 为 Swagger 文档接口添加 Basic Auth 验证,防止未授权访问。
- 影响范围:
server/config/config.go,server/main.go - 修改前记录: Swagger 接口公开,无验证。
- 修改结果:
server/config/config.go: 新增SwaggerConfig配置项 (默认 admin/password)。server/main.go: 为/swagger路由组添加了gin.BasicAuth中间件。
[任务执行] 解决本地调试 CORS 问题
- 操作目标: 允许前端 Vue3 项目跨域调用后端接口。
- 影响范围:
server/middleware/cors.go,server/main.go - 修改前记录: 后端未配置 CORS,前端跨域请求被拦截。
- 修改结果:
server/middleware/cors.go: 创建了 CORS 中间件,允许Origin头部指定的来源,并放行OPTIONS请求。server/main.go: 全局注册了 CORS 中间件。
[任务执行] 实现用户成绩保存接口
- 操作目标: 根据 Task4.md 要求,实现用户成绩信息的保存接口,并包含特定的业务校验逻辑。
- 影响范围:
server/modules/yx/controller/yx_user_score_controller.go - 修改前记录:
YxUserScoreController仅有基本的 CRUD 接口。 - 修改结果:
- 定义了
SaveScoreRequest结构体,包含严格的字段校验逻辑(文理分科、科目限制、成绩范围等)。 - 实现了
SaveUserScore方法,处理 DTO 到 Entity 的转换(包括科目列表拼接、子专业成绩映射)。 - 注册了
POST /yx-user-scores/save-score路由。
- 定义了
[任务执行] 重构 DTO 代码结构
- 操作目标: 将
SaveScoreRequest结构体从 Controller 中分离到独立的 DTO 包中。 - 影响范围:
server/modules/yx/dto/yx_user_score_dto.go,server/modules/yx/controller/yx_user_score_controller.go - 修改前记录: DTO 结构体直接定义在 Controller 文件中。
- 修改结果:
- 创建了
server/modules/yx/dto/目录。 - 将
SaveScoreRequest及其校验逻辑移动到yx_user_score_dto.go。 - Controller 改为引用
dto包。
- 创建了