苍穹外卖Day06 微信小程序模块

1.首先就是登录微信小程序,这个腾讯有一套自己的流程如下图所示:

流程梳理:

这里的4. 在本项目中通过springmvc将code发送给后端的接口。

下面贴出在user端的userController如何实现登录的代码:

其实userService.login本质上就是在完成上面的二阶段和三阶段。下面的代码就是完成四和五两个阶段,也就是生成JWT令牌并且返回给前端!

下面是service中的login代码:

Mapper层的查询和插入比较简单就不多赘述了。

接下来是前端商品浏览功能

先看一下样例:

我们分别有四个接口:

1.分类查询

2.根据菜品分类查询菜品数据

3.根据套餐分类查询套餐数据

4.根据套餐id查询包含的菜品列表

首先是我们的分类查询:定义了一个categoryController,查询接口文档定义如下:

你别看前端需要传递到底是套餐分类还是菜品,这个可能是为了后面精确查询设计的但是这里确实没有,调试的代码如下图所示:

显然我们的前端没有给type传递数值,而是统一查询出了所有status=1也就是在售的category

其次是我们需要查询每个分类中具体的数据也就是(套餐or菜品)本质上每个category有多个菜品或套餐,所以查询出来应该是一个List集合。

首先是菜品分类查询,下面是dishController的代码:

没必要看接口了,前端点击了一个category的bottom这个bottom是由前面的分类查询查找出来的,所以会有一个categoryId点了bottom就会将该分类的categoryId传给后端,后端根据分类Id查询菜品,菜品返回给前端的是一个VO对象,这个对象不仅仅包括了菜品的信息,也包括了该菜品的Flavor所以要操作两个表。下面是service的代码:

我们直接用New一个Dish对象进行查询。这里的Mapper层是一个left Join查询,需要连接Dish表和Flavor表,具体XML文件如下:

首先需要定义一个resultMap,就是将我们查询结果封装到VO里面的参照物,这一段可以看后面redis缓存的时候有一个勘误。

就不细说了。

同样根据分类还能查询套餐的数据,其实本质上可以和菜品放在一起,但是套餐和菜品需要分开处理,所以给定义了两个controller层。

返回的是套餐的list对象,下面是service层的代码。

这里讲一下为什么需要用Setmeal对象去Mapper查询,本质上就是构造一个通用的查询方式,当然我们只用categoryId也可以查询的,是为了后续设计更多的精确查询,比如输入套餐的部分名字也可以查询到想要的套餐。

Mapper层代码如下:

这里学会SQL里面的like以及concat~~~

最后套餐查询有一个特殊的点,就是查询套餐的具体内容,因为一个套餐可以包括多个菜品所以它具备具体的内容,多一个接口。接口文档如下:

如图所示我们需要返回一个DishItemVO对象给前端 下图是其定义内容:

根据套餐id进行查询setmealDish表就好了,下图是service的代码:

mapper层实际上是要查两个表一个是setmeal表另一个是setmealDish表因为DishItemVO中的参数不全在一个表中所以需要连接两个表查询具体SQL如下:

完成了Day06的开发。

相关推荐
CHU7290351 天前
淘宝扭蛋机抽盒小程序前端功能解析:解锁趣味抽盒新体验
前端·小程序
2501_933907211 天前
深圳本凡科技专业企业APP开发,助力手机应用创新优化
科技·微信小程序·小程序
每天都要加油呀!1 天前
TypeError: uni.requestPayment is not a function
小程序
java1234_小锋1 天前
分享一套优质的微信小程序校园志愿者系统(SpringBoot后端+Vue3管理端)
微信小程序·小程序·校园志愿者
2501_916008891 天前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
打破砂锅问到底0071 天前
AI 驱动开发实战:10分钟从零构建「微信群相册」小程序
人工智能·微信·小程序·ai编程
CHU7290351 天前
扭蛋机盲盒小程序前端功能设计解析:打造趣味与惊喜并存的消费体验
前端·小程序
QT.qtqtqtqtqt1 天前
uni-app小程序前端开发笔记(更新中)
前端·笔记·小程序·uni-app
CHU7290351 天前
直播商城APP前端功能全景解析:打造沉浸式互动购物新体验
java·前端·小程序
黑客老李2 天前
web渗透实战 | js.map文件泄露导致的通杀漏洞
安全·web安全·小程序·黑客入门·渗透测试实战