Skip to content

Latest commit

 

History

History
314 lines (223 loc) · 10.7 KB

changelog.md

File metadata and controls

314 lines (223 loc) · 10.7 KB

日志

2020.10.27

  • 开始、确定基本程序结构
  • 简单的程序设计
  • Email 功能完成

2020.10.28

  • 决定为本程序建立仓库
  • 日志、验证功能
  • 事件发布、订阅

2020.11.1

  • 缓存模块
  • 全局配置(MyFontProperties 部分功能)

2020.11.8~9

  • 项目迁移
  • 缓存模块基本完成
  • 登录凭证、安全上下文
  • 全局配置项功能模块(及相关的工具类、实体类等)

2020.11.13

  • 全局配置项
  • 邮件功能模块重写

2020.11.14~15

  • AdminController
  • UserController
  • core 包、全局异常处理、全局 Controller 日志
  • 登录模块(未测试)含登录验证即相关部分
  • 系统安装、初始化模块(未测试)
  • 配置使用 Swagger2 API 文档(修正版本无法显示的 BUG)
  • 全局响应、全局异常处理、Json 序列化、全局 MVC 配置
  • 创建开发环境配置文件

2020.11.16

  • 剔除无关代码、重命名可复用的类
  • 建库(课设相关部分)

2020.11.17

  • 程序基础模块完善
  • 用户模块(API 接口):用户更新、用户登录功能

2020.11.18

  • 用户模块(API 接口):社团用户列表(及分页)
  • 用户模块(API 接口):(用户列表、用户信息展示)
  • 修改用户表,添加用户角色字段,方便管理员功能开发
  • 遗留数据迁移
  • 测试接口时发现重大 BUG

2020.11.19

  • 编写开发文档(dev.md),记录关键模块的原理与思路
  • 系统基础模块:全局过滤器、用户登录状态拦截器,废弃 OpenIdUser 方案取得用户凭证,改用 SecurityContext 方案

2020.11.20

  • 修改用户登录方案,ThreadLocal(过滤器拦截用户 Token,验证并写入) + Token + 缓存,取代 Session
  • 更新用户信息时表单字段分组验证
  • 修复 BUG: 实体类上的枚举类型无法与数据库进行映射
  • 修复 BUG: 用户登录后,登录状态失效(OpenId 传递过程中丢失)
  • 修复 BUG: 联合主键查询不到数据
  • 修复 BUG: 查询用户信息列表错误(无用户、分页数量错误)

2020.11.21

  • 管理员模块:管理员登录凭证的生成与校验
  • 管理员模块:修改用户授权(分级权限管理)
  • 管理员模块:新增社团成员

2020.11.22

  • 管理员模块:用户信息增删改查
  • 解决问题:循环依赖,构造注入改为 setter 注入
  • 修改设计:用户学号修改为 Long 类型,并设置为唯一键
  • 修复 BUG:因用户学号字段数据类型修改导致的类型转换问题
  • 修复 BUG:管理员登录后提示未登录(Token 前缀设置错误)
  • 修复 BUG:管理员修改授权

2020.11.23~25

  • Start Bootstrap 管理后台的前端页面雏形
  • 将写好的模板页拆分成 ftl 碎片
  • 管理员登录页面的前后端打通

2020.11.26

  • 管理后台:仪表盘主要功能完成,前后端打通(数据统计、系统日志、社团收支、加载层、简易事件分发中心以及相关的工具函数)

2020.11.28

  • 管理后台:社团信息维护功能完成(社团信息的 CRUD)

2020.11.29

  • 前端整合 DataTables(Alt-Editor、buttons、responsive、select、汉化)
  • 管理后台:社团财务信息维护(账单信息 Bill 的 CRUD)

2020.11.30

  • 管理后台:社团系统日志查看、社团成员管理界面设计

2020.12.1

  • 全局配置:在 Filter 层、Servlet 层中间增加 Emoji 转化工具
  • 管理后台:社团成员基本信息维护(CRUD)

2020.12.2~3

  • 管理后台:社团成员基本信息、社团关系信息(CRUD)完成、BUG 修复。
  • 合并预约模块部分代码,修复错误页面 BUG

2020.12.4

  • 分析剩余模块功能、设计
  • 管理后台,活动室、预约管理页面设计

2020.12.5

  • 管理后台,活动室管理模块(Room、Belong)

2020.12.6~7

  • 修复 BUG: 管理员活动室管理页面,正确填写表单后提示错误
  • 修复 BUG: 管理员活动室管理页面,新建创建活动室时,删除按钮可见
  • 修改:新增字段导致已有模块的变化
  • 整理代码
  • 增加 DateUtils ,以指针方式操作日期,并完成测试
  • 用户预约功能实现

2020.12.8

  • 引入 Bootstrap-Sweetalert 留下一些 Bug (管理员功能页面,受影响部分,未调试)
  • 废弃 Bootstrap-Sweetalert 文档受限,难于拓展,引入 sweetalert2 并封装

2020.12.9

  • 废弃 YUI 压缩,采用手动压缩
  • 管理后台:预约模块完成
  • 管理后台:系统参数模块完成
  • 邮件模块测试通过

2020.12.10~12

  • 重新设计通知模块(废弃微信通知方案)
  • 重新设计小程序页面
  • 完成通知模块基础构建(不包含接口)

2020.12.13~16

  • 小程序端旧系统功能移植整合
  • 定时任务
  • 公告模块(后台管理页面、CRUD)
  • 通知模块(通知类型、全局通知事件监听)
  • 日志模块整理(在哪里发送日志)
  • 留言功能(仅后端)
  • 清空 TODO List (仅后端,不含关注模块)

2020.12.19~20

  • 修复初次线上测试发现的功能性 BUG

2020.12.21

  • 小程序用户留言功能整合完毕

2020.12.22~25

  • 小程序功能总体完善(所有页面的跳转关系、样式整理)

2020.12.26~29

  • 再次线上测试
  • 编写用户文档
  • 与 BUGS 战斗
  • 按照阿里巴巴编码规约(插件)修改代码

2020.12.30

  • UserMap 缓存实现(未测试)

2021.1.3~5

  • 3.0.10 版本上限以及相关的 BUG 修复

2021.1.6~7

  • 增加维护后台模块设计,提供在线缓存、日志检测与维护(运维增强)
  • 维护后台前端完成
  • 维护后台后端接口完成,使用独立的授权验证规则,独立于其他模块,使系统缓存瘫痪时,不波及到维护后台
  • 样式修改、前后端调通

2021.2.16

  • BUG 修复、小程序 BUG 修复版推上线

2021.3.17~22

  • 实现日结算跑批并测试通过

2021.5.20

  • 日志调整,优化产生日志的流程

2021.5.21~2021.5.22

  • 缓存重构:使用多级缓存方案进行优化
  • 替换应用代码中的缓存使用
  • 替换缓存锁中的缓存使用
  • 维护后台,缓存维护方案重写

2021.5.23

  • 用户缓存 Map 优化
  • 缓存模块测试通过

TODO

  • 校验缓存部分日志功能是否正常

  • 补充优化其余造成用户表全表扫描的情况

  • 优化体验

    • 左右滑动切换上下周
    • 访客模式(访客使用的仅有浏览功能的页面)
  • 功能优化

    • 整理日志模块,基于日志建立监控
    • 引入学期概念
    • 通知弹窗功能、通知小红点

BUGS

  • 暂未发现

FIXED

  • 管理后台
    • 修改社团时,如果经费未发生变化,无需生成收支调整记录(直接使用 BigDecimal 的 equals 导致的坑)
    • 删除账单没有效果(修改后没有写库)
    • 缓存的 refresh token 并没有效果(过滤器路径通配符遗漏导致)
    • 仪表盘动画效果异常,相同代码生成的静态 HTML 文件直接加载并不能重现这个问题,css 压缩插件导致的问题
    • 数据从数据库中查出来后,传递到前端丢失。原因:DTO 对象未正确设置 getter、setter 导致数据不对外公开
    • 新建社团时,传入的初始经费被忽略,直接为零。Club 的初始化方法中需要加一个判空条件
    • Alt-Editor BUGS、功能拓展
      • 编辑用户基本信息时,打开管理员用户的编辑后,管理员选项并未选中。alt-editor 并不会调用 render 方法,拓展方法解决。
      • 设置了 readonly 的字段,无论执行什么操作都无法修改。alt-editor 并不支持分操作只读,拓展方法解决。
    • 用户为系统管理员时,无法出现在用户列表中
    • 登录页面提示弹窗不统一
    • 登录页面图片无法显示
    • 用户头像为 null 时无法登录管理后台
    • 选中某社团并切换页面时,无法保存社团的选择状态
    • 新增用户时,学号可以输入字母
    • 无法回到当前周
    • 仪表盘:查看全部日志、收支时失去登录状态。
    • 系统初始化时无法使用(500)
    • 没有社团时,无法添加社团
    • 社团管理员可以增删用户基本信息。
    • 未重现 BUG:登录一段时间后,登录凭证失效(修改后,BUG 消失,原因未知)
    • 周次更新、通知时,存在大量空白活动室日志信息(周末每小时定时任务时,边界条件:没有活动室刷新的情况考虑不周)
    • 系统管理员无法发布系统公告(权限判定逻辑写错,重大 BUG)
  • 小程序端
    • 通知页面,日期显示为英文(toLocateDateString() 方法在不同系统显示并不统一)
    • 公告页面,标题显示错误(遗漏)
    • 活动室详情页,开放状态显示错误(更新后使用缓存中的数据导致)
    • 首次输入学号时,无法输入负数
    • 修改个人信息结束后,应该返回。使用微信数据后,应该提交整个表单
    • 接受通知,但是未预留邮箱的情况不报错
    • 留言后,弹出提示无法阅读马上返回(通过栈模拟页面栈数据解决,将提示在上一个页面显示)
    • 社团成员列表分页查询,在用户时长相同时,有可能出现重复(增加排序字段,让每一个元素都不重复)
    • 消息开关显示异常
    • 个性签名太长导致标题换行
    • 用户选中时段的限制不够(可以修改其他人已经选过的时段)
    • 未重现 BUG:用户操作导致其他用户的 wxId 变为 cache_lock_(加锁重新设计后消失了)
    • 反复退出重新登录时,弹出过于频繁,并跳转到完善学号界面(加锁重新设计)
  • 因多级缓存造成的 BUG
    • 测试环境:用户修改后数据未更新
    • 线上环境:用户列表无法加载(500 错误),因直接删除数据库用户数据导致
    • 线上环境:用户获取登录口令报 500 错误,未知原因,清缓存后恢复
  • 其他 BUG
    • 活动室禁用后未显示
    • 周日重置时间到达后,推迟一个小时才能开放下周的预定
    • 修改活动室弹出社团找不到(ID 用错了,大 BUG)
    • 处理因用户缓存引入的转化错误
  • Redis 缓存因集群问题(资源受限)未进行测试

废弃

  • 分功能模块开发
    • 预约模块(关注时间段、签到限制)
    • 活动管理模块(管理员举办活动、用户参与活动、贡献点数核算等)
  • 测试增强
    • 补充全部模块的单元测试
    • 压力测试
  • 架构增强
    • 集群架构方案(SpringCloud, Docker)
  • 优化设计
    • 系统公告单独列出
    • 通知强度加强