(选题推荐)基于springboot的餐厅点餐系统的设计与实现

精彩专栏推荐订阅:在下方主页👇🏻👇🏻👇🏻👇🏻

💖🔥作者主页计算机毕设木哥🔥 💖

一、项目介绍

随着现代科技的发展和人们生活水平的提高,餐饮业的市场竞争越来越激烈。传统的餐厅运营模式已经无法满足现代社会的需求。为了提高餐厅运营效率,方便用户点餐和商家管理,同时满足现代人对餐饮服务的高效、快捷、方便的需求,本文设计了一个餐厅点餐系统。在为用户、商家和管理员提供一个方便、高效、快捷的餐饮服务平台。通过该系统,用户可以随时随地浏览餐厅信息、查看菜单、点餐、支付,并可以对购买的商品进行评价和收藏。商家可以发布和管理自己的商品信息、广告信息,对用户评价进行管理,并可以通过系统提供的论坛模块与用户进行互动交流。管理员可以对系统进行全面管理,包括用户、商家、商品、订单等的管理。

二、项目功能介绍

管理员其功能概述如下:

1)个人中心:管理自身的账户信息,如修改密码、个人信息等。
2)店家管理:添加、编辑、删除店家信息,对店家进行分类和权限分配。
3)用户管理:管理用户账户,如修改密码、删除账户等。
4)商品管理:添加、编辑、删除商品信息,对商品进行分类和定价。
5)商品评价管理:查看、修改、删除用户对商品的评论和评分。
6)商品收藏管理:查看、修改、删除用户对商品的收藏信息。
7)商品订单管理:查看、修改、删除用户的订单信息。
8)广告管理:添加、编辑、删除系统广告信息。
9)基础数据管理:管理系统的基本数据和参数。
10)论坛管理:管理论坛板块,对论坛帖子进行审核、删除等操作。
11)公告信息管理:发布、编辑、删除系统公告信息。

用户其功能概述如下:

1)注册:用户注册新账户,填写个人信息。
2)登录:用户登录系统,进入个人中心。
3)论坛:浏览论坛帖子,发表评论和点赞。
4)广告:浏览系统广告信息。
5)菜品资讯:查看餐厅菜品信息,包括价格、简介等。
6)浏览筛选店家进行菜品点单购买:浏览店家信息,选择菜品并购买。
7)商品信息:查看商品详细信息,包括价格、库存等。
8)商品评价:对已购买的商品进行评价和评分。
9)商品收藏:收藏感兴趣的商品。
10)商品订单:查看订单状态,取消或修改订单。

商家其功能概述如下:

1)个人中心:管理自身的账户信息和商品信息等。
2)商品管理:添加、编辑、删除自家的商品信息,对商品进行分类和定价等操作。
3)商品评价管理:查看、修改、删除用户对自家商品的评论和评分等操作。
4)商品收藏管理:查看、修改、删除用户对自家商品的收藏信息等操作。
5)商品订单管理:查看、修改、删除用户对自家商品的订单信息等操作。
6)广告管理:添加、编辑、删除自家的广告信息等操作。
7)论坛管理:管理自家的论坛板块,对论坛帖子进行审核和删除等操作。
8)公告信息管理:发布、编辑、删除自家的公告信息等操作。

三、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:springboot
  • 前端:vue
  • 工具:IDEA或者Eclipse、JDK1.8、Maven

四、系统展示

登录模块:
在这里插入图片描述
首页模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
管理员模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
商家模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、代码展示

   public MsgVo list(
            @RequestParam(value = "order_id",defaultValue = "0")Long order_id,
            @RequestParam(value = "table_id",defaultValue = "0")Long table_id,
            @RequestParam(value = "page",defaultValue = "1")Integer page,
            @RequestParam(value = "pageSize",defaultValue = "20")Integer pageSize,
            HttpServletRequest request){

        MsgVo msgVo =new MsgVo();
        Consumer consumer = (Consumer) request.getAttribute("user");
        Criteria<Orders> criteria = new Criteria<>();
        if(order_id > 0){
            criteria.add(Restrictions.eq("id",order_id));
        }
        criteria.add(Restrictions.eq("createdUser",consumer.getUser()));
        if(consumer.getWxOpenId().equals("-1")){//临时的只能查看3小时内的最后一单
            pageSize = 1;
            if(table_id <= 0){//临时的必须指定桌号
                msgVo.setCode(40001);
                msgVo.setMsg("餐桌id不能为空");
                return msgVo;
            }
           // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar beforeTime = Calendar.getInstance();
            beforeTime.add(Calendar.HOUR, -3);// 3小时之前的时间
            Date beforeD = beforeTime.getTime();
            criteria.add(Restrictions.or(Restrictions.gte("createTime",beforeD),Restrictions.eq("payStatus",1)));//未支付或者3小时前的订单
        }

        if(table_id > 0){
            Tables tables = tablesRepository.findById(table_id).orElse(null);
            if(tables == null && tables.getStore().getId() != consumer.getStore().getId()){
                msgVo.setCode(40002);
                msgVo.setMsg("餐桌不存在");
                return msgVo;
            }
            criteria.add(Restrictions.eq("tableNumber",tables.getNumber()));
        }
        Sort sort = new Sort(Sort.Direction.DESC, "id");
        Pageable pageable =  new PageRequest(page-1, pageSize, sort);
        Page<Orders> orders = ordersRepository.findAll(criteria,pageable);

        if(order_id > 0 && orders.getContent() != null && orders.getContent().size() > 0){//订单详情,获取菜品信息
            Orders orders1 = orders.getContent().get(0);
            Criteria<OrderGoods> goodsCriteria = new Criteria<>();
            goodsCriteria.add(Restrictions.eq("orders",orders1));
            goodsCriteria.add(Restrictions.eq("isDelete",false));
            List<OrderGoods> orderGoods = orderGoodsRepository.findAll(goodsCriteria);
            msgVo.getData().put("orderGoods",orderGoods);
            msgVo.getData().put("order",orders1);
        }else{
            msgVo.getData().put("orders",orders);
        }
        msgVo.setMsg("获取成功");
        return msgVo;
    }

六、项目总结

餐厅点餐系统是一个集用户、商家和管理员于一体的智能餐厅管理平台。该系统采用了先进的计算机技术,针对餐厅行业的特点,为用户、商家和管理员提供了一个全面、高效、便捷的解决方案。本系统的设计目标是提高餐厅的运营效率和服务质量,同时方便用户进行点餐操作。对于商家而言,本系统不仅可以帮助他们快速发布和管理商品信息,同时还能对用户订单进行处理,缩短点餐时间,提高服务质量。商家还能通过系统提供的论坛模块与用户进行互动交流,及时获取用户反馈信息,从而改进服务质量。此外,系统还为商家提供了数据分析和挖掘工具,帮助他们更好地了解市场需求和消费者喜好,为商家的经营和发展提供数据支持和参考。对于用户而言,本系统提供了多种点餐方式,包括线上浏览菜单、在线支付、到店扫码点餐等选择,使用户可以根据自己的需求选择最方便的点餐方式。同时,系统还支持用户对购买的商品进行评价和收藏,以及对商家的匿名评价和反馈,从而帮助商家提升服务质量。

大家可以帮忙点赞、收藏、关注、评论啦 👇🏻👇🏻👇🏻

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值