今天是刘小爱自学Java的第164天。
感谢你的观看,谢谢你。
![68ba284fda1daa96f3cc1d3820c8dffe.png](https://i-blog.csdnimg.cn/blog_migrate/a1105b6522378a4038ab3fc035e7fea6.png)
学习计划安排如下:
昨天分析了索引库中需要的数据格式,今天就编写并补全对应的后台业务代码。
一、搜索微服务与商品微服务
虽然说现在是在实现搜索相关的业务,但是其本质上还是对于商品的操作。
也就是说在搜索微服务中调用商品微服务中已经实现了的操作即可。。
做个简单的回顾,搜索需要的数据有两种:展示数据和过滤数据。
其中将涉及到的数据表做一个整理:
![4d20226305a123a706c65514be5dc571.png](https://i-blog.csdnimg.cn/blog_migrate/bbf79b6468960a4d7e46054966b547da.png)
①展示数据涉及到的表
SPU信息表、SPU的详情表以及SKU信息表。
②过滤数据涉及到的表
商品分类表、品牌表以及规格参数表、
根据上述实体类我们可以判断出,搜索中需要到的数据库查询包括:
分页查询SPU表。
根据spuId查询sku
根据spuId查询SpuDetail
根据商品分类id查询商品分类
规格参数的查询
根据Id查询品牌
上述这些查询方式有的我们已经实现过了,有的还没有,现在做一个完整的回顾与补全。
二、商品微服务Java代码编写
对商品的相关操作是编写在商品微服务中的。
1分页查询SPU表
![60102f0274cc12ea2fb4c8f8d418c089.png](https://i-blog.csdnimg.cn/blog_migrate/48eb8db5c128df16bb702063ebb52610.png)
该业务在第151天学习笔记中有记载:
因为涉及到一个分页查询,所以service层的代码较为复杂,当时详细编写并讲解过其代码实现,在此不再赘述。
2根据spuid查询sku表
该业务是在修改商品中实现的,笔记中我并没有做说明,这里做一个代码的补全:
![6cf96619d62f78ac7268903752f2e771.png](https://i-blog.csdnimg.cn/blog_migrate/4aa7a5da2e8b6e8d5a87d1c2cfc22221.png)
因为这类使用的是通用mapper,其实无外乎就是controller层和service层的代码编写。
Controller代码中确定和请求相关的内容。
Service层代码中编写具体的业务逻辑,同时调用mapper层完成数据的查询。
上述涉及到了Stream流的应用以及通用Mapper批量查询,这个我在第152天学习笔记中详细讲解过。
注意:每次查询完数据后要对结果做非空判断,如果为空要抛出异常,这是个好习惯。
3根据spuId查询SpuDetail
![aa225659b1e6d7f07f0012fe5fcb15e9.png](https://i-blog.csdnimg.cn/blog_migrate/33c7989485ecb6388626eac080a280b9.png)
spuId本身就是spuDetail表的主键,所以该业务实现起来也就非常的简单了。
直接使用通用mapper中的主键查询即可。
4根据商品分类id查询商品分类
![3296544b38756b1e8c1e46e85401c634.png](https://i-blog.csdnimg.cn/blog_migrate/93c0ed2d0d42e78a1e7b0aa07b80a40a.png)
这些在第152天学习笔记中学习通用mapper批量查询和stream流的时候就是写的根据多个id批量查询商品分类。
只不过当时只是编写了service层代码,并没有写controller层的代码,现在将其补全。
5根据id查询品牌
![c69622f3eb26e82466e6e6dca8c22cf3.png](https://i-blog.csdnimg.cn/blog_migrate/e492d6713776dccd183f9ba2d2254a24.png)
这个和第④点一样,在第152天学习笔记中有说明,当时是实现商品的分页时编写了其对应的业务逻辑。
当然该业务非常简单,重写一遍问题也不大。
6规格参数的查询
![b06f205104e74baa8ce79c0d87bb2816.png](https://i-blog.csdnimg.cn/blog_migrate/5d771ff08c0df4b35b49b34ce2dce081.png)
在第154天学习笔记中也有涉及到对规格参数的说明。
emm感觉今天没学啥,全都用来回顾以前所实现的业务了,因为我的学习进度拉扯的太长。
比如分页查询Spu都是两个星期前实现的了,很多都忘记了,所以今天算是做了一个回顾与整理。
后续写搜索相关的业务时,也好用今天整合的做一个对应。
最后
行有不得反求诸己,我是@刘小爱
一个白天上班晚上学习的95后沪漂,不为其它,只为学会自律做好自己,也愿我的每日打卡能给你带来勇气,欢迎点赞关注和评论。