springboot基于java的鹿幸公司员工在线餐饮管理系统(源码+文档+调试+vue+前后端分离)

收藏关注不迷路!!

🌟文末获取源码+数据库🌟

感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人


前言

鹿幸公司员工在线餐饮管理系统是一款专为企业打造的智能食堂管理软件,为帮助企业实现食堂管理的信息化、智能化和高效化。该系统通过提供余额充值、餐桌预约、在线点餐、交流论坛等功能,为企业员工提供便捷、健康、美味的餐饮服务。鹿幸公司员工在线餐饮管理系统还支持多种支付方式,满足不同员工的支付需求,提升员工就餐体验。通过引入先进的物联网技术,实现食堂设备的远程监控与维护,确保设备正常运行,降低故障率。鹿幸公司员工在线餐饮管理系统为企业提供了一站式的食堂管理解决方案,助力企业实现食堂管理的现代化,提高员工满意度和企业竞争力。
系统对于Java、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了springboot框架和MySql数据库技术搭建系统的整体架构。利用这些技术结合实际需求开发了具有餐桌信息、菜品信息、公告信息、交流论坛、个人信息等功能的系统,最后对系统进行相应的测试,测试系统有无存在问题以及测试用户权限来优化系统,最后系统达到预期目标。

详细视频演示

文章底部名片,联系我看更详细的演示视频

一、项目介绍

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven

————————————————

二、功能介绍

前台页面:若进入本系统进行操作,需要注册自己的账号和密码,输入正确的账号和密码,员工才可以进入鹿幸公司员工在线餐饮管理系统主页面,进入首页页面后,员工可以在导航栏中点击餐桌信息、菜品信息、公告信息、交流论坛、个人信息进行查询等操作,在个人信息页面可以对个人中心、余额充值、餐桌预约、点餐信息、备餐信息、订单信息、我的发布、我的收藏等详细信息进行操作。
后台管理页面:主要是管理员登录本网站。管理员输入管理员账号密码后,校验无误后方可进入后台管理主界面,对员工使用的权限管理,以及对网站信息进行管理。

鹿幸公司员工在线餐饮管理系统综合网络空间开发设计要求。目的是将传统管理方式转换为在网上管理,完成鹿幸公司员工在线餐饮管理的方便快捷、安全性高、交易规范做了保障,目标明确。鹿幸公司员工在线餐饮管理系统可以将功能划分为管理员功能和员工功能。
(1)管理员关键功能包含员工、余额充值、餐桌信息、餐桌预约、 菜品类别、菜品信息、点餐信息、备餐信息、订单信息、公告信息、交流论坛、系统管理、个人资料等进行管理。
在这里插入图片描述

三、核心代码

部分代码:


package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

数据库参考



--
-- Current Database: `springbootutcnqqs0`
--

/*!40000 DROP DATABASE IF EXISTS `springbootutcnqqs0`*/;

CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springbootutcnqqs0` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;

USE `springbootutcnqqs0`;

--
-- Table structure for table `beicanxinxi`
--

DROP TABLE IF EXISTS `beicanxinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `beicanxinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `dingdanbianhao` varchar(200) DEFAULT NULL COMMENT '订单编号',
  `caipinmingcheng` varchar(200) DEFAULT NULL COMMENT '菜品名称',
  `fengmian` longtext COMMENT '封面',
  `jiage` double DEFAULT NULL COMMENT '价格',
  `shuliang` int(11) NOT NULL COMMENT '数量',
  `jine` double DEFAULT NULL COMMENT '总价',
  `zhuangtai` varchar(200) DEFAULT NULL COMMENT '状态',
  `beicanshijian` datetime DEFAULT NULL COMMENT '备餐时间',
  `canzhuobianhao` varchar(200) NOT NULL COMMENT '餐桌编号',
  `beizhu` varchar(200) DEFAULT NULL COMMENT '备注',
  `gonghao` varchar(200) DEFAULT NULL COMMENT '工号',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  `shouji` varchar(200) DEFAULT NULL COMMENT '手机',
  `crossuserid` bigint(20) DEFAULT NULL COMMENT '跨表用户id',
  `crossrefid` bigint(20) DEFAULT NULL COMMENT '跨表主键id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1697525150436 DEFAULT CHARSET=utf8 COMMENT='备餐信息';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `beicanxinxi`
--

LOCK TABLES `beicanxinxi` WRITE;
/*!40000 ALTER TABLE `beicanxinxi` DISABLE KEYS */;
INSERT INTO `beicanxinxi` VALUES (81,'2023-10-17 06:36:26','订单编号1','菜品名称1','upload/beicanxinxi_fengmian1.jpg,upload/beicanxinxi_fengmian2.jpg,upload/beicanxinxi_fengmian3.jpg',1,1,1,'已被餐','2023-10-17 14:36:26','餐桌编号1','备注1','工号1','姓名1','手机1',1,1),(82,'2023-10-17 06:36:26','订单编号2','菜品名称2','upload/beicanxinxi_fengmian2.jpg,upload/beicanxinxi_fengmian3.jpg,upload/beicanxinxi_fengmian4.jpg',2,2,2,'已被餐','2023-10-17 14:36:26','餐桌编号2','备注2','工号2','姓名2','手机2',2,2),(83,'2023-10-17 06:36:26','订单编号3','菜品名称3','upload/beicanxinxi_fengmian3.jpg,upload/beicanxinxi_fengmian4.jpg,upload/beicanxinxi_fengmian5.jpg',3,3,3,'已被餐','2023-10-17 14:36:26','餐桌编号3','备注3','工号3','姓名3','手机3',3,3),(84,'2023-10-17 06:36:26','订单编号4','菜品名称4','upload/beicanxinxi_fengmian4.jpg,upload/beicanxinxi_fengmian5.jpg,upload/beicanxinxi_fengmian6.jpg',4,4,4,'已被餐','2023-10-17 14:36:26','餐桌编号4','备注4','工号4','姓名4','手机4',4,4),(85,'2023-10-17 06:36:26','订单编号5','菜品名称5','upload/beicanxinxi_fengmian5.jpg,upload/beicanxinxi_fengmian6.jpg,upload/beicanxinxi_fengmian7.jpg',5,5,5,'已被餐','2023-10-17 14:36:26','餐桌编号5','备注5','工号5','姓名5','手机5',5,5),(86,'2023-10-17 06:36:26','订单编号6','菜品名称6','upload/beicanxinxi_fengmian6.jpg,upload/beicanxinxi_fengmian7.jpg,upload/beicanxinxi_fengmian8.jpg',6,6,6,'已被餐','2023-10-17 14:36:26','餐桌编号6','备注6','工号6','姓名6','手机6',6,6),(87,'2023-10-17 06:36:26','订单编号7','菜品名称7','upload/beicanxinxi_fengmian7.jpg,upload/beicanxinxi_fengmian8.jpg,upload/beicanxinxi_fengmian9.jpg',7,7,7,'已被餐','2023-10-17 14:36:26','餐桌编号7','备注7','工号7','姓名7','手机7',7,7),(88,'2023-10-17 06:36:26','订单编号8','菜品名称8','upload/beicanxinxi_fengmian8.jpg,upload/beicanxinxi_fengmian9.jpg,upload/beicanxinxi_fengmian10.jpg',8,8,8,'已被餐','2023-10-17 14:36:26','餐桌编号8','备注8','工号8','姓名8','手机8',8,8),(1697525150435,'2023-10-17 06:45:49','1697525073037','龙虾','upload/1697524917051.jpg',22,1,22,'已被餐','2023-10-17 14:45:29','005','删掉发生的','11','张三','15111111111',1,1697525104702);
/*!40000 ALTER TABLE `beicanxinxi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `caipinleibie`
--

DROP TABLE IF EXISTS `caipinleibie`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `caipinleibie` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `caipinleibie` varchar(200) DEFAULT NULL COMMENT '菜品类别',
  PRIMARY KEY (`id`),
  UNIQUE KEY `caipinleibie` (`caipinleibie`)
) ENGINE=InnoDB AUTO_INCREMENT=1697524906384 DEFAULT CHARSET=utf8 COMMENT='菜品类别';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `caipinleibie`
--

LOCK TABLES `caipinleibie` WRITE;
/*!40000 ALTER TABLE `caipinleibie` DISABLE KEYS */;
INSERT INTO `caipinleibie` VALUES (51,'2023-10-17 06:36:26','菜品类别1'),(52,'2023-10-17 06:36:26','菜品类别2'),(53,'2023-10-17 06:36:26','菜品类别3'),(54,'2023-10-17 06:36:26','菜品类别4'),(55,'2023-10-17 06:36:26','菜品类别5'),(56,'2023-10-17 06:36:26','菜品类别6'),(57,'2023-10-17 06:36:26','菜品类别7'),(58,'2023-10-17 06:36:26','川菜'),(1697524906383,'2023-10-17 06:41:45','粤菜');
/*!40000 ALTER TABLE `caipinleibie` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `caipinxinxi`
--

DROP TABLE IF EXISTS `caipinxinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `caipinxinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `caipinmingcheng` varchar(200) NOT NULL COMMENT '菜品名称',
  `caipinleibie` varchar(200) NOT NULL COMMENT '菜品类别',
  `kouwei` varchar(200) DEFAULT NULL COMMENT '口味',
  `fengmian` longtext COMMENT '封面',
  `jiage` double NOT NULL COMMENT '价格',
  `shuliang` int(11) NOT NULL COMMENT '数量',
  `shangjiashijian` date DEFAULT NULL COMMENT '上架时间',
  `caipinjieshao` longtext COMMENT '菜品介绍',
  `clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',
  `clicknum` int(11) DEFAULT '0' COMMENT '点击次数',
  `discussnum` int(11) DEFAULT '0' COMMENT '评论数',
  `storeupnum` int(11) DEFAULT '0' COMMENT '收藏数',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1697524921813 DEFAULT CHARSET=utf8 COMMENT='菜品信息';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `caipinxinxi`
--

LOCK TABLES `caipinxinxi` WRITE;
/*!40000 ALTER TABLE `caipinxinxi` DISABLE KEYS */;
INSERT INTO `caipinxinxi` VALUES (61,'2023-10-17 06:36:26','菜品名称1','菜品类别1','口味1','upload/caipinxinxi_fengmian1.jpg,upload/caipinxinxi_fengmian2.jpg,upload/caipinxinxi_fengmian3.jpg',1,1,'2023-10-17','菜品介绍1','2023-10-17 14:40:01',4,0,1),(62,'2023-10-17 06:36:26','菜品名称2','菜品类别2','口味2','upload/caipinxinxi_fengmian2.jpg,upload/caipinxinxi_fengmian3.jpg,upload/caipinxinxi_fengmian4.jpg',2,2,'2023-10-17','菜品介绍2','2023-10-17 14:36:26',2,0,2),(63,'2023-10-17 06:36:26','菜品名称3','菜品类别3','口味3','upload/caipinxinxi_fengmian3.jpg,upload/caipinxinxi_fengmian4.jpg,upload/caipinxinxi_fengmian5.jpg',3,3,'2023-10-17','菜品介绍3','2023-10-17 14:36:26',3,0,3),(64,'2023-10-17 06:36:26','菜品名称4','菜品类别4','口味4','upload/caipinxinxi_fengmian4.jpg,upload/caipinxinxi_fengmian5.jpg,upload/caipinxinxi_fengmian6.jpg',4,4,'2023-10-17','菜品介绍4','2023-10-17 14:36:26',4,0,4),(65,'2023-10-17 06:36:26','菜品名称5','菜品类别5','口味5','upload/caipinxinxi_fengmian5.jpg,upload/caipinxinxi_fengmian6.jpg,upload/caipinxinxi_fengmian7.jpg',5,5,'2023-10-17','菜品介绍5','2023-10-17 14:36:26',5,0,5),(66,'2023-10-17 06:36:26','菜品名称6','菜品类别6','口味6','upload/caipinxinxi_fengmian6.jpg,upload/caipinxinxi_fengmian7.jpg,upload/caipinxinxi_fengmian8.jpg',6,6,'2023-10-17','菜品介绍6','2023-10-17 14:36:26',6,0,6),(67,'2023-10-17 06:36:26','菜品名称7','菜品类别7','口味7','upload/caipinxinxi_fengmian7.jpg,upload/caipinxinxi_fengmian8.jpg,upload/caipinxinxi_fengmian9.jpg',7,7,'2023-10-17','菜品介绍7','2023-10-17 14:46:45',9,0,7),(68,'2023-10-17 06:36:26','菜品名称8','菜品类别8','口味8','upload/caipinxinxi_fengmian8.jpg,upload/caipinxinxi_fengmian9.jpg,upload/caipinxinxi_fengmian10.jpg',8,8,'2023-10-17','菜品介绍8','2023-10-17 14:36:26',8,0,8),(1697524921812,'2023-10-17 06:42:01','龙虾','粤菜','水电费','upload/1697524917051.jpg',22,21,'2023-10-17','<p>新闻 ,是指报纸、电台、电视台、互联网等媒体经常使用的记录与传播信息的 一种文体。是记录社会、传播信息、反映时代的一种文体。新闻概念有广义与狭义之分。广义上:除了发表于报刊、广播、互联网、电视上的评论与专文外的常用文本都属于新闻,包括消息、通讯、特写、速写(有的将速写纳入特写之列)等等; 狭义上:消息是用概括的叙述方式,以较简明扼要的文字,迅速及时地报道附近新近发生的、有价值的事实,使一定人群了解。新闻一般包括标题、导语、主体、背景和结语五部分。前三者是主要部分,后二者是辅助部分。写法以叙述为主兼或有议论、描写、评论等。新闻是包含海量资讯的新闻服务平台,真实反映每时每刻的重要事件。您可以搜索新闻事件、热点话题、人物动态、产品资讯等,快速了解它们的最新进展。</p><p><br></p>','2023-10-17 14:47:23',5,1,0);
/*!40000 ALTER TABLE `caipinxinxi` ENABLE KEYS */;
UNLOCK TABLES;


四、效果图

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

五、文章目录

目录
目录 1
1绪论 3
1.1 研究背景与意义 3
1.2国内外研究现状 3
1.3研究的目的 4
1.4 论文的内容和结构 4
2系统相关技术概述 5
2.1 Java技术简介 5
2.2 SpringBoot框架 5
2.3 MySQL数据库技术简介 5
2.4 B/S结构 5
3系统需求分析 7
3.1需求分析概述 7
3.2系统可行性分析 7
3.2.1技术可行性 7
3.2.2经济可行性 7
3.2.3运营可行性 8
3.2.4法律可行性 8
3.3系统功能需求分析 8
3.3.1系统功能概述 8
3.3.2系统用例分析 8
3.4系统其他需求分析 9
3.4.1性能要求 9
3.4.2安全要求 10
3.4.3作业环境要求 10
3.5系统流程分析 10
3.6本章概述 12
4 系统设计 13
4.1系统结构图 13
4.2数据库设计 13
4.2.1数据库设计原则 13
4.2.2数据库的概念设计 14
4.2.3数据库表设计 15
5系统的实现 22
5.1前台功能实现 22
5.1.1系统首页页面 22
5.1.2个人信息 23
5.2管理员模块实现 24
6系统测试 29
6.1系统测试的重要性 29
6.2性能测试 29
6.3系统登录测试 29
6.4菜品信息测试 30
6.5公告信息测试 30
6.6本章小结 31
结 论 32
参考文献 33
致 谢 34

六 、源码获取

下方名片联系我即可!!


大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值