论述题02

文章详细描述了基于微服务的生成课表、查询课表和查询最近学习章节的业务流程,涉及交易服务、学习服务模块间通过RabbitMQ异步通信,以及Feign同步调用数据库的场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

2-1 说一下生成课表的业务流程

生成课表业务流程涉及到三个微服务模块,分别是交易服务模块、学习服务模块、课程模块。交易服务模块与学习服务模块微服务间的调用使用的是RabbitMQ异步调用。学习服务模块调用课程模块查询数据库采用的是Feign的同步调用。

1.首先用户通过前端购买或者报名课程,如果是付费课程,需先完成付费.如果是免费课程,则直接异步通知,交易服务模块将添加课程所需基本信息包装,然后投放到消息队列中

2.学习服务模块需监听同一交换机,RoutingKey与BindingKey匹配的MQ消息,如果接收数据、用户ID、课程ID不为空,则将课程添加到课表中.

3.课程添加到课表,需要Feign同步调用course课程微服务,基于CourseClient进行数据库查询课程的有效期,从而计算出课程过期时间。

4.最后封装LearningLession,批量保存到数据库中。


2-2 说一下查询课表的业务流程

查询课表就是分页查询我的课表,根据最近学习时间降序

1.首先用户从学生课表分页查询学生课表信息,但是没有课程名、课程封面、课程总小节的信息

2.这是就需要远程调用course微服务根据课程id查询tj-course课程列表,并且以课程id为键以课程信息为值封装成map集合

3.这时就可以在遍历过程中将学生的每个课表所缺的三个信息进行补全,然后封装成前段所需信息格式即可。


2-3 说一下查询最近学习章节的业务流程

查询最近学习章节的业务就是根据课表的最近一次学习时间确定用户最近学习的一个课程。

1.首先查询最近学习的课程,但是查询出的信息中缺少有关课程信息的课程名称、封面、总章节数,章节信息中的章节名称、章节序号和课程数量

2.这时需要根据课表中的课程id调用课程微服务查询课程信息,根据课表中的章节id调用课程微服务查询章节信息。

3.然后通过用户ID,聚合函数统计出课程数量

4.补全前段所需课程信息所缺的信息,封装返回结果即可。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值