今天是刘小爱自学Java的第164天。
感谢你的观看,谢谢你。
学习计划安排如下:
昨天分析了索引库中需要的数据格式,今天就编写并补全对应的后台业务代码。
一、搜索微服务与商品微服务
虽然说现在是在实现搜索相关的业务,但是其本质上还是对于商品的操作。
也就是说在搜索微服务中调用商品微服务中已经实现了的操作即可。。
做个简单的回顾,搜索需要的数据有两种:展示数据和过滤数据。
其中将涉及到的数据表做一个整理:
展示数据涉及到的表
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都是两个星期前实现的了,很多都忘记了,所以今天算是做了一个回顾与整理。
后续写搜索相关的业务时,也好用今天整合的做一个对应。
最后
行有不得反求诸己,我是@刘小爱
一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。
领取专属 10元无门槛券
私享最新 技术干货