基于javaweb的SpringBoot在线点餐系统(java+springboot+maven+mybatis+vue+mysql+redis)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

170123072402

180123072402

190123072402

200123072402

210123072402

220123072402

592024493108

基于javaweb的SpringBoot在线点餐系统(java+springboot+maven+mybatis+vue+mysql+redis)

项目描述:

这是一个基于SpringBoot+Vue框架开发的在线点餐系统。首先,这是一个前后端分离的项目。具有一个在线点餐系统该有的所有功能。

项目功能:

此项目分为两个角色:普通用户和管理员。普通用户有登录注册、浏览商品信息、添加购物车、结算订单、查看个人信息、查看个人订单详情等等功能。管理员有管理所有商品信息、管理所有订单信息、管理所有用户信息、查看收益数据图表等等功能。

应用技术:SpringBoot + VueCli + MySQL + MyBatis + Redis + ElementUI

运行环境:IntelliJ IDEA2019.3.5 + MySQL5.7+ Redis5.0.5 + JDK1.8 + Maven3.6.3+ Node14.16.1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
    }

/**
* 后台分页获取角色数据
* @param pageDTO
* @return
*/
@PostMapping("/list")
public ResponseDTO<PageDTO<RoleDTO>> getRoleListByPage(@RequestBody PageDTO<RoleDTO> pageDTO){
return roleService.getRoleListByPage(pageDTO);
}

/**
* 后台获取所有角色数据
* @return
*/
@PostMapping("/all")
public ResponseDTO<List<RoleDTO>> getAllRoleList(){
return roleService.getAllRoleList();
}

/**
* 后台删除角色数据
* @param roleDTO
* @return
*/
@PostMapping("/remove")
public ResponseDTO<Boolean> removeRole(@RequestBody RoleDTO roleDTO){
return roleService.removeRole(roleDTO);
}
}
package com.yjq.programmer.controller.web;


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
     * @return
*/
@PostMapping("/update")
public ResponseDTO<Boolean> updateQuantity(@RequestBody CartDTO cartDTO){
return cartService.updateQuantity(cartDTO);
}
}
package com.yjq.programmer.controller.web;



/**


*/
@RestController("WebOrderController")
@RequestMapping("/web/order")
public class OrderController {

@Resource
private IOrderService orderService;

/**
* 提交订单操作
* @param orderDTO
* @return
*/
@PostMapping("/add")
public ResponseDTO<Boolean> addOrder(@RequestBody OrderDTO orderDTO){
return orderService.addOrder(orderDTO);
}

/**
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/**


*/
@RestController("WebCartController")
@RequestMapping("/web/cart")
public class CartController {

@Resource
private ICartService cartService;

/**
* 添加购物车商品操作
* @param cartDTO
* @return
*/
@PostMapping("/add")
public ResponseDTO<Boolean> addCart(@RequestBody CartDTO cartDTO){
return cartService.addCart(cartDTO);
}

/**
* 删除购物车商品操作
* @param cartDTO
* @return
*/
@PostMapping("/delete")
public ResponseDTO<Boolean> deleteCart(@RequestBody CartDTO cartDTO){
return cartService.deleteCart(cartDTO);
}

/**
* 获取某用户购物车商品信息
*/
@PostMapping("/list")
public ResponseDTO<List<CartDTO>> listCart(@RequestBody CartDTO cartDTO){
return cartService.listCart(cartDTO);
}

/**
* 更新购物车中商品数量
* @param cartDTO
* @return
*/
@PostMapping("/update")
public ResponseDTO<Boolean> updateQuantity(@RequestBody CartDTO cartDTO){
return cartService.updateQuantity(cartDTO);
}
}
package com.yjq.programmer.controller.web;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
 *
*/
@Component
public class UserLoginInterceptor implements HandlerInterceptor {

private Logger log = LoggerFactory.getLogger(UserLoginInterceptor.class);

@Resource
private IUserService userService;

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) {
String type = request.getHeader("type");
response.setCharacterEncoding("UTF-8");
if("axios".equals(type)){
// 说明是axios请求
String token = request.getHeader("token");
if(CommonUtil.isEmpty(token)){
try {
response.getWriter().write(JSON.toJSONString(CodeMsg.USER_SESSION_EXPIRED));
} catch (IOException e) {
e.printStackTrace();
}
return false;
}else {
// 和Redis中数据进行校验
UserDTO userDTO = new UserDTO();
userDTO.setToken(token);
ResponseDTO<UserDTO> responseDTO = userService.checkLogin(userDTO);
if(responseDTO.getCode() != 0){
try {
response.getWriter().write(JSON.toJSONString(CodeMsg.USER_SESSION_EXPIRED));
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
return true;
}
}
return true;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
 */
@RestController("AdminCategoryController")
@RequestMapping("/admin/category")
public class CategoryController {

@Resource
private ICategoryService categoryService;

/**
* 后台保存商品分类数据(添加、修改)
* @param categoryDTO
* @return
*/
@PostMapping("/save")
public ResponseDTO<Boolean> saveCategory(@RequestBody CategoryDTO categoryDTO){
return categoryService.saveCategory(categoryDTO);
}

/**
* 后台分页获取商品分类数据
* @param pageDTO
* @return
*/
@PostMapping("/list")
public ResponseDTO<PageDTO<CategoryDTO>> getCategoryListByPage(@RequestBody PageDTO<CategoryDTO> pageDTO){
return categoryService.getCategoryListByPage(pageDTO);
}

/**
* 后台删除商品分类数据
* @param categoryDTO
* @return
*/
@PostMapping("/remove")
public ResponseDTO<Boolean> removeCategory(@RequestBody CategoryDTO categoryDTO){
return categoryService.removeCategory(categoryDTO);
}

/**
* 后台获取所有商品分类数据
* @return
*/
@PostMapping("/all")
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
				userDTO.setToken(token);
ResponseDTO<UserDTO> responseDTO = userService.checkLogin(userDTO);
if(responseDTO.getCode() != 0){
try {
response.getWriter().write(JSON.toJSONString(CodeMsg.USER_SESSION_EXPIRED));
} catch (IOException e) {
e.printStackTrace();
}
return false;
}
return true;
}
}
return true;
}
}
package com.yjq.programmer.controller.admin;



/**


*/
@RestController("AdminRoleController")
@RequestMapping("/admin/role")
public class RoleController {

@Resource
private IRoleService roleService;

/**
* 后台保存角色数据(添加、修改)
* @param roleDTO
* @return
*/
@PostMapping("/save")
public ResponseDTO<Boolean> saveRole(@RequestBody RoleDTO roleDTO){


项目链接:
https://javayms.github.io?id=591222052008200wa
https://javayms.pages.dev?id=591222052008200wa