苍穹外卖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的开发。

相关推荐
m0_587383007 小时前
24小时自助健身房软硬件解决方案实战指南:从架构设计到部署实施
java·spring·小程序·架构·需求分析
m0_462803887 小时前
会议签到里,手写签名怎样从“额外动作“变成流程环节
微信小程序
m0_5873830011 小时前
24小时自助健身房软硬件解决方案实战:从架构设计到部署指南
java·spring·小程序·架构·需求分析
CRMEB系统商城12 小时前
前后端技术栈全面换代!CRMEB 多商户(Java)v3.0更新预告
java·开发语言·小程序·php
醒目8013 小时前
从图像到拼豆图纸:像素化生成与色板匹配技术实践
微信小程序
2501_9160074714 小时前
苹果应用商店App Store上架费用标准及原因解析
android·ios·小程序·https·uni-app·iphone·webview
00后程序员张1 天前
苹果App Store上架指南:费用、原理与步骤详解
android·ios·小程序·https·uni-app·iphone·webview
paopaokaka_luck2 天前
个人综合管理小程序(echarts数据看板、健康数据记录与趋势查看、目标拆解和进度管理、日程待办与番茄钟、习惯打卡、收支统计、个人生活记录、跨模块智能提醒)
前端·javascript·spring·小程序·数据分析·echarts·生活
愚公搬代码2 天前
【愚公系列】《微信小程序项目实战(AI编程+视频图解)》002-一张新地图:AI创业的核心分析框架
人工智能·微信小程序·ai编程
m0_587383002 天前
广州24小时自助健身房解决方案实战指南与系统部署要点
java·spring·小程序·架构·需求分析