LoveLosita
|
d07234e183
|
Version: 0.2.0.dev.260210
feat: 🗑️ 新增删除单个课程与解除安排日程接口
- 逻辑复杂,初版接口写完后才发现需求需要传切片
- 针对需求修改,通过大 for 循环和事务处理来解决问题 🔄
refactor: 🔧 移除部分冗余的用户 ID 验证逻辑
- sv/schedule.go 中,进来的 ID 已通过 redis 黑名单与 JWT 保护验证
- 去除重复的数据库查验,优化了代码流程 🛠️
refactor: 🔄 重构 API 层业务错误判断逻辑
- 抛弃了原有的手动比对方式,封装进 `respond` 包,简化判断流程
- 未来不再手动遍历数据链路,提升了开发效率 🧹
undo: ⚠️ 修复任务块添加到日程的接口问题(待修复)
- 接口允许直接修改已经安排的任务时间,且重复执行时未被禁止
- 此逻辑存在问题,计划在下个版本修复 🔧
undo: ⚠️ 重测接口的幂等性与其他特性
- 当前接口幂等性等特性尚未专门测试,后续计划重测所有接口
- 测试不充分,待进一步完善 🔄
undo: ⚠️ 修复刷新 token 接口错误处理问题
- 当前接口将 token 本身的错误以 500 错误返回,需修复此问题 🛠️
|
2026-02-10 19:51:05 +08:00 |
|
LoveLosita
|
75a44f2edd
|
Version: 0.1.2.dev.260207
feat: ⚠️ 批量导入课程接口支持冲突预检测与冲突提示
- 批量导入课程接口支持预先检测冲突
- 返回并展示具体发生冲突的课程信息 📚💥
- 补全此前规划的冲突提示功能(把大饼补上了 🍞)
refactor: 🧱 使用工作单元模式管理 dao 层事务
- 引入工作单元模式(Unit of Work)统一管理 dao 层
- 新建全局事务,使跨 repo 的 gorm 事务管理更加方便 🔁
fix: 🐛 修复将任务块添加进日程接口的多个问题
- 修复核心逻辑 bug(费了老大劲 😵💫)
- 补充并覆盖该接口的多种异常与错误场景测试 🧪
|
2026-02-07 22:08:13 +08:00 |
|
LoveLosita
|
f4bea0576c
|
feat: 🗓️ 新增任务块排期能力并完善课程与日程模型
Version: 0.1.1.dev.260207
- 新增并测试通过将任务块排进日程接口 ✅
- 批量导入课程接口增加单双周功能,支持只在单双周上课的课程 📚
- 任务块时间定位逻辑调整为「第几周-周几」模式 🧭
refactor: 🔨 重构时间与日程数据结构
- 完成绝对日期与相对时间的转换逻辑 🔄
- 后续可根据需求灵活决定时间的传入与输出类型
- 再次重构 schedule 表单结构
- 拆分为 schedule_event(单)与 schedule(多)
- 建立前者对后者的一对多关系 🧩
fix: 🐛 大幅调整表结构与业务逻辑,修复大量历史遗留 bug 🔥
|
2026-02-07 16:33:30 +08:00 |
|
LoveLosita
|
132b7095ac
|
Version:0.1.0.dev.260205
feat: 🆕 完善course模块功能并优化批量导入接口
- 调整 task-class 模型代码并增加注释,使其更简洁易读 ✍️
- 结构调整:将课程相关接口从 schedule 分类移至独立的 course 分类 🚀
- 修改接口 URL 从 /schedule 更改为 /course 🔄
fix: 🐛 修复批量导入课程接口重复导入相同课程的 bug
- 通过在数据库添加唯一约束解决此问题 🔐
- 这只是初步修复,后续会在 sv 层增加重复/时间冲突检测逻辑 ⚠️
- 引导用户修改课表与任务块时间冲突的机制待实现 ⏳
refactor: 🔨 重构 schedule 表单结构
- 将节次管理策略从字符串存储改为原子化存储(如 1-2 节更改为单独两条记录)
- 为后续冲突检查与智能排课做准备 🧠
perf: 🚀 优化批量导入课程接口性能
- 通过数据暂存内存中减少数据插入 MySQL 的次数 ⚡
|
2026-02-05 16:51:15 +08:00 |
|