博主介绍: ✌至今服务客户已经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) 轮播图管理:可以在后台动态设置小程序的轮播图。支持删除、查询与新增功能。
一、运行环境
1) 运行环境:jdk1.8
2) 运行工具:idea、微信开发者工具
3) maven仓库
4) 数据库:mysql5.7
5) 后端框架:springboot、MybatisPlus
6) 图片上传技术:OSS
二、代码示例
代码如下(示例):
java
//创建订单
@PostMapping("/create")
public ResultVO<Map<String, String>> create(@Valid OrderForm orderForm,
BindingResult bindingResult) {
System.out.println("orderForm=>"+orderForm);
System.out.println("bindingResult=>"+bindingResult);
if (bindingResult.hasErrors()) {
log.error("【创建订单】参数不正确, orderForm={}", orderForm);
throw new SellException(ResultEnum.PARAM_ERROR.getCode(),
bindingResult.getFieldError().getDefaultMessage());
}
OrderDTO orderDTO = OrderForm2OrderDTOConverter.convert(orderForm);
if (CollectionUtils.isEmpty(orderDTO.getOrderDetailList())) {
log.error("【创建订单】购物车不能为空");
throw new SellException(ResultEnum.CART_EMPTY);
}
OrderDTO createResult = orderService.create(orderDTO);
Map<String, String> map = new HashMap<>();
map.put("orderId", createResult.getOrderId());
return ResultVOUtil.success(map);
}
//订单列表
@GetMapping("/listByStatus")
public ResultVO<List<OrderDTO>> listByStatus(@RequestParam("openid") String openid,
@RequestParam(value = "orderStatus", defaultValue = "0") Integer orderStatus) {
if (StringUtils.isEmpty(openid)) {
log.error("【查询订单列表】openid为空");
throw new SellException(ResultEnum.PARAM_ERROR);
}
List<OrderDTO> orderList = buyerService.findOrderList(openid, orderStatus);
return ResultVOUtil.success(orderList);
}
//订单详情
@GetMapping("/detail")
public ResultVO<OrderDTO> detail(@RequestParam("openid") String openid,
@RequestParam("orderId") String orderId) {
OrderDTO orderDTO = buyerService.findOrderOne(openid, orderId);
return ResultVOUtil.success(orderDTO);
}
//确认收货
@PostMapping("/sure")
public ResultVO sure(@RequestParam("openid") String openid,
@RequestParam("orderId") String orderId) {
buyerService.cancelOrder(openid, orderId);
return ResultVOUtil.success();
}
//取消订单
@PostMapping("/cancel")
public ResultVO cancel(@RequestParam("openid") String openid,
@RequestParam("orderId") String orderId) {
buyerService.cancelOrder(openid, orderId);
return ResultVOUtil.success();
}
三、系统展示
系统首页:顶部含有轮播图,轮播图图片可以在后台进行控制。下方含有四个快捷入口。预约点餐、菜品浏览、电话预约、在线客服。
点击预约点餐:可以看到今日的菜单。左部是菜品分类,点击分类可以跳转到对应的菜品。菜品展示标题、价格、描述、库存数量。点击加号可添加到购物车。底部导航可以看到当前点餐的数量与总价格。
确认订单:确认当前点餐的所有商品与价格可以选择用餐人数。然后点击支付就下单成功了。
我的订单:在我的订单处,可以查看已下单的详细信息。并且可以按照状态查看,分为待上餐、已取消、待评价、已完成等。
评价:用户可以对已经完成的订单评价。
员工管理:后台管理员可以对商店的员工信息进行管理。具备增加、修改、删除、查询功能。
菜品管理:菜品管理支持图片上传、可以及时维护菜品的状态、价格以及库存数量。同时支持新增、修改、删除功能。
类目管理:管理员可以维护菜品的类目。支持添加、查询、删除功能。
订单管理:管理员可以查看所有订单信息以及当前的状态。且可以及时更新已上餐状态。
订单详情:可以查看当前某个订单所有点餐的记录。
轮播图管理:可以在后台动态设置小程序的轮播图。支持删除、查询与新增功能。