Java项目-瑞吉外卖Day5

视线新增套餐功能:
创建SetmealDish,SetmealDto类,与相关的mapper,service,serviceImpl,controller类。

Setmeal表示套餐,SetmealDish表示套餐对应的菜品。 

Java项目-瑞吉外卖Day5_第1张图片

交互过程:
Java项目-瑞吉外卖Day5_第2张图片

前端请求,点击菜品分类查看对应菜品:
Java项目-瑞吉外卖Day5_第3张图片

后端代码:

Java项目-瑞吉外卖Day5_第4张图片

前端效果:
Java项目-瑞吉外卖Day5_第5张图片

点击保存按钮后发送的请求:
Java项目-瑞吉外卖Day5_第6张图片

携带的json数据:
Java项目-瑞吉外卖Day5_第7张图片

后端响应,使用SetmealDto接收:
Java项目-瑞吉外卖Day5_第8张图片

编写service层方法,对两个表setmeal,setmeal_dish进行添加套餐和套餐菜品。

Java项目-瑞吉外卖Day5_第9张图片

后端调用:
Java项目-瑞吉外卖Day5_第10张图片

实现套餐分页查询:
前端请求:
Java项目-瑞吉外卖Day5_第11张图片

后端代码,跟菜品分类基本一模一样。

Java项目-瑞吉外卖Day5_第12张图片

想要在前端展示套餐分类,对应的是categoryName属性。

Java项目-瑞吉外卖Day5_第13张图片

可以看到setmeal表中没有对应的属性,只有category_id属性。

Java项目-瑞吉外卖Day5_第14张图片

所以需要根据category_id查询到categoryName字段并保存到setmealDto对象当中,再与前端交互。

实现删除套餐:

查看前端请求

Java项目-瑞吉外卖Day5_第15张图片

后端对应:
Java项目-瑞吉外卖Day5_第16张图片

实现的删除方法,删除setmeal表和setmeal_dish表中的数据:

Java项目-瑞吉外卖Day5_第17张图片

实现短信发送:
导入maven坐标:
Java项目-瑞吉外卖Day5_第18张图片

实现User类及相关mapper类service类controller类,并添加工具类SMSUtils和ValidateCodeUtils。

Java项目-瑞吉外卖Day5_第19张图片

发送验证码后端代码,使用ValidateCodeUtils工具类生成验证码,使用log.info打印在控制台。实际生产情况中是使用SMSUtils根据阿里云向手机号发送验证码,由于需要认证,所以此处简化。将code存入session中。

Java项目-瑞吉外卖Day5_第20张图片

实现登陆功能后端代码,使用Map对接请求中的属性(也可以使用DTO类,此处偷懒):

流程就是判断验证码是否正确,判断用户是否存在,最后将user存入到session中,不然前端页面跳转后会被LoginCheckFilter拦截。

Java项目-瑞吉外卖Day5_第21张图片

修改LoginCheckFilter类,加入user的白名单。

Java项目-瑞吉外卖Day5_第22张图片

你可能感兴趣的:(java,开发语言)