您的当前位置:首页正文

基于Java+小程序点餐系统设计与实现(源码+部署文档)

2024-11-10 来源:个人技术集锦

博主介绍: ✌至今服务客户已经1000+、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌
? 文末获取源码联系 ?
?? 精彩专栏 推荐订阅 ?? 不然下次找不到



前言

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

二、代码示例

代码如下(示例):

   //创建订单
    @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();
    }

三、系统展示

系统首页:顶部含有轮播图,轮播图图片可以在后台进行控制。下方含有四个快捷入口。预约点餐、菜品浏览、电话预约、在线客服。

                            

点击预约点餐:可以看到今日的菜单。左部是菜品分类,点击分类可以跳转到对应的菜品。菜品展示标题、价格、描述、库存数量。点击加号可添加到购物车。底部导航可以看到当前点餐的数量与总价格。

                          

确认订单:确认当前点餐的所有商品与价格可以选择用餐人数。然后点击支付就下单成功了。

                           

我的订单:在我的订单处,可以查看已下单的详细信息。并且可以按照状态查看,分为待上餐、已取消、待评价、已完成等。

                             

评价:用户可以对已经完成的订单评价。

                              

员工管理:后台管理员可以对商店的员工信息进行管理。具备增加、修改、删除、查询功能。

菜品管理:菜品管理支持图片上传、可以及时维护菜品的状态、价格以及库存数量。同时支持新增、修改、删除功能。

类目管理:管理员可以维护菜品的类目。支持添加、查询、删除功能。

订单管理:管理员可以查看所有订单信息以及当前的状态。且可以及时更新已上餐状态。

订单详情:可以查看当前某个订单所有点餐的记录。

轮播图管理:可以在后台动态设置小程序的轮播图。支持删除、查询与新增功能。

显示全文