收藏关注不迷路!!
🌟文末获取源码+数据库🌟
感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
前言
💗博主介绍:✨全网拥有20W+粉丝、CSDN作者、博客专家、全栈领域优质创作者、平台优质Java创作者、专注于Java、小程序、python、安卓技术领域和毕业项目实战✌💟!✨💗
👇🏻 精彩专栏 推荐订阅👇🏻
计算机毕业设计设计精品实战案例✅
感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,博主免费解答、希望可以帮助更多人
详细视频演示
文章底部名片,获取项目的完整演示视频,免费解答技术疑问
项目介绍
随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建农家乐预约系统。本文通过课题背景、课题目的及意义相关技术,提出了一种农家乐信息、菜品信息、农家乐预约、取消预约、用户点餐、取消点餐等管理于一体的系统构建方案。
本文通过采用B/S架构,MySQL数据库以及java语言,SSM框架,结合国内线上管理现状,开发了一个基于SSM的农家乐预约系统。系统分为多个功能模块:用户、农家乐、农家乐信息、农家乐预约、取消预约、菜品信息、用户点餐、取消点餐、公告信息等。通过系统测试,本系统实现了系统设计目标,相对于人工管理方式,本系统有效的减少了农家乐的经济投入,并且大幅度提升了农家乐预约系统的效率。
技术介绍
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
功能介绍
农家乐预约系统主要有管理员和用户、农家乐,三个功能模块,以下将对这三个功能的作用进行详细的剖析[11]。
管理员模块:管理员在系统中的是核心用户,管理员登录后,可以对后台系统进行管理。主要功能有:首页、用户、农家乐、农家乐信息、农家乐预约、取消预约、菜品信息、用户点餐、取消点餐等功能。

核心代码
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: `ssmb02jus2r`
--
/*!40000 DROP DATABASE IF EXISTS `ssmb02jus2r`*/;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `ssmb02jus2r` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `ssmb02jus2r`;
--
-- 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 '菜品名称',
`caipinfenlei` varchar(200) NOT NULL COMMENT '菜品分类',
`kouwei` varchar(200) DEFAULT NULL COMMENT '口味',
`jiage` double NOT NULL COMMENT '价格',
`shuliang` int(11) NOT NULL COMMENT '数量',
`fengmian` longtext COMMENT '封面',
`shangjiariqi` date DEFAULT NULL COMMENT '上架日期',
`caipinjieshao` longtext COMMENT '菜品介绍',
`nongjialemingcheng` varchar(200) DEFAULT NULL COMMENT '农家乐名称',
`lianxidianhua` varchar(200) DEFAULT NULL COMMENT '联系电话',
`clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',
`clicknum` int(11) DEFAULT '0' COMMENT '点击次数',
`storeupnum` int(11) DEFAULT '0' COMMENT '收藏数',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=69 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,'2024-01-26 06:43:02','菜品名称1','菜品分类1','口味1',1,1,'upload/caipinxinxi_fengmian1.jpg,upload/caipinxinxi_fengmian2.jpg,upload/caipinxinxi_fengmian3.jpg','2024-01-26','菜品介绍1','农家乐名称1','联系电话1','2024-01-26 14:43:02',1,1),(62,'2024-01-26 06:43:02','菜品名称2','菜品分类2','口味2',2,2,'upload/caipinxinxi_fengmian2.jpg,upload/caipinxinxi_fengmian3.jpg,upload/caipinxinxi_fengmian4.jpg','2024-01-26','菜品介绍2','农家乐名称2','联系电话2','2024-01-26 14:43:02',2,2),(63,'2024-01-26 06:43:02','菜品名称3','菜品分类3','口味3',3,3,'upload/caipinxinxi_fengmian3.jpg,upload/caipinxinxi_fengmian4.jpg,upload/caipinxinxi_fengmian5.jpg','2024-01-26','菜品介绍3','农家乐名称3','联系电话3','2024-01-26 14:43:02',3,3),(64,'2024-01-26 06:43:02','菜品名称4','菜品分类4','口味4',4,4,'upload/caipinxinxi_fengmian4.jpg,upload/caipinxinxi_fengmian5.jpg,upload/caipinxinxi_fengmian6.jpg','2024-01-26','菜品介绍4','农家乐名称4','联系电话4','2024-01-26 14:43:02',4,4),(65,'2024-01-26 06:43:02','菜品名称5','菜品分类5','口味5',5,5,'upload/caipinxinxi_fengmian5.jpg,upload/caipinxinxi_fengmian6.jpg,upload/caipinxinxi_fengmian7.jpg','2024-01-26','菜品介绍5','农家乐名称5','联系电话5','2024-01-26 14:43:02',5,5),(66,'2024-01-26 06:43:02','菜品名称6','菜品分类6','口味6',6,6,'upload/caipinxinxi_fengmian6.jpg,upload/caipinxinxi_fengmian7.jpg,upload/caipinxinxi_fengmian8.jpg','2024-01-26','菜品介绍6','农家乐名称6','联系电话6','2024-01-26 14:43:02',6,6),(67,'2024-01-26 06:43:02','菜品名称7','菜品分类7','口味7',7,7,'upload/caipinxinxi_fengmian7.jpg,upload/caipinxinxi_fengmian8.jpg,upload/caipinxinxi_fengmian9.jpg','2024-01-26','菜品介绍7','农家乐名称7','联系电话7','2024-01-26 14:43:02',7,7),(68,'2024-01-26 06:43:02','菜品名称8','菜品分类8','口味8',8,8,'upload/caipinxinxi_fengmian8.jpg,upload/caipinxinxi_fengmian9.jpg,upload/caipinxinxi_fengmian10.jpg','2024-01-26','菜品介绍8','农家乐名称8','联系电话8','2024-01-26 14:43:02',8,8);
/*!40000 ALTER TABLE `caipinxinxi` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `config`
--
DROP TABLE IF EXISTS `config`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `config` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`name` varchar(100) NOT NULL COMMENT '配置参数名称',
`value` varchar(100) DEFAULT NULL COMMENT '配置参数值',
`url` varchar(500) DEFAULT NULL COMMENT 'url',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='配置文件';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `config`
--
LOCK TABLES `config` WRITE;
/*!40000 ALTER TABLE `config` DISABLE KEYS */;
INSERT INTO `config` VALUES (1,'picture1','upload/picture1.jpg',NULL),(2,'picture2','upload/picture2.jpg',NULL),(3,'picture3','upload/picture3.jpg',NULL);
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;
系统效果图













源码获取
下方名片联系我即可!!
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

2344

被折叠的 条评论
为什么被折叠?



