基于springboot,vue网上订餐系统

开发工具:IDEA

服务器:Tomcat9.0, jdk1.8

项目构建:maven

数据库:mysql5.7

前端技术 :Vue+ElementUI

服务端技术:springboot+mybatis+redis

本系统分用户前台和管理后台两部分,项目采用前后端分离

主要功能如下:

(1)前台部分功能:

1.登录、注册、首页

2.购物车、商品详情、搜索商品、结算功能

3.我的订单、个人资料、退出登录、取消订单、评价等

(2)后台部分功能:

1.登录、首页、退出登录

2.用户管理:新增、修改、分页查询、删除

3.角色管理:新增、修改、分页查询、删除

4.商品分类管理:新增、修改、分页查询、删除

5.商品管理:新增、修改、分页查询、删除

6.订单管理:修改状态、查询详情、分页查询、删除

7.评论管理:分页查询、查看详情、回复
在这里插入图片描述
文档截图:
在这里插入图片描述
在这里插入图片描述
前台截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
后台截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

@RestController("AdminOrderController")
@RequestMapping("/admin/order")
public class OrderController {@Resourceprivate IOrderService orderService;/*** 后台分页获取订单数据* @param pageDTO* @return*/@PostMapping("/list")public ResponseDTO<PageDTO<OrderDTO>> getOrderListByPage(@RequestBody PageDTO<OrderDTO> pageDTO){return orderService.getOrderListByPage(pageDTO);}/*** 后台修改订单状态* @param orderDTO* @return*/@PostMapping("/edit-state")public ResponseDTO<Boolean> editState(@RequestBody OrderDTO orderDTO){return orderService.updateOrderState(orderDTO);}/*** 根据订单id获取订单详情信息* @param orderDTO* @return*/@PostMapping("/order-item")public ResponseDTO<OrderDTO> getOrderItemByOrderId(@RequestBody OrderDTO orderDTO){return orderService.getOrderItemByOrderId(orderDTO);}/*** 后台删除订单数据* @param orderDTO* @return*/@PostMapping("/remove")public ResponseDTO<Boolean> removeOrder(@RequestBody OrderDTO orderDTO){return orderService.removeOrder(orderDTO);}/*** 后台获取订单总数* @return*/@PostMapping("/total")public ResponseDTO<Long> getOrderTotal(){return orderService.getOrderTotal();}/*** 获取今日订单成交金额* @return*/@PostMapping("/today-price")public ResponseDTO<BigDecimal> getTodayPrice(){return orderService.getTodayPrice();}/*** 获取本周订单成交金额* @return*/@PostMapping("/week-price")public ResponseDTO<BigDecimal> getWeekPrice(){return orderService.getWeekPrice();}/*** 获取本月订单成交金额* @return*/@PostMapping("/month-price")public ResponseDTO<BigDecimal> getMonthPrice(){return orderService.getMonthPrice();}/*** 根据时间范围和订单状态获取交易的订单总数* @return*/@PostMapping("/count-state-date")public ResponseDTO<List<Integer>> getOrderCountByDateAndState(){return orderService.getOrderCountByDateAndState();}}
<body class="html not-front not-logged-in one-sidebar sidebar-second page-cart page-cart-checkout" ><div id="skip-link"><a href="#main-content" class="element-invisible element-focusable">Skip to main content</a></div><div id="wrapper"><!-- LOGIN POP UPS --><div id="popup-overlay"></div><div class="wrapper"><header><the-header></the-header></header><div class="content clearfix"><div class="pane-content" style="margin-top:50px"><div id="meals-of-the-day"><h3 class="title-separator"><span class="title">推荐餐品</span><span class="sep"></span></h3><ul><li  style="width: 300px; padding: 0px 10px;" class="meal" v-for="(item, index) in recommendProductList" :key="index"><div class="img-holder"><img typeof="foaf:Image" :src="item.photo|filterPhoto" width="327" height="198" alt="" /></div><div class="desc-holder"><h1><router-link :to="'detail?productId='+item.id" :title="item.name">{{item.name|filterName}}</router-link></h1><p v-text="item.info"></p><span class="price" v-text="'¥'+item.price"></span><div class="add-to-cart"><form id="uc-product-add-to-cart-form-4"><div><div class="form-actions form-wrapper" id="edit-actions"><input class="node-add-to-cart form-submit" @click="addCart(item.id)" type="button"  value="加入购物车" /></div></div></form></div></div></li></ul></div></div><div class="panel-separator"></div><div class="panel-pane pane-block pane-custom-featured-meals" ><div class="pane-content"><h3 class="title-separator"><span class="title">热销餐品	</span><span class="sep"></span></h3><div id="featured-meals"><ul><li class="meal" v-for="(item,index) in saleList" :key="index"><div class="img-holder"><img typeof="foaf:Image" :src="item.photo|filterPhoto" width="191" height="148" alt="" /></div><h1><router-link :to="'/detail?productId='+item.id" v-text="item.name"></router-link></h1><p v-text="item.info"></p><span class="price" v-text="'¥'+item.price"></span><div class="add-to-cart"><form id="uc-product-add-to-cart-form-4--2"><div><div class="form-actions form-wrapper" id="edit-actions--5"><input class="node-add-to-cart form-submit" @click="addCart(item.id)" type="button" id="edit-submit-4" name="op" value="加入购物车" /></div></div></form></div></li></ul></div>  </div></div><div class="panel-separator"></div><div class="panel-pane pane-block pane-custom-custom-cart" ><h2 class="pane-title">最高人气</h2><div class="pane-content"><p class="cart-block-items uc-cart-empty" v-for="(item,index) in viewList" :key="index"><router-link  style="color:#ffffff; text-decoration: none" :to="'detail?productId='+item.id">{{index+1}} . {{item.name}}</router-link></p><div class="cart-box"><div class="body"><ul></ul><router-link class="submit-button" to="/menus">查看更多</router-link><div class="graphic"></div></div></div>  </div></div></div></div><the-footer></the-footer></div></body>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/906.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

亚马逊评论点赞的作用

在亚马逊上&#xff0c;评论点赞可以起到几个重要的作用&#xff1a; 1、增加可信度&#xff1a;当一个产品或服务有很多积极的评论点赞时&#xff0c;其他用户会更容易相信这些评论的可靠性。点赞数量多的评论通常被认为是由多个用户验证的&#xff0c;并且对于潜在买家来说&…

SpringBoot中注入ServletFilterListener

1.基本介绍 文档&#xff1a;SpringBoot中注入Servlet&Filter&Listener 考虑到实际开发业务非常复杂和兼容问题&#xff0c;SpringBoot支持将Servlet、Filter、Listener注入spring容器中&#xff0c;成为Spring Bean也就是说&#xff0c;SpringBoot开放了和原生WEB组件…

基于单片机智能洗衣机设计与实现

功能介绍 以51单片机作为主控系统&#xff1b;利用STC89C52单片机进行数据处理&#xff1b; 通过2路继电器分别控制洗衣机进水、出水相关逻辑运算&#xff1b;采用L298去掉直流电机实现滚筒正反转&#xff1b;通过单片机进行处理数据&#xff0c;把采集到的数据通过LCD液晶显示…

基于Nonconvex规划的配电网重构研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

网络安全与密码学

1、网络安全威胁 破坏网络安全的一些理论方式&#xff1a; 窃听&#xff1a;窃听信息&#xff0c;在网路通信双方直接进行窃听。 插入&#xff1a;主动在网络连接中插入信息&#xff08;可以在message中插入恶意信息&#xff09; 假冒&#xff1a;伪造&#xff08;spoof&#x…

SQLServer2022安装(Windows),已验证

二、安装可视化工具SSMS 接下来安装可视化工具SSMS&#xff0c;现在新版本默认都是没有可视化界面&#xff0c;需要单独安装 &#xff08;1&#xff09;地址&#xff1a;下载 SQL Server Management Studio (SSMS) - SQL Server Management Studio (SSMS) | Microsoft Learn…

LayUI之CRUD(增删改查)

目录 一、前期准备 1.数据表格 2.弹出层 3.用户表数据查询 二、用户管理后台编写 三、前端JS编写 四、效果展示 一、前期准备 1.数据表格 在layui官网找到我们需要的数据表格 根据需求复制修改代码&#xff0c;再找到表单复制一个输入框和按钮&#xff0c;做一个搜索功能…

语言模型的自洽性思维链推理技术

论文标题&#xff1a;Self-Consistency Improves Chain of Thought Reasoning in Language Models 论文链接&#xff1a;https://arxiv.org/abs/2203.11171 论文来源&#xff1a;ICLR 2023 一、概述 尽管语言模型在一系列NLP任务中展现出了显著的成功&#xff0c;但它们在推理能…

进制转换详解(解释原理简单易懂)

前言&#xff1a;在网上看了许多篇关于不同进制之间如何转换的文章&#xff0c;包括很多浏览量上万的博客。大多都只是把转换的规则罗列了出来&#xff0c;例如十进制转二进制&#xff0c;可能大家都知道方法&#xff0c;“除以2反向取余数&#xff0c;直到商为0”。应用该方法…

Kubespray v2.22.1 在线部署 kubernetes v1.26.5 集群

文章目录 1. 介绍2. 预备条件3. 配置 hostname4. yum5. 下载介质5.1 git 下载5.2 下载 kubespray v2.22.1 6. 编写 inventory.ini7. 配置互信8. 安装 ansible9. 关闭防火墙10. 安装 docker11. 配置内核参数12. 启动容器 kubespray13. 部署14. 配置连接集群 1. 介绍 kubespray​…

论文阅读—2023.7.13:遥感图像语义分割空间全局上下文信息网络(主要为unet网络以及改unet)附加个人理解与代码解析

前期看的文章大部分都是深度学习原理含量多一点&#xff0c;一直在纠结怎么改模型&#xff0c;论文看的很吃力&#xff0c;看一篇忘一篇&#xff0c;总感觉摸不到方向。想到自己是遥感专业&#xff0c;所以还是回归遥感影像去谈深度学习&#xff0c;回归问题&#xff0c;再想着…

5月更新,docsify综合漏洞知识库!

项目介绍 一个知识库&#xff0c;集成了Vulhub、Peiqi、EdgeSecurity、0sec、Wooyun等开源漏洞库&#xff0c;涵盖OA、CMS、开发框架、网络设备、开发语言、操作系统、Web应用、Web服务器、应用服务器等多种漏洞。 关注【Hack分享吧】公众号&#xff0c;回复关键字【230428】获…

spring boot security自定义认证

前言 前置阅读 spring boot security快速使用示例 spring boot security之前后端分离配置 说明 实际场景&#xff0c;我们一般是把用户信息保存在db中&#xff08;也可能是调用三方接口&#xff09;&#xff0c;需要自定义用户信息加载或认证部分的逻辑&#xff0c;下面提供…

bug:file name too long文件名超出系统最大限制

各操作系统支持最长的文件和目录名称长度&#xff08;Linux、Win、Mac&#xff09; 今天开发需求的时候发现无法新建文件&#xff0c;提示file name too lang&#xff0c;于是翻阅和查询了一些资料&#xff0c;发现不同操作系统下文件名和目录名最长的长度不同。 操作系统文件名…

小程序主包超1.5MB分包处理流程优化方案

"subPackages": [// 分包1 {"root": "src, // 根目录"pages": [{"path": "views/business/index", // 页面路径"name": "business_index","aliasPath": "/business/index",&…

make/makefile的使用

make/makefile 文章目录 make/makefile初步认识makefile的工作流程依赖关系和依赖方法make的使用 总结 make是一个命令&#xff0c;是一个解释makefile中指令的命令工具&#xff0c;makefile是一个文件&#xff0c;当前目录下的文件&#xff0c;两者搭配使用&#xff0c;完成项…

Python采集课堂视频教程, m3u8视频解密

前言 嗨喽&#xff0c;大家好呀~这里是爱看美女的茜茜呐 环境使用: Python 3.8 解释器 Pycharm 编辑器 模块使用&#xff1a; requests >>> pip install requests pycryptodome --> pip install pycryptodome re 第三方模块安装方法&#xff1a; win R 输…

7.14~7.15学习总结

Java的前置知识学习时间截至了&#xff0c;慌的一批~~。 看看自己学的&#xff0c;再看看要求学的&#xff0c;简直&#xff1a; 现在继续&#xff1a;IO流里面的Commons_IO的用法&#xff1a; public class Main {public static void main(String[]args) throws IOException…

【C++】多线程编程三(std::mutexstd::mutex、std::lock_guard、std::unique_lock详解)

目录 一、线程间共享数据 1.数据共享和条件竞争 2.避免恶性条件竞争 二、用互斥量来保护共享数据 1. 互斥量机制 2.mutex头文件介绍 三、C中使用互斥量mutex 1. 互斥量mutex使用 2.mutex类成员函数 ① 构造函数 ② lock() ③ unlock() ④ try_lock() 四、使用std::…

如何与ChatGPT愉快地聊天

原文链接&#xff1a;https://mp.weixin.qq.com/s/ui-O4CnT_W51_zqW4krtcQ 人工智能的发展已经走到了一个新的阶段&#xff0c;在这个阶段&#xff0c;人工智能可以像人一样与我们进行深度的文本交互。其中&#xff0c;OpenAI的ChatGPT是一个具有代表性的模型。然而&#xff0…