关于学习计划接口

简介: 笔记1.0

查询学习记录

​ 查询学习记录所在的页面比较复杂,除了有课程信息,还有课程的章节列表,而列表里的每一条信息才是我们的学习记录,这里我们先只设计出指定课程的学习记录接口:

完整的查询接口已经帮大家实现了,只需要再提供一个查询学习记录接口即可:com.tianji.course.controller.CourseController#queryCourseAndCatalogById

在下面这个页面中,往往有两种设计思路

方案A:前端查询接口1,获得课程信息,查询接口2,获得课程里的每小节信息(含学习记录)

方案B:后端聚合上述两个接口一次性返回,企业中对于Http接口往往是后端聚合的(减少一次网络开销),这时候同样会有问题:是课程调用学习服务还是服务调用课程呢?很明显应该调用数据量少的,减少报文大小,因此这里实际是课程服务调用学习微服务,获取每一个小节的学习记录。这也是我们为什么设计一个查询指定课程的学习记录的原因。并且课程信息是肯定有的,但进度却不一定存在

===========================================

提交学习记录接口
  • 完成:

考试提交= 练习章节完成

学习进度超过50% = 当前章节完成

是否是第一次学完:
    第一次学完才更新  视频支持重播 假设以前学完超过50%  后面再去看这个视频 超过50%就无需更新
新注解:
@EnumValid  对枚举值的校验

image-20230627175821574

image-20230627203613765

13查询学习计划-接口定义

查询本周计划(所有课程): 
             条件:
                 select sum(week_freq) from learning_lesson where 
                 user_id = #{user_id}
                 and plan_status = 1  //有创建学习计划得
                  and status in (0,1) // 课程状态是未开始学习 或者正在学习ing
                  and id_delete = 0;  // 没有被删除的
查询某个课程计划
        select
目录
相关文章
|
5月前
|
Java
设计接口的几种方法
设计接口的几种方法
|
6月前
|
XML JavaScript 前端开发
编程接口
**XML DOM 提供编程接口,将XML文档转换为节点对象树,通过JavaScript等语言操作。属性如 nodeName, nodeValue, parentNode, childNodes 和 attributes 访问节点详情。方法如 deleteNode 用于修改或删除节点。**
|
7月前
|
安全 前端开发 NoSQL
如果让你设计一个接口,你会考虑哪些问题?
接口设计需关注参数校验、扩展性、幂等性、日志、线程池隔离、异常重试、异步处理、查询优化、限流、安全性、锁粒度和避免长事务。入参与返回值校验确保数据正确性;考虑接口扩展性以适应不同业务需求;幂等设计防止重复操作;关键接口打印日志辅助问题排查;核心接口使用线程池隔离确保稳定性;异常处理中可采用重试机制,注意超时控制;适合异步的场景如用户注册后的通知;并行查询提升性能;限流保护接口,防止过载;配置黑白名单保障安全;适当控制锁粒度提高并发性能;避免长事务影响系统响应。
106 2
|
7月前
|
JSON 数据格式
如何创建接口,设计过接口
项目遵循Restful规范设计接口,请求路径基于资源命名,如查询用GET,新增用POST,修改用PUT,删除用DELETE。GET参数通过问号或路径传递,POST/PUT用JSON。统一的接口规范规定:返回数据多时,用VO过滤或整合数据。
52 0
|
算法 网络协议 开发者
|
Java 编译器
接口的学习与总结
接口的学习与总结
|
C#
C# 接口案例
C# 接口案例
112 4
|
Java 开发者 索引
CharSequence 接口|学习笔记
快速学习 CharSequence 接口
166 0
CharSequence 接口|学习笔记
|
Java 数据库 开发者
AutoCloseable 接口| 学习笔记
快速学习 AutoCloseable 接口
288 0
AutoCloseable 接口| 学习笔记