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

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

目录
相关文章
|
2天前
|
消息中间件 缓存 Java
手写模拟Spring Boot启动过程功能
【11月更文挑战第19天】Spring Boot自推出以来,因其简化了Spring应用的初始搭建和开发过程,迅速成为Java企业级应用开发的首选框架之一。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,帮助读者深入理解其工作机制。
17 3
|
2天前
|
Java 开发者 微服务
手写模拟Spring Boot自动配置功能
【11月更文挑战第19天】随着微服务架构的兴起,Spring Boot作为一种快速开发框架,因其简化了Spring应用的初始搭建和开发过程,受到了广大开发者的青睐。自动配置作为Spring Boot的核心特性之一,大大减少了手动配置的工作量,提高了开发效率。
13 0
|
12天前
|
Java 应用服务中间件
SpringBoot获取项目文件的绝对路径和相对路径
SpringBoot获取项目文件的绝对路径和相对路径
49 1
SpringBoot获取项目文件的绝对路径和相对路径
|
3天前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
11 2
|
7天前
|
分布式计算 关系型数据库 MySQL
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型
SpringBoot项目中mysql字段映射使用JSONObject和JSONArray类型 图像处理 光通信 分布式计算 算法语言 信息技术 计算机应用
27 8
|
12天前
|
前端开发 Java easyexcel
SpringBoot操作Excel实现单文件上传、多文件上传、下载、读取内容等功能
SpringBoot操作Excel实现单文件上传、多文件上传、下载、读取内容等功能
50 8
|
14天前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 构建一个前后端分离的应用框架,实现动态路由和菜单功能。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,帮助开发者提高开发效率和应用的可维护性。
32 2
|
14天前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
38 2
|
14天前
|
JSON Java 数据库
SpringBoot项目使用AOP及自定义注解保存操作日志
SpringBoot项目使用AOP及自定义注解保存操作日志
28 1
|
1月前
|
JavaScript 安全 Java
如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架
本文介绍了如何使用 Spring Boot 和 Ant Design Pro Vue 实现动态路由和菜单功能,快速搭建前后端分离的应用框架。首先,确保开发环境已安装必要的工具,然后创建并配置 Spring Boot 项目,包括添加依赖和配置 Spring Security。接着,创建后端 API 和前端项目,配置动态路由和菜单。最后,运行项目并分享实践心得,包括版本兼容性、安全性、性能调优等方面。
137 1