Spring Boot实训项目 瑞吉外卖功能实现(二)

简介: Spring Boot实训项目 瑞吉外卖功能实现(二)

套餐关系表

字段

数据类型

主键

外键

是否为空

说明

Id

bigint(20)

CategoryId

bigint(20)

分类ID

Name

varchar(64)

套餐名称

Price

decimal(10)

套餐价格

Status

Int(11)

状态

Code

varchar(32)

编码

Descripte

varchar(512)

描述信息

Image

varchar(255)

图片

CreateTime UpdateTime

datetime

datetime

创建时间

更新时间

Createuser

Bigint(20)

创建者

Updateuser

Bigint(20)

修改者

Is_Delete

varchar(50)

是否删除

用户表

购物车表

地址薄表

分类表

菜品表

口味表

员工表

订单表

订单详情表

套餐表

套餐关系表

实体E-R图

6 具体实现

6.1 员工登录

6.1.1 登录功能

内部员工必须输入员工账号和密码,通过验证后才可以访问系统管理后台。过滤器会判断用户是否已经完成了登录,如果没有登录则跳转到登陆页面。

员工登录与退出核心代码:

1. @PostMapping("/employee/login")
2. 
3.     public R<Employee> login(HttpServletRequest request, @RequestBody Employee employee){
4. 
5.         //RequestBody可以接收JSON格式的数据并解析为实体类(Employee)
6. 
7.         String username = employee.getUsername();
8. 
9.         String password = DigestUtils.md5DigestAsHex(employee.getPassword().getBytes());
10. 
11.         System.out.println("用户名:"+username+"--密码:"+password);
12. 
13.         //LambdaQueryWrapper<List<Map>> lambdaQueryWrapper = new LambdaQueryWrapper<>();
14. 
15.         LambdaQueryWrapper<Employee> queryWrapper = new LambdaQueryWrapper<>();
16. 
17.         //查询结果是单张表,用实体类接收;如果是if交叉查询(多张表查询)用List<Map>
18. 
19.         queryWrapper.eq(Employee::getUsername,username);
20. 
21.         //使用LambdaQueryWrapper免除写sql,相当于进行select操作
22. 
23.         Employee employee1 = employeeService.getOne(queryWrapper);
24. 
25.         System.out.println("2********username:"+employee1.getPhone());
26. 
27.         if (employee1 == null){
28. 
29.             return R.error("用户名错误,登录失败,请重试!");
30. 
31.         }
32. 
33.         if (!password.equals(employee1.getPassword())){
34. 
35.             return R.error("密码错误,登录失败,请重试!");
36. 
37.         }
38. 
39.         if (employee1.getStatus()!=1){
40. 
41.             return R.error("该账户被删除或禁用,登录失败!");
42. 
43.         }
44. 
45.         request.getSession().setAttribute("employee",employee1);  //为了filter、后续调用方便
46. 
47.         BaseContext.setCurrentUserID(employee1.getId());  //为了普通类能够调用
48. 
49.         return R.success(employee1);
50. 
51.     }
52. 
53.     @PostMapping("/employee/logout")
54. 
55.     public R<Employee> logout(HttpServletRequest request){
56. 
57.         request.getSession().removeAttribute("employee");
58. 
59.         request.getSession().invalidate();
60. 
61.         return R.success(null);
62. 
63.     }

6.2 员工管理

6.2.1 查询功能

输入对应的员工名称可查找该员工。

6.2.2 添加功能

通过输入新员工的信息实现对员工的新增操作。

6.2.3 修改功能

点击编辑可以对所选员工的个人信息进行修改。

6.2.4 禁用功能

可以点击禁用禁止该员工的登录权限。

目录
相关文章
|
25天前
|
XML Java 应用服务中间件
SpringBoot项目打war包流程
本文介绍了将Spring Boot项目改造为WAR包并部署到外部Tomcat服务器的步骤。主要内容包括:1) 修改pom.xml中的打包方式为WAR;2) 排除Spring Boot内置的Tomcat依赖;3) 添加Servlet API依赖;4) 改造启动类以支持WAR部署;5) 打包和部署。通过这些步骤,可以轻松地将Spring Boot应用转换为适合外部Tomcat服务器的WAR包。
121 64
SpringBoot项目打war包流程
|
5天前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
28 7
|
28天前
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
124 36
|
20天前
|
自然语言处理 IDE Java
SpringBoot start.aliyun.com创建项目,解决properties乱码的问题
通过确保文件和开发环境的编码一致,配置 Maven 编码,设置 Spring Boot 应用和嵌入式服务器的编码,可以有效解决 properties 文件的乱码问题。以上步骤可以帮助开发者确保在 Spring Boot 项目中正确处理和显示多语言字符,避免因编码问题导致的乱码现象。
35 5
|
2月前
|
设计模式 XML Java
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
本文详细介绍了Spring框架的核心功能,并通过手写自定义Spring框架的方式,深入理解了Spring的IOC(控制反转)和DI(依赖注入)功能,并且学会实际运用设计模式到真实开发中。
【23种设计模式·全精解析 | 自定义Spring框架篇】Spring核心源码分析+自定义Spring的IOC功能,依赖注入功能
|
2月前
|
存储 JSON 前端开发
【Spring项目】表白墙,留言板项目的实现
本文主要介绍了表白墙项目的实现,包含前端和后端代码,以及测试
|
2月前
|
JSON 前端开发 Java
|
2月前
|
缓存 前端开发 Java
【Spring】——SpringBoot项目创建
SpringBoot项目创建,SpringBootApplication启动类,target文件,web服务器,tomcat,访问服务器
|
2月前
|
存储 JavaScript 前端开发
基于 SpringBoot 和 Vue 开发校园点餐订餐外卖跑腿Java源码
一个非常实用的校园外卖系统,基于 SpringBoot 和 Vue 的开发。这一系统源于黑马的外卖案例项目 经过站长的进一步改进和优化,提供了更丰富的功能和更高的可用性。 这个项目的架构设计非常有趣。虽然它采用了SpringBoot和Vue的组合,但并不是一个完全分离的项目。 前端视图通过JS的方式引入了Vue和Element UI,既能利用Vue的快速开发优势,
148 13
|
Java 数据库 数据安全/隐私保护
《Spring 3.0就这么简单》——1.2 实例功能概述
Spring拥有持久层、业务层和展现层的“原生技术”,分别是Spring JDBC、声明式事务和Spring MVC。为了充分展现Spring本身的魅力,在本章中仅使用Spring的这些原生技术,在以后的章节中,我们将学习其他的持久层和展现层技术,只要用户愿意,就可以平滑地将其过渡到其他技术实现中。
2108 0