博主介绍: ✌至今服务客户已经1000+、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌
🍅 文末获取源码联系 🍅
👇🏻 精彩专栏 推荐订阅 👇🏻 不然下次找不到
Java项目精品实战专区
https://blog.csdn.net/java18343246781/category_12537229.htmlJava各种开发工具资源包网站
http://62.234.13.119:9000/html/visitor/softwareResourceList.html
软件安装+项目部署专区
https://blog.csdn.net/java18343246781/category_12539864.htmlv
系列文章目录
前言
一、运行环境
二、代码示例
三、系统展示
前言
1) 系统首页:用户登录成功后可以看到左侧包含蛋糕分类,可以点击分类来查看对应的蛋糕。 2) 购物车信息:点击加入购物车后,用户可以点击购物车信息来查看当前加购的商品。 3) 下单:当勾选购物车中的商品点击下单后会跳转到下单页面。然后确认订单信息点击提交。 4) 下单记录:提交完订单后,自动跳转订单列表页面,可以查看当前订单信息。 5) 我的地址:管理自己的地址信息。当用户选择配送后默认回填该地址信息。 6) 我的钱包:用户下单后,自动扣减钱包内的金额。 7) 投诉信息:用户可以对商家进行投诉。并且可以查看历史投诉内容与商家处理的进度。 8) 用户管理:管理员可以管理系统的所有用户信息。可以后台重置用户登录密码。 9) 钱包管理:可以查看到用户的余额以及支付密码。 10) 菜单管理:对蛋糕的商品进行管理。具有查询、新增、修改等功能。支持图片上传。 11) 餐桌管理:用户如果在店就餐,可以选择餐桌位置。 12) 订单管理:可以查看所有订单信息。并分为四种状态未处理订单、订单处理中、已完成订单、已取消订单。 13) 留言管理:用户可以对商家进行留言,商家可以选择优质的留言信息展示在用户端。
一、运行环境
1) 运行环境jdk1.8 2) 运行工具:IDEA 3) 依赖:maven 4) 后端框架Springboot、mybatis 5) 前端HTMl、thymeleaf
二、代码示例
代码如下(示例):
//分页查询 根据餐桌名称查询
@RequestMapping("page")
public String page(String deskNumber, Model model, @RequestParam(defaultValue = "1") Integer pageNum,
@RequestParam(defaultValue = "6") Integer pageSize) {
//获取所有餐桌信息
List<Desk> deskList = deskService.selectAll();
fleshDesks(deskList);
Page<Desk> page = PageHelper.startPage(pageNum, pageSize);
List<Desk> desks = deskService.selectDeskPage(deskNumber);
model.addAttribute("desks", desks);
model.addAttribute("page", page);
return "admin/deskPage";
}
//删除餐桌信息
@RequestMapping("delDesk/{deskId}")
public String delDesk(@PathVariable Integer deskId) {
boolean flag = deskService.delMenu(deskId);
log.info("删除菜品信息:{}", flag);
return "redirect:/desk/page";
}
//修改餐桌的信息
@RequestMapping("editDesk/{deskId}")
public String editDesk(@PathVariable("deskId") Integer deskId, Model model) {
Desk desk = deskService.selectByDeskId(deskId);
model.addAttribute("desk", desk);
return "admin/editDeskPage";
}
//更新餐桌的信息
@RequestMapping("updateDesk")
public String updateDesk(Desk desk) {
boolean flag = deskService.updateDesk(desk);
log.info("修改餐桌信息:{}", flag);
return "redirect:/desk/page";
}
//重置餐桌的信息
@RequestMapping("resetDesk/{deskId}")
public String resetDesk(@PathVariable("deskId") Integer deskId) {
deskService.updateDeskState(deskId);
return "redirect:/desk/page";
}
//添加餐桌页面
@RequestMapping("toAddDesk")
public String toAddDesk() {
return "admin/addDeskPage";
}
//添加餐桌信息
@RequestMapping("addDesk")
@Transactional
public String addDesk(Desk desk) throws IOException {
String path = FileUtil.saveImg(desk.getImg());
desk.setPictureAddress(path);
boolean flag = deskService.addDesk(desk);
log.info("添加餐桌信息修改餐桌信息:{}", flag);
return "redirect:/desk/page";
}
//刷新餐桌信息
public void fleshDesks(List<Desk> deskList){
//更新餐桌预定时间,预定时间超过,重置状态
Date date = new Date();
SimpleDateFormat reserveDateFormat = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat reserveTimeFormat = new SimpleDateFormat("HH:mm");
String nowDate = reserveDateFormat.format(date);
String nowTime = reserveTimeFormat.format(date);
for (Desk desk : deskList) {
if (desk.getState()) {
String reserveDate = desk.getReserveDate();
if (nowDate.compareTo(reserveDate.toString()) > 0 ||(nowDate.compareTo(reserveDate.toString()) == 0 && nowTime.compareTo(desk.getOrdersEndTime())>=0)) {
deskService.updDesk(null,desk.getDeskNumber(), null, TableStateEnum.STATE_FALSE.getValue(), null,null,null);
}
}
}
}
//预定餐桌页面
@RequestMapping("toOrdersTable")
public String toOrdersTable(Model model) {
//获取所有餐桌信息
List<Desk> deskList = deskService.selectAll();
fleshDesks(deskList);
//获取所有的最新餐桌信息
deskList = deskService.selectAll();
model.addAttribute("deskList", deskList);
return "user/deskPage";
}
//修改预定餐桌页面
@RequestMapping("toUpdOrdersTable")
public String toUpdOrdersTable(Model model) {
//获取所有餐桌信息
List<Desk> deskList = deskService.selectAll();
fleshDesks(deskList);
//获取所有的最新餐桌信息
deskList = deskService.selectAll();
model.addAttribute("deskList", deskList);
return "user/deskUpdPage";
}
三、系统展示
系统首页:用户登录成功后可以看到左侧包含蛋糕分类,可以点击分类来查看对应的蛋糕。
购物车信息:点击加入购物车后,用户可以点击购物车信息来查看当前加购的商品。
下单:当勾选购物车中的商品点击下单后会跳转到下单页面。然后确认订单信息点击提交。
下单记录:提交完订单后,自动跳转订单列表页面,可以查看当前订单信息。
我的地址:管理自己的地址信息。当用户选择配送后默认回填该地址信息。
我的钱包:用户下单后,自动扣减钱包内的金额。
投诉信息:用户可以对商家进行投诉。并且可以查看历史投诉内容与商家处理的进度。
用户管理:管理员可以管理系统的所有用户信息。可以后台重置用户登录密码。
钱包管理:可以查看到用户的余额以及支付密码。
菜单管理:对蛋糕的商品进行管理。具有查询、新增、修改等功能。支持图片上传。
餐桌管理:用户如果在店就餐,可以选择餐桌位置。
订单管理:可以查看所有订单信息。并分为四种状态未处理订单、订单处理中、已完成订单、已取消订单。
留言管理:用户可以对商家进行留言,商家可以选择优质的留言信息展示在用户端。