前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【微服务】164:商品微服务需要提供的接口

【微服务】164:商品微服务需要提供的接口

作者头像
刘小爱
发布2020-09-28 10:19:45
6660
发布2020-09-28 10:19:45
举报
文章被收录于专栏:零基础自学Java零基础自学Java

一、搜索微服务与商品微服务

虽然说现在是在实现搜索相关的业务,但是其本质上还是对于商品的操作。

也就是说在搜索微服务中调用商品微服务中已经实现了的操作即可。。

做个简单的回顾,搜索需要的数据有两种:展示数据和过滤数据。

其中将涉及到的数据表做一个整理:

①展示数据涉及到的表

SPU信息表、SPU的详情表以及SKU信息表。

②过滤数据涉及到的表

商品分类表、品牌表以及规格参数表、

根据上述实体类我们可以判断出,搜索中需要到的数据库查询包括:

  • 分页查询SPU表。
  • 根据spuId查询sku
  • 根据spuId查询SpuDetail
  • 根据商品分类id查询商品分类
  • 规格参数的查询
  • 根据Id查询品牌

上述这些查询方式有的我们已经实现过了,有的还没有,现在做一个完整的回顾与补全。

二、商品微服务Java代码编写

对商品的相关操作是编写在商品微服务中的。

1分页查询SPU表

该业务在第151天学习笔记中有记载:

因为涉及到一个分页查询,所以service层的代码较为复杂,当时详细编写并讲解过其代码实现,在此不再赘述。

2根据spuid查询sku表

该业务是在修改商品中实现的,笔记中我并没有做说明,这里做一个代码的补全:

因为这类使用的是通用mapper,其实无外乎就是controller层和service层的代码编写。

Controller代码中确定和请求相关的内容。

Service层代码中编写具体的业务逻辑,同时调用mapper层完成数据的查询。

上述涉及到了Stream流的应用以及通用Mapper批量查询,这个我在第152天学习笔记中详细讲解过。

注意:每次查询完数据后要对结果做非空判断,如果为空要抛出异常,这是个好习惯。

3根据spuId查询SpuDetail

spuId本身就是spuDetail表的主键,所以该业务实现起来也就非常的简单了。

直接使用通用mapper中的主键查询即可。

4根据商品分类id查询商品分类

这些在第152天学习笔记中学习通用mapper批量查询和stream流的时候就是写的根据多个id批量查询商品分类。

只不过当时只是编写了service层代码,并没有写controller层的代码,现在将其补全。

5根据id查询品牌

这个和第④点一样,在第152天学习笔记中有说明,当时是实现商品的分页时编写了其对应的业务逻辑。

当然该业务非常简单,重写一遍问题也不大。

6规格参数的查询

第154天学习笔记中也有涉及到对规格参数的说明。

emm感觉今天没学啥,全都用来回顾以前所实现的业务了,因为我的学习进度拉扯的太长。

比如分页查询Spu都是两个星期前实现的了,很多都忘记了,所以今天算是做了一个回顾与整理。

后续写搜索相关的业务时,也好用今天整合的做一个对应。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-09-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 刘小爱 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、搜索微服务与商品微服务
  • 二、商品微服务Java代码编写
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档