一、套餐管理开发
前言
显而易见,套餐管理背后对应的套餐表和菜品表是多对多关系。所以本次学习的本质就是mybatis-Plus的多对多的增删改查。
1.新增套餐
setmeal_dish是套餐和菜品的关系表,红色圈住的字段都是冗余字段,方便之后不用查菜品的名字、价格等了,直接用这个属性去展示。
导入Setmeal(之前导入了)、SetmealDish实体类,创建对应的mapper、service接口和类,创建SetmealController类,请求都在这个类写就行了。
根据分类id展示菜品
接下来就是多对多关系的保存了。
前端传过来的数据是这样的,没有实体可以对应,所以再创键一个DTO类来接收。
这和一对多关系中DTO类是一样的。保存代码中除了多对多保存的是关系表,菜品管理保存的是对应的另一张表,其他都一样
分页查询代码不介绍了,和菜品管理的分页查询一样,在SetmealDto类中加一个categoryName属性,然后...就能看到分类名的效果了。
2.删除
删除可以批量删除,也可以一个一个删除
代码如下,删除也是对套餐表和套餐_菜品关系表进行删除。
二、手机验证码登录
1.短信发送
(1)获取短信服务
市面上有很多第三方提供的短信服务,这里我们使用阿里云短信服务。
①首先,我们需要去注册阿里云账号、登录,使用短信服务。
②我们个人用户直接使用阿里云提供的快速学习和测试,也就不需要申请签名和模板了。
③设置AccessKey
AccessKey就是一对用户名密码,在程序中访问阿里云服务时,需要提供一对用户名密码来进行认证鉴权
如果点击继续使用AccessKey,就会创建一个新的AccessKey(AccessKey是我们访问阿里云api的一个密钥,具有该账户完全权限 ),一旦泄露了,危害性很大,因为用户可以拿着AccessKey访问阿里云服务任意的服务。所以我们点击后面那个按钮,这样获得的AccessKey的权限可以由我们控制。
点击创建用户
这样就创建好了 AccessKey,并挂载了刚刚创建的用户上。
然后再,点击这个用户,进行授权
(2)短信发送代码
点击调用API发送短信
将依赖写入pom文件中
然后复制所给的代码稍加修改(设置AccessKey,将main方法改为一个静态方法),便可获得一个SMSUtils发送短信的类。
2.手机验证码登录
(1)修改之前写的登录过滤器
将移动端的登录申请和验证码请求设为不处理路径
判断登录状态
(2)引入验证码生成类
(3)编写代码
老一套,引入User实体类、创建mapper、service及实现类 ,在controller类实现发送验证码和登录的两个请求代码。
发送验证码
登录
就此成功了。