杨校老师项目之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)咨询

相关推荐
Eason_Lou2 小时前
vue flow使用注意事项
前端·vue.js
wordbaby3 小时前
从双端内卷到一库多端:基于 pnpm + Taro 4 + RNOH 鸿蒙的 Monorepo 跨端架构实战
前端·微信小程序·app
不爱编程的小九九5 小时前
小九源码-springboot004-springboot智能阅读推荐系统
java·spring boot·后端
马可家的菠萝6 小时前
Vue3 + Canvas 手绘笔记工程化实践:别把画布只当成一张 PNG
前端·vue.js·算法
用户841794814566 小时前
如何用 vue 甘特图来实现计划和实际双任务条进度展示
vue.js
xiaotianyuanma8 小时前
【计算机毕业设计】基于Spring Boot的体育馆预约系统的设计与实现
java·spring boot·课程设计
2601_963870219 小时前
【计算机毕业设计】基于Spring Boot的非遗文创产品交易平台的设计与实现
java·spring boot·后端
andongni2039 小时前
后端参数校验
spring boot·后端·mybatis
京东云开发者10 小时前
【全栈实践】第一个 AI Agent 项目:从零搭建 AI 音频创作助手【最终版】
前端·vue.js·音视频开发
IT学长编程10 小时前
计算机毕业设计 基于用户评论主题挖掘的旅游景点推荐系统 Python 大数据毕业设计 Hadoop毕业设计选题【附源码+文档报告+安装调试】
大数据·python·django·毕业设计·数据可视化分析·旅游景点推荐系统·基于用户评论主题挖掘