U-Learning 后端开发日志(建设中...)

U-Learning——基于泛在学习的教学系统

GitHub项目地址

后续会结合开发日志一步步发布里程碑教程和遇到的问题与解决

项目背景

  该系统是一次将理论与实践相结合的创新设计,它结合当下在线教育形势,未来泛在学习发展趋势,在完美融合学校教育需求下进行的一次实践探索。

  移动设备和移动技术的应用已经改变了人们的学习方式和获取信息的途径,随时随刻拿出手机打开app或者浏览器即可进行想要资源的获取。在这样一个信息爆炸的时代中,学习系统的功能已经不仅仅是如何全面的将资源快速展现给学习者,更为重要的是如何针对性的将资源进行囊括。

  从人性化角度分析,不同于市面上常见的app下载方式,该系统实现更为便捷灵活的网页显示方式,用户根据需求登录即可进入相应页面,无论是在手机,平板抑或电脑等设备,该系统都会根据屏幕实际大小自适应显示完整内容,这体现了该系统的灵活高效的特征。从适用范围分析,它的主要环境是学校,包括学生和教师两种人物角色,系统同时满足学生学习、实验、测试要求以及教师教学任务管理、公告维护要求,这体现了该系统的实用特征。从文件资源的储存角度分析,所有文件,通告以及资源都是线上同步方式,完全可以在任何时候查看,并且不会失效,对于学生来说资源是共享且永久的。

技术栈

框架

  1. Spring Cloud(Greenwich.SR2)
  2. Spring Boot(2.1.6.RELEASE)
  3. MyBatis(2.1.0)
  4. Spring Security

中间件

  1. redis(5.0.4)
  2. FastDFS(6.04)

插件

  1. fastjson(1.2.54)
  2. druid(1.1.10)
  3. hutool(5.0.6)
  4. mapstruct(1.2.0.Final)
  5. lombok(1.18.10)
  6. ip2region(1.7.2)
  7. jjwt(0.9.1)
  8. swagger2(2.9.2)
  9. swagger-bootstrap-ui(1.9.5)
  10. spring-boot-admin(2.1.6)

里程碑

CentOS 7搭建JAVA开发环境

教程地址

接口参数校验(不使用hibernate-validator,规避大量if else)

教程地址

开发日志

2020-03-23

  1. 【网关】记录访问无权限接口日志

2020-03-22

  1. 【任务调度中心】修改本地服务端口号
  2. 【系统管理】修复获取角色已分配权限出现null的问题

2020-03-21

  1. 【教师端】新增分页查询学生测试结果统计信息
  2. 【教师端】根据测试任务id查询学生测试统计返回测试总分
  3. 【教师端】修改教学任务下拉框显示规则,添加学年用于区分
  4. 【教师端】实验、测试和通告只能操作当前及以后学期的数据
  5. 【教师端】创建教学任务时,只显示前1年学期
  6. 【任务调度中心】代理模式下不显示【用户管理】
  7. 【监控系统】过滤/actuator接口统计信息
  8. 【整体】查询日志改为开发模式显示

2020-03-20

  1. 【教师端】统计学生测试结果接口
  2. 【教师端】统计学生测试结果接口

2020-03-19

  1. 【学生端】查询所有测试任务数组不显示已完成的测试任务
  2. 【学生端】删除查询测试结果明细接口,添加分页查询测试结果明细接口
  3. 【学生端】测试试题的填空题若学生答案为空,则返回对应填空数量-1的|#|分隔符
  4. 【学生端】分页查询条件补充
  5. 【学生端】增加分页查询测试结果明细接口条件

2020-03-18

  1. 【学生端】分页查询测试任务添加学生测试状态字段
  2. 【学生端】查询测试结果明细接口

2020-03-17

  1. 【学生端】学生测试断线重连获取上次保存的答题记录
  2. 【学生端】修改测试组题返回的数据结构
  3. 【学生端】根据教学任务id查询所有测试任务数组新增测试任务状态字段
  4. 【学生端】调整spi包结构
  5. 【教师端】完成监控学生测试接口

2020-03-16

  1. 【监控系统】分页查询只记录查询第一页记录
  2. 【教师端】完成学生测试管理开发结构
  3. 【学生端】根据教学任务id查询所有测试任务数组新增测试任务状态字段

2020-03-15

  1. 【学生端】实验结果返回实验名、成绩排名和提交人数信息
  2. 【学生端】完成学生测试接口

2020-03-14

  1. 【网关】当用户修改信息时,清理缓存记录
  2. 【整体】修改服务部署策略
  3. 【common包】添加http访问工具类
  4. 【监控系统】添加druid监控数据管理接口
  5. 【教师端】分页查询实验结果返回实验名

2020-03-13

  1. 【学生端】完善临时保存接口

2020-03-12

  1. 【学生端】开发在线测试结果
  2. 【网关】修改网关部署配置
  3. 【监控系统】修改监控系统服务部署配置
  4. 【整体】调整服务部署策略

2020-03-11

  1. 【学生端】完善开始测试接口
  2. 【教师端】返回学生姓名、学号字段;支持根据学生姓名、学号和是否批改查询
  3. 【学生端】完成开始测试接口

2020-03-10

  1. 【教师端】完成实验结果管理接口
  2. 【教师端】通告查询添加附件大小信息
  3. 【教师端】通告分页查询进行缓存
  4. 【学生端】通告查询添加附件大小信息
  5. 【教师端】完成学生实验管理

2020-03-09

  1. 【学生端】根据id查询实验结果添加附件大小返回字段
  2. 【学生端】删除根据id查询实验结果接口,根据实验id查询实验结果接口

2020-03-08

  1. 【学生端】完成测试管理接口、待完成开始测试接口

2020-03-07

  1. 【学生端】实验查询添加已批改分类
  2. 【教师端】对测试参数进行验证

2020-03-06

  1. 【学生端】完成实验结果接口
  2. 【后台】修复根据teaId查询无效问题
  3. 【网关】开发文档去除ulearning-register选项
  4. 【监控系统】扫描u_experiment_result表
  5. 【学生端】查询实验列表检测是否已提交该实验结果

2020-03-05

  1. 【注册中心】注册中心注册自己,接入springBootAdmin进行健康检查
  2. 【整体】关闭邮箱健康检查

2020-03-04

  1. 【学生端】完成文件资料接口
  2. 【网关】将登录用户信息存入redis,对相关信息进行修改时清除redis中的用户信息

2020-03-03

  1. 【教师端】课程试题新增难度字段
  2. 【学生端】添加查询文件资料列表接口
  3. 【教师端】根据教学任务id查询知识模块

2020-03-02

  1. 【教师端】完善教学资源和文件资料根目录接口逻辑代码
  2. 【学生端】完成查询教学资源根节点接口

2020-03-01

  1. 【教师端】完成教学资源、文件资料(批量)删除和(批量)分享接口
  2. 【监控系统】分页查询,只记录查询第一页的日志,其余查询不记录
  3. 【教师端】完成教学资源和文件资料分享区接口
  4. 【后台】删除课程后,删除该课程下的所有教学任务

2020-02-29

【整体】整体微调

2020-02-28

  1. 【监控系统】扫描u_course_file表、将表和url索引管理起来,不用代码写死
  2. 【教师端】隐藏新增实验的序号字段
  3. 【教师端】新增选项字段
  4. 【教师端】新增删除实验接口
  5. 【教师端】调整实验编号更新策略

2020-02-27

【教师端】新增试验,order自动生成且递增

2020-02-26

  1. 【教师端】文件名重复判断
  2. 【教师端】教学任务别名作为教师操作的根目录

2020-02-25

  1. 【教师端】新增获取知识模块列表接口
  2. 【网关】修改登录模块内容,改为接口路径
  3. 【教师端】去除文件资料和教学资源的title非空判断

2020-02-24

  1. 【网关】自定义退出接口
  2. 【学生端】添加/完善教学任务查询接口
  3. 【教师端】修复学生移除后仍能查询到问题
  4. 【学生端】新增根据教师名称查询已选/未选教学任务信息

2020-02-23

  1. 【整体】配置系统发布

2020-02-22

  1. 【学生端】添加学生端服务模块
  2. 【学生端】完成学生选课相关接口
  3. 【学生端】完成查阅通告相关接口
  4. 【学生端】完成查看文件资料和教学资源功能开发结构

2020-02-21

【教师端】完善教学资源管理接口

2020-02-20

【教师端】完善文件资料管理接口

2020-02-19

  1. 【后台】修改获取角色查询已分配权限接口返回格式
  2. 【后台】新增角色数组查询接口,修改获取教师已分配角色接口返回数据结构

2020-02-18

【教师端】完成教学资源管理基本接口

2020-02-17

  1. 【后台】完善权限查询接口
  2. 【教师端】完成教学资源根目录查询和新增文件/文件夹接口

2020-02-16

【教师端】完成文件资料管理基本接口

2020-02-14

  1. 【数据库】修改课程文件存储结构,新增课程文件表
  2. 【教师端】完成文件资料管理开发结构

2020-02-13

  1. 【教师端】完成测试任务管理基本接口
  2. 【教师端】教学任务实验、通告允许修改所属教学任务
  3. 【教师端】新增查询教师所有教学任务接口

2020-02-12

  1. 【监控系统】新增今日访问量、近7天的访问量和系统文件占用大小接口
  2. 【监控系统】添加查询前n条日志接口,完善访问量查询接口
  3. 【整体】调整redis缓存策略
  4. 【监控系统】添加历史日志查询、历史日志下载接口

2020-02-11

  1. 【监控系统】完成日志清理跑批
  2. 【监控系统】调整日志module记录内容->访问路径

2020-02-10

【监控系统】完成文件记录跑批

2020-02-09

  1. 【调度平台】通过网关代理访问xxl-job-admin
  2. 【监控系统】整合xxl-job并完成测试demo
  3. 【common】整理封装redis工具类

2020-02-08

  1. 【网关】完成忘记密码相关接口
  2. 【调度平台】整合xxl-job-admin

2020-02-07

  1. 【网关】整合mail组件
  2. 【网关】完成发送修改密码邮件接口

2020-02-06

  1. 【监控系统】调整包结构
  2. 【整体】调整系统日志
  3. 【监控系统】新增文件记录添加接口
  4. 【网关】【后台】【教师端】对上传附件接口整合文件记录监控
  5. 【监控系统】添加文件记录查询、删除和下载接口
  6. 【后台】添加清空redis接口,调整权限加载接口位置

2020-02-05

  1. 【教师端】完成实验管理添加实验相关接口
  2. 【教师端】完成实验管理查询、更新和下载附件相关接口

2020-02-04

  1. 【教师端】完成试题管理其余基本接口
  2. 【教师端】完成实验管理开发结构

2020-02-03

  1. 【监控系统】日志查询新增根据创建时间查询条件
  2. 【教师端】完成通告附件下载接口
  3. 【教师端】优化通告管理的操作权限校验代码
  4. 【教师端】完成试题新增和图片上传接口

2020-02-02

  1. 【教师端】完成通告管理curd接口

2020-02-01

  1. 【网关】完成个人信息修改和头像上传接口
  2. 【网关】新增教师/学生密码修改接口,在网关处进行聚合
  3. 【后台】新增学生头像上传接口
  4. 【网关】完成头像上传接口,聚合学生头像上传接口
  5. 【网关】【后台】新增pwdUpdateTime字段用于判断用户token是否失效

2020-01-31

【教师端】完成通告新增和通告分页查询接口

2020-01-30

【教师端】完成选课学生管理接口

2020-01-29

【后台】整合fastDFS完成教师头像上传接口

2020-01-27/28

  1. 学习FastDFS
  2. 搭建FastDFS文件服务器
  3. 系统整合fastdfs-client并封装工具类

2020-01-26

  1. 完成教师端服务结构
  2. 完成分页查询教师教学任务接口
  3. 抽取controller层公共方法->BaseController
  4. 【教师端】完成教学任务管理功能

2020-01-25

  1. 修改redis缓存策略,默认添加null
  2. 完成学生登录
  3. 修复zuul异常无json输出
  4. 抽取LogAspect公共方法、抽取异步加载处理器

2020-01-24

  1. 优化权限校验架构
  2. 同步本地和开发环境的配置文件
  3. 更新后的系统发布到开发环境
  4. 为更新登录日单独配一个接口进行调用

2020-01-23

自动获取cookie存入header

2020-01-22

  1. 通过网关访问spring-boot-admin
  2. 修改表外键约束条件

2020-01-21

设计网关访问springbootadmin方案

2020-01-20

  1. 优化代码结构
  2. 完成学生管理基本功能
  3. 修改网关获取token方式=>默认获取cookie中的token

2020-01-19

添加学生新增接口

2020-01-18

  1. 完成教学任务管理基本接口
  2. 完成学生管理开发结构搭建

2020-01-17

  1. 添加获取所有教师信息接口
  2. 添加获取所有课程信息接口
  3. 添加获取学期集合接口

2020-01-16

完成教学任务管理entity->dao/mapper->service->controller层的搭建

2020-01-15

完成课程管理基本接口

2020-01-14

  1. 完成课程分页查询接口
  2. 抽离service公共方法至BaseService

2020-01-13

完成日志查询功能

2020-01-12

  1. 添加角色新增、删除、更新接口
  2. 完成角色分配权限功能接口
  3. 完成教师分配角色功能接口
  4. 完成认证接口:个人信息查询,个人角色信息查询和个*限查询

2020-01-10

完成角色分页查询接口

2020-01-09

  1. 添加查询所有权限组、查询权限接口
  2. 捕获异步调用异常并处理

2020-01-08

  1. 修复异常捕获混乱问题
  2. 完成系统校验类,统一校验方式

2020-01-07

初步搭建校验类,简化参数校验时大量if else

2020-01-06

修复sba 注册时间显示和actuator返回的时间格式为时间戳的问题

2020-01-04

  1. 完善教师管理接口的参数校验
  2. 添加权限管理的update、delete接口

2020-01-02

  1. 添加开发配置和打包部署插件配置
  2. 完成添加教师接口

2019-12-29

更新maven打包配置,调整本地开发的redis服务器地址

2019-12-23

  1. Spring Boot 版本降级 2.1.10 -> 2.1.6
  2. 更新 spring boot admin 配置类

2019-12-21

整合监控系统

2019-12-20

  1. 添加教师删除接口
  2. 添加监控配置

2019-12-19

添加网关异常拦截处理

2019-12-17

  1. 完成通用配置抽离,swagger2升级
  2. 完成日志aop记录
  3. 完成教师查询接口,修复角色权限接口参数传递问题

2019-12-16

完成权限校验

2019-12-13

整合权限控制,redis

2019-12-12

整合swagger和增强ui,在网关处对文档进行聚合

2019-12-11

完成简单的单点登录

2019-12-10

整合Spring Security

2019-12-09

完成网关登录功能

2019-12-08

添加教师角色和权限dao

2019-12-07

添加获取验证码接口

2019-12-06

添加教师登录接口

2019-12-05

修改配置,添加模块

2019-12-04

修改服务配置目录结构,添加系统管理模块和通用核心模块

2019-11-29

完成服务注册发现、路由网关和统一配置管理

上一篇:最近公共祖先 LCA 倍增算法


下一篇:P5836 [USACO19DEC]Milk Visits S 从并查集到LCA(最近公共祖先) Tarjan算法 (初级)