基于javaweb的在线订餐系统(java+springboot+thymeleaf+html+bootstrap+ajax+mysql)
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb+SpringBoot的在线订餐系统(java+SpringBoot+ThymeLeaf+html+Bootstrap+ajax+mysql)
项目介绍
SpringBoot在线订餐系统项目。主要功能说明:
分为两个角色,餐厅老板和普通用户 餐厅老板可以登录,注册,可以在后台设置菜品目录,菜品详情,查看订单,用户管理,个人中心等 用户查看首页菜品信息,登录后可以点餐,形成购物车,支付后会出现订单详情
请用电脑浏览器打开
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可 4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
技术栈
后端框架:SpringBoot + MybatisPlus 模板引擎:Thymeleaf 前端框架:BootStrap JS技术 :JQuery + Ajax
设计亮点:用Spring-Security5代替传统的Session拦截页面
使用说明
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件; 2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,下载所需jar包; 3. 将项目中applicaion.yml配置文件中的数据库配置改为自己的配置 4. 配置tomcat,然后运行项目,输入localhost:8080/xxx 登录
后台订单相关controller:
/**
- @author yy 后台订单相关controller
*/
@Controller
public class Back_OrderController {
@Autowired
private OrderService orderService;
@Autowired
private UserService userService;
@Autowired
private EvaService evaService;
/**
-
跳转到订单详情页面–并展示订单详情
-
@return
*/
@RequestMapping(“/admin/toOrderList”)
public String orderForm(@RequestParam(required = true, defaultValue = “1”) Integer page, Model model) {
PageHelper.startPage(page, 5);
List orderAll = orderService.findOrderAll();
model.addAttribute(“order”,orderAll);
PageInfo pageInfo = new PageInfo<>(orderAll);
model.addAttribute(“page”, pageInfo);
return “/admin/order/order_list”;
@RequestMapping(“/admin/deleteOrder”)
public String deleteOrder(String orderId){
orderService.deleteOrder(orderId);
return “redirect:/admin/toOrderList”;
/**
-
修改后台订单状态
-
@param orderId
-
@param orderStatus
-
@return
*/
@RequestMapping(“/admin/updateAdminOrderStatus”)
public String updateAdminOrderStatus(String orderId,Integer orderStatus){
orderService.updateOrderStatus(orderStatus,orderId);
return “redirect:/admin/toOrderList”;
/**
-
跳转到回复评论界面
-
@param orderId
-
@param model
-
@return
*/
@RequestMapping(“/admin/toAnsEva”)
public String toAnsEva(String orderId,Model model){
Evaluate evaluate = evaService.findEvaListByOrderId(orderId);
model.addAttribute(“evaluate”,evaluate);
return “/admin/adminAnsEva”;
@RequestMapping(“/admin/ansEva”)
public String ansEva(String orderId,String ansContent,Integer orderStatus){
evaService.saveAnsEva(orderId,ansContent);
orderService.updateOrderStatus(orderStatus,orderId);
return “redirect:/admin/toOrderList”;
//跳转到订单详情页面
@RequestMapping(“/admin/orderDetailed”)
public String orderDetailed(String orderId,Model model){
Order order = orderService.findListByOrderId(orderId);
model.addAttribute(“order”,order);
return “/admin/order/order_detailed”;
/**
- 根据订单状态查询订单
*/
@RequestMapping(“/admin/searchOrderList”)
public String searchOrderList(Integer status,Model model){
List orderList = orderService.findOrderByStatus(status);
model.addAttribute(“orderList”,orderList);
return “/admin/toOrderList”;
/*
-
导出到excel
-
@return
*/
@RequestMapping(“/admin/downloadInfoToExcel”)
public ModelAndView downloadInfoToExcel() {
System.out.println(“导出到excel”);
ModelAndView mv = new ModelAndView();
try {
//1-根据id数组获取数据库数据
List dataList = getExcelDataList();
//2-获取列标题和封装数据
Map<String, Object> dataMap = getTitleArrayAndVarList(dataList);
//3-获取Excel表格文件名和表格标题
Map<String, String> excelMap = getExcelTitleAndFileName();
//4-创建AbstractExcelView
AbstractExcelView erv = getAbstractExcelView(excelMap);