杨校老师项目之SpringBoot整合Vue与微信小程序的外卖订餐系统

1.获取代码:

有偿获取mryang511688

2.技术栈

SpringBoot + MySQL + mybatis + Redis + 微信小程序

摘 要

随着国内外卖行业的蓬勃发展,外卖平台间的竞争影响了许多餐饮企业。许多餐饮企业面临着第三方外卖平台抽佣高、营销策略受限等问题,导致利润降低甚至亏本。针对这一问题,本论文提出了开发一个开放的外卖系统的想法,旨在使餐饮企业能够直接面向客户,摆脱对第三方平台的依赖。

通过调研和分析,本论文将重点关注中小型餐厅,以城区为服务对象,结合市场特点和消费者行为,开发一个适合这一需求的开放型外卖系统。通过该系统,中小型餐饮企业能够减少对第三方外卖平台的依赖,降低成本,提高利润。同时,消费者也能够享受到更多优质、多样化的餐饮选择和个性化的服务。

本项目选择Java语言进行开发,系统角色包括管理员和用户,管理员可以管理员工信息、分类管理、菜品管理、营业数据统计以及运营数据导出等。用户可以查看菜品信息、管理购物车、管理地址、修改个人信息等。项目经过需求分析、功能模块设计和数据库设计后,详细描述了各个功能模块的实现方式。本毕业设计前端使用HTML

5、AJAX、Vue、Element-UI框架实现,后端使用Spring、Spring MVC、Spring

Boot、MyBatis实现,数据库采用MySQL,缓存使用Redis实现,项目部署使用Linux系统和Tomcat。

关键词:

外卖订餐系统;HTML5;AJAX;Vue;Spring Boot

目录

第1章 绪 论 7

第2章 系统需求分析 9

2.1 功能需求分析 9

2.2 非功能需求分析 13

2.2.1 性能需求 13

2.2.2 硬件环境 13

2.2.3 软件环境 13

第3章 系统设计 14

3.1系统用例图 14

3.2 系统架构设计 21

3.3 系统功能模块设计 22

3.4 数据库设计 22

3.4.1 数据库概念结构设计 22

3.4.2 数据库表结构设计 29

第4章 模块设计和实现 37

4.1 员工管理模块 37

4.1.1 员工管理主界面 37

4.1.2 添加员工信息 38

4.1.3 修改员工信息 40

4.1.4 启用、禁用员工账号 43

4.2 分类管理模块 44

4.2.1 分类管理主界面 44

4.2.2 新增分类信息 45

4.2.3 修改分类信息 47

4.2.4 删除分类信息 47

4.3 菜品管理模块 49

4.3.1 菜品管理主界面 49

4.3.2 新增菜品信息 52

4.3.3 修改菜品信息 55

4.3.4 删除菜品信息 58

4.3.5 停售、起售菜品 60

4.4 套餐管理模块 62

4.4.1 套餐管理主界面 62

4.4.2 新增套餐信息 62

4.4.3 修改套餐信息 63

4.4.4 删除套餐信息 66

4.4.5 停售、起售套餐 67

4.5 订单管理模块 68

4.5.1 订单管理主界面 68

4.5.2 查看订单信息 71

4.5.3 派送/完成订单 72

4.6移动端业务开发 75

4.6.1添加购物车数据 75

4.6.2 减少或清空购物车数据 77

4.6.3新建地址 78

4.6.4设置默认地址 80

4.6.5 下单 81

4.6.6查看历史订单 83

4.7数据统计模块 83

4.7.1数据统计 83

4.7.2数据导出Excel 91

4.8工作台模块 93

第5章 系统测试 97

5.1 测试方法 97

5.2 功能测试 97

5.2.1 登录功能测试 97

5.2.2 员工管理测试 98

5.2.3 套餐管理测试 98

5.2.4 安全测试 99

第6章 总结与展望 101

6.1总结 101

6.2展望 101

参考文献 102

致 谢 103




程序效果:







微信小程序点餐:




















核心代码:

java 复制代码
package online.javabs.controller.user;

import online.javabs.dto.ShoppingCartDTO;
import online.javabs.entity.ShoppingCart;
import online.javabs.result.Result;
import online.javabs.service.ShoppingCartService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;
/**
 * @Author 杨校老师
 * @ProjectName online_order_sys
 * @Date 2024/5/29
 * @WeChat:mryang511688
 * @QQ:35725672
 * @公众号:猿媛不断
 * @博 客:https://mryang.blog.csdn.net
 * @apiNote 客户端小程序的购物车相关接口
 */
@RestController
@RequestMapping("/user/shoppingCart")
@Slf4j
@Api(tags = "C端购物车相关接口")
public class ShoppingCartController {

    @Autowired
    private ShoppingCartService shoppingCartService;

    /**
     * 添加购物车
     * @param shoppingCartDTO
     * @return
     */
    @PostMapping("/add")
    @ApiOperation("添加购物车")
    public Result add(@RequestBody ShoppingCartDTO shoppingCartDTO){
        log.info("添加购物车,商品信息为:{}",shoppingCartDTO);
        shoppingCartService.addShoppingCart(shoppingCartDTO);
        return Result.success();
    }

    /**
     * 查看购物车
     * @return
     */
    @GetMapping("/list")
    @ApiOperation("查看购物车")
    public Result<List<ShoppingCart>> list(){
        List<ShoppingCart> list = shoppingCartService.showShoppingCart();
        return Result.success(list);
    }

    /**
     * 清空购物车
     * @return
     */
    @DeleteMapping("/clean")
    @ApiOperation("清空购物车")
    public Result clean(){
        shoppingCartService.cleanShoppingCart();
        return Result.success();
    }

    /**
     * 删除购物车中一个商品
     * @param shoppingCartDTO
     * @return
     */
    @PostMapping("/sub")
    @ApiOperation("删除购物车中一个商品")
    public Result sub(@RequestBody ShoppingCartDTO shoppingCartDTO){
        log.info("删除购物车中一个商品,商品:{}", shoppingCartDTO);
        shoppingCartService.subShoppingCart(shoppingCartDTO);
        return Result.success();
    }
}

作者: 杨校

出处: https://mryang.blog.csdn.net

有意(有偿)研究源码V-Me:mryang511688

分享是快乐的,也见证了个人成长历程,文章大多都是工作经验总结以及平时学习积累,基于自身认知不足之处在所难免,也请大家指正,共同进步。

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 如有问题, 可邮件(35725672@qq.com)咨询

相关推荐
llz_1121 小时前
web-第四次课后作业
前端·spring boot·web
一杯奶茶¥2 小时前
基于springboot的失物招领管理系统带万字文档 校园失物招领管理系统 失物认领管理系统java springboot vue
java·vue.js·spring boot·java项目
不能只会打代码2 小时前
边缘视频分析平台的架构设计与性能优化——从750ms到190ms的调优之路
java·spring boot·redis·性能优化·边缘计算·物联网竞赛
雨辰AI7 小时前
生产级实测:SpringBoot3 + 达梦数据库接口从 200ms 优化至 20ms 完整调优指南
java·数据库·spring boot·后端·政务
OpenTiny社区7 小时前
这次更新太良心!GenUI SDK v1.2.0 轻量化 + 稳流式 + 超强 Playground
前端·vue.js·ai编程
秃头网友小李7 小时前
前端难点:Element Plus 样式覆盖 —— :deep()、CSS 变量与滚动状态类名
前端·vue.js
砍材农夫9 小时前
物联网实战|Spring Boot + Netty 搭建 MQTT 消息路由与流转层
java·spring boot·后端·物联网·spring
十五喵源码网9 小时前
基于SpringBoot2+vue2的酒店客房管理系统
java·毕业设计·springboot·论文笔记
电气_空空10 小时前
基于 LabVIEW 的深海气密采水器测控系统
单片机·嵌入式硬件·毕业设计·labview
lazy H10 小时前
Spring Boot 项目如何连接 Redis?新手入门配置和常见错误总结
ide·spring boot·redis·后端·学习·intellij-idea