1.13第二天

文章详细描述了作者项目中生成课表、查询课表和查询最近学习章节的业务流程,涉及交易、课表和课程微服务,使用消息中间件MQ传递数据,以及Feign进行远程调用以提高性能。
摘要由CSDN通过智能技术生成

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

在我的项目中,这个业务涉及到了三个微服务,分别是交易微服务和课表微服务,课程微服务。

首先,生成课表需要购买课程,购买课程是交易微服务的业务功能,课程又分为免费的和收费的。

其中,收费的需要生成订单,支付,清空购物车,然后生成课表,免费的则是生成订单,然后生成课表。

生成课表则是在课表微服务,生成课表的方式有很多,我在项目中使用的是消息中间键MQ,在交易微服务业务功能返回结果的前一步,向MQ投递消息,

在课表微服务消费消息,向课程表插入数据。

最后在插入课表数据时,由于课表数据需要用到课程的一些信息,于是我使用了feign远程调用了课程微服务,为了提高性能,我选择了批量新增,而不是循环插入数据。

这就是我在项目中生成课表的业务流程。

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

在我的项目中,查询课表涉及到了两个微服务,课表微服务和课程微服务。

首先,当浏览器查询的请求发过来后,从课程表中查询,设置分页条件(分页需要的参数),设置业务条件(登录用户Id和课程id,并且以最后一次学习时间倒序排列),执行查询

由于返回结果不是课表的实体类而是一个vo,vo里包含课程的一些信息,于是我使用feign远程调用课程微服务,为了提高性能,我将feign远程调用写在循环之外,为了方便使用课程的信息,我将远程调用的结果(list)通过stream流转成了map(键是课程的id,值是课程对象)。

最后组装结果,发返回数据。

    这就是我在项目中查询课表的业务流程。

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

在我的项目中,查询最近学习章节使用了两个微服务,三张表,分别是课程微服务的课程表和章节目录表,以及课表微服务的课表。

首先,当浏览器查询的请求发过来后,从课程表中查询,设置业务条件(登录用户Id,并且以最后一次学习时间倒序排列),执行查询,虽然最近学习章节只会查询一个结果,但由于返回结果vo中需要该用户课表的数量,为了提高性能,少从数据库查一次数量,所以这里查询该用户的所有课,取第一个。

然后调用而课程表对应的feign接口和章节目录表对应的feign接口,补充数据。

最后返回结果。

这就是我在项目中查询最近学习章节的业务流程。

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值