Java项目-瑞吉外卖Day5

视线新增套餐功能:

创建SetmealDish,SetmealDto类,与相关的mapper,service,serviceImpl,controller类。

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

交互过程:

前端请求,点击菜品分类查看对应菜品:

后端代码:

前端效果:

点击保存按钮后发送的请求:

携带的json数据:

后端响应,使用SetmealDto接收:

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

后端调用:

实现套餐分页查询:

前端请求:

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

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

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

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

实现删除套餐:

查看前端请求

后端对应:

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

实现短信发送:

导入maven坐标:

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

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

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

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

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

相关推荐
星辰_mya11 分钟前
PV之系统与并发的核心wu器
java·开发语言·后端·学习·面试·架构师
va学弟25 分钟前
Agent入门开发
java·运维·服务器·ai
做时间的朋友。30 分钟前
Java虚拟线程详解:从原理到实战,解锁百万并发新姿势
java·开发语言
一只大袋鼠30 分钟前
MyBatis 从入门到实战(二):代理 Dao 开发与多表关联查询
java·开发语言·数据库·mysql·mybatis
明月醉窗台32 分钟前
Python-opencv批量处理文件夹中图像操作
开发语言·python·opencv
周末也要写八哥34 分钟前
C++实际开发之泛型编程(模版编程)
java·开发语言·c++
好家伙VCC35 分钟前
**发散创新:用 Rust实现游戏日引擎核心模块——从事件驱动到多线程调度的实战
java·开发语言·python·游戏·rust
014-code41 分钟前
Chronicle Queue:把 Disruptor 的数据落盘
java·服务器
Dxy12393102161 小时前
Python在图片上画圆形:从入门到实战
开发语言·python
小江的记录本1 小时前
【系统设计】《2026高频经典系统设计题》(秒杀系统、短链接系统、订单系统、支付系统、IM系统、RAG系统设计)(完整版)
java·后端·python·安全·设计模式·架构·系统架构