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 禁用功能

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

目录
相关文章
|
1天前
|
JavaScript Java Maven
毕设项目&课程设计&毕设项目:springboot+vue实现的在线求职管理平台(含教程&源码&数据库数据)
本文介绍了一款基于Spring Boot和Vue.js实现的在线求职平台。该平台采用了前后端分离的架构,使用Spring Boot作为后端服务
毕设项目&课程设计&毕设项目:springboot+vue实现的在线求职管理平台(含教程&源码&数据库数据)
|
1天前
|
NoSQL JavaScript 前端开发
SpringBoot+Vue实现校园二手系统。前后端分离技术【完整功能介绍+实现详情+源码】
文章介绍了如何使用SpringBoot和Vue实现一个校园二手系统,采用前后端分离技术。系统具备完整的功能,包括客户端和管理员端的界面设计、个人信息管理、商品浏览和交易、订单处理、公告发布等。技术栈包括Vue框架、ElementUI、SpringBoot、Mybatis-plus和Redis。文章还提供了部分源代码,展示了前后端的请求接口和Redis验证码功能实现,以及系统重构和模块化设计的一些思考。
SpringBoot+Vue实现校园二手系统。前后端分离技术【完整功能介绍+实现详情+源码】
|
4天前
|
前端开发 数据库
SpringBoot+Vue+token实现(表单+图片)上传、图片地址保存到数据库。上传图片保存位置到项目中的静态资源下、图片可以在前端回显(二))
这篇文章是关于如何在SpringBoot+Vue+token的环境下实现表单和图片上传的优化篇,主要改进是将图片保存位置从磁盘指定位置改为项目中的静态资源目录,使得图片资源可以跨环境访问,并在前端正确回显。
|
4天前
|
Java 关系型数据库 MySQL
1、Mybatis-Plus 创建SpringBoot项目
这篇文章是关于如何创建一个SpringBoot项目,包括在`pom.xml`文件中引入依赖、在`application.yml`文件中配置数据库连接,以及加入日志功能的详细步骤和示例代码。
|
5天前
|
XML JSON Java
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
本文介绍了如何使用IntelliJ IDEA和Maven搭建一个整合了Struts2、Spring4、Hibernate4的J2EE项目,并配置了项目目录结构、web.xml、welcome.jsp以及多个JSP页面,用于刷新和学习传统的SSH框架。
15 0
使用IDEA+Maven搭建整合一个Struts2+Spring4+Hibernate4项目,混合使用传统Xml与@注解,返回JSP视图或JSON数据,快来给你的SSH老项目翻新一下吧
|
5天前
|
Java Maven
构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
这篇文章详细介绍了构建SpringBoot项目的过程,包括新建工程、选择环境配置、添加依赖、项目结构说明,并演示了如何编写一个简单的Controller控制器实现输出功能,最后讲解了如何使用Maven将项目打包成可执行的JAR包,并提供了运行JAR包的命令和测试效果。
构建Springboot项目、实现简单的输出功能、将项目打包成可以执行的JAR包(详细图解过程)
|
1天前
|
NoSQL JavaScript Java
SpringBoot+Vue+Redis实现验证码功能、一个小时只允许发三次验证码。一次验证码有效期二分钟。SpringBoot整合Redis
这篇文章介绍了如何使用SpringBoot、Vue和Redis实现验证码功能,包括验证码的有效期控制和每小时发送次数限制,以及具体的实现步骤和效果演示。
|
5天前
|
前端开发 Java 测试技术
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
单元测试问题之在Spring MVC项目中添加JUnit的Maven依赖,如何操作
|
5天前
|
存储 NoSQL Java
基于SpringBoot+Redis实现查找附近用户的功能
使用Redis的GEO命令结合SpringBoot实现查找附近用户的功能,通过`GEOADD`命令添加地理位置信息和`GEORADIUS`命令查询附近用户。
11 0
|
5天前
|
存储 NoSQL Redis
基于SpringBoot+Redis实现点赞/排行榜功能,可同理实现收藏/关注功能,可拓展实现共同好友/共同关注/关注推送功能
在SpringBoot项目中使用Redis的Set和ZSet集合实现点赞和排行榜功能,并通过示例代码展示了如何使用`stringRedisTemplate`操作Redis来完成这些功能。
28 0