计算机毕业设计 基于SpringBoot的饮食分享平台的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌
🍅文末获取源码联系🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟
————————————————
计算机毕业设计《1000套》

目录

 1、项目介绍及开发技术

1.1 项目介绍

1.2 开发技术

2、系统功能设计结构图

3、功能截图

3.1 前台功能

3.2 后台功能

3.2.1管理员模块

3.2.2用户模块 

4、数据库表结构设计

5、关键代码

 5.1 菜谱信息管理Controller模块 

 5.2 菜谱信息管理Service模块 

 5.3 菜谱信息管理ServiceImpl模块

 5.4  菜谱信息管理Dao模块

6、论文目录结构

7、源码获取


 1、项目介绍及开发技术

1.1 项目介绍

随着科学技术的不断发展,计算机现在已经成为了社会的必需品,人们通过网络可以获得海量的信息,这些信息可以和各行各业进行关联,饮食分享平台也不例外,它给饮食分享管理带来了更多的选择和便捷。

1.2 开发技术

Java开发语言、SpringBoot、MyBatisPlus、MySQL数据库、Maven、IDEA开发工具、JDK1.8+、Vue、HTML、CSS、JS。

2、系统功能设计结构图

本系统解决了饮食分享管理事务中的主要问题,包括首页、个人中心、用户管理、菜品分类管理、菜谱信息管理、笔记信息管理、留言板管理、饮食论坛、趣味答题管理、试题管理、系统管理、考试管理等功能。

3、功能截图

3.1 前台功能

当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到饮食分享平台的导航条和公告信息等,通过导航条导航进入各功能展示页面进行操作。

 系统注册:在系统注册页面的输入栏中输入用户注册信息进行注册操作。

用户登录,注册账号后,在登录页面选择需要登录的角色,在正确输入用户名和密码后,进入操作系统进行操作。

菜谱信息:在菜谱信息页面的输入栏中输入菜谱名称、菜谱分类、口味、材料、制作工艺、适应人群、功效营养进行查询,可以查看到菜谱详细信息,并进行评论、点赞或收藏操作。

 个人中心:在个人中心页面输入对个人信息进行更新信息操作;并根据需要对我的发布、考试记录、错题本、我的收藏进行相应操作。

3.2 后台功能

3.2.1管理员模块

管理员进入主页面,主要功能包括对首页、个人中心、用户管理、菜品分类管理、菜谱信息管理、笔记信息管理、留言板管理、饮食论坛、趣味答题管理、试题管理、系统管理、考试管理等进行操作。

 管理员点击用户管理。在用户页面输入账号和姓名进行查询、新增、删除和用户性别统计用户列表,并根据需要对用户详情信息进行详情、修改或删除操作。

 管理员点击菜品分类管理。在菜品分类页面输入菜品分类进行查询、新增或删除菜品分类列表,并根据需要对菜品分类详情信息进行详情、修改或删除操作。

 管理员点击菜谱信息管理。在菜谱信息页面输入菜谱名称、口味、适应人群和功效营养进行查询、新增、删除和菜谱分类统计菜谱信息列表,并根据需要对菜谱详情信息进行详情、修改、查看评论或删除操作。

 管理员点击笔记信息管理。在笔记信息页面输入标题、标签和姓名进行查询或删除笔记信息列表,并根据需要对笔记信息详情信息进行详情或删除操作。

 管理员点击留言板管理。在留言板页面输入用户名进行查询或删除留言板列表,并根据需要对留言板详情信息进行详情、回复或删除操作。

 管理员点击饮食论坛。在饮食论坛页面输入帖子标签进行查询或删除饮食论坛列表,并根据需要对饮食论坛详情信息进行详情、查看评论或删除操作。

 管理员点击趣味答题管理。在趣味答题页面输入趣味答题名称进行查询、新增或删除趣味答题列表,并根据需要对趣味答题详情信息进行详情、修改或删除操作。

 管理员点击试题管理。在试题页面输入趣味答题和试题进行查询、新增或删除用户列表,并根据需要对试题详情信息进行修改或删除操作。

 管理员点击系统管理。在关于我们页面输入标题进行查询关于我们列表,并根据需要对关于我们详细信息进行详情或修改操作;还可以对系统简介、公告信息、轮播图管理进行相应操作。

3.2.2用户模块 

用户进入系统可以对首页、个人中心、笔记信息管理等功能进行操作。

4、数据库表结构设计

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

USE `springbootc71oi`;

--
-- Table structure for table `aboutus`
--

DROP TABLE IF EXISTS `aboutus`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `aboutus` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `title` varchar(200) NOT NULL COMMENT '标题',
  `subtitle` varchar(200) DEFAULT NULL COMMENT '副标题',
  `content` longtext NOT NULL COMMENT '内容',
  `picture1` longtext COMMENT '图片1',
  `picture2` longtext COMMENT '图片2',
  `picture3` longtext COMMENT '图片3',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='关于我们';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aboutus`
--

LOCK TABLES `aboutus` WRITE;
/*!40000 ALTER TABLE `aboutus` DISABLE KEYS */;
INSERT INTO `aboutus` VALUES (1,'2023-02-08 03:44:54','关于我们','ABOUT US','<p>这里是编辑前端的关于我们的地方</p>','upload/aboutus_picture1.jpg','upload/aboutus_picture2.jpg','upload/aboutus_picture3.jpg');
/*!40000 ALTER TABLE `aboutus` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `bijixinxi`
--

DROP TABLE IF EXISTS `bijixinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `bijixinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `biaoti` varchar(200) NOT NULL COMMENT '标题',
  `biaoqian` varchar(200) NOT NULL COMMENT '标签',
  `bijineirong` longtext COMMENT '笔记内容',
  `jiluriqi` date DEFAULT NULL COMMENT '记录日期',
  `zhanghao` varchar(200) DEFAULT NULL COMMENT '账号',
  `xingming` varchar(200) DEFAULT NULL COMMENT '姓名',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828204461 DEFAULT CHARSET=utf8 COMMENT='笔记信息';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `bijixinxi`
--

LOCK TABLES `bijixinxi` WRITE;
/*!40000 ALTER TABLE `bijixinxi` DISABLE KEYS */;
INSERT INTO `bijixinxi` VALUES (41,'2023-02-08 03:44:54','标题1','标签1','笔记内容1','2023-02-08','账号1','姓名1'),(42,'2023-02-08 03:44:54','标题2','标签2','笔记内容2','2023-02-08','账号2','姓名2'),(43,'2023-02-08 03:44:54','标题3','标签3','笔记内容3','2023-02-08','账号3','姓名3'),(44,'2023-02-08 03:44:54','标题4','标签4','笔记内容4','2023-02-08','账号4','姓名4'),(45,'2023-02-08 03:44:54','标题5','标签5','笔记内容5','2023-02-08','账号5','姓名5'),(46,'2023-02-08 03:44:54','标题6','标签6','笔记内容6','2023-02-08','账号6','姓名6'),(47,'2023-02-08 03:44:54','标题7','标签7','笔记内容7','2023-02-08','账号7','姓名7'),(48,'2023-02-08 03:44:54','标题8','标签8','笔记内容8','2023-02-08','账号8','姓名8'),(1675828204460,'2023-02-08 03:50:04','某某笔记','心情类','<p>这里是用户记录笔记信息的地方</p>','2023-02-08','11','张三');
/*!40000 ALTER TABLE `bijixinxi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `caipinfenlei`
--

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

--
-- Dumping data for table `caipinfenlei`
--

LOCK TABLES `caipinfenlei` WRITE;
/*!40000 ALTER TABLE `caipinfenlei` DISABLE KEYS */;
INSERT INTO `caipinfenlei` VALUES (21,'2023-02-08 03:44:54','菜品分类1'),(22,'2023-02-08 03:44:54','菜品分类2'),(23,'2023-02-08 03:44:54','菜品分类3'),(24,'2023-02-08 03:44:54','菜品分类4'),(25,'2023-02-08 03:44:54','菜品分类5'),(26,'2023-02-08 03:44:54','菜品分类6'),(27,'2023-02-08 03:44:54','菜品分类7'),(28,'2023-02-08 03:44:54','菜品分类8'),(1675828226560,'2023-02-08 03:50:26','油炸类');
/*!40000 ALTER TABLE `caipinfenlei` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `caipuxinxi`
--

DROP TABLE IF EXISTS `caipuxinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `caipuxinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `caipumingcheng` varchar(200) NOT NULL COMMENT '菜谱名称',
  `caipinfenlei` varchar(200) NOT NULL COMMENT '菜品分类',
  `caipufengmian` longtext COMMENT '菜谱封面',
  `kouwei` varchar(200) NOT NULL COMMENT '口味',
  `cailiao` varchar(200) NOT NULL COMMENT '材料',
  `zhizuogongyi` varchar(200) DEFAULT NULL COMMENT '制作工艺',
  `shiyingrenqun` varchar(200) NOT NULL COMMENT '适应人群',
  `gongxiaoyingyang` varchar(200) NOT NULL COMMENT '功效营养',
  `caipuxiangqing` longtext COMMENT '菜谱详情',
  `thumbsupnum` int(11) DEFAULT '0' COMMENT '赞',
  `crazilynum` int(11) DEFAULT '0' COMMENT '踩',
  `clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828284790 DEFAULT CHARSET=utf8 COMMENT='菜谱信息';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `caipuxinxi`
--

LOCK TABLES `caipuxinxi` WRITE;
/*!40000 ALTER TABLE `caipuxinxi` DISABLE KEYS */;
INSERT INTO `caipuxinxi` VALUES (31,'2023-02-08 03:44:54','菜谱名称1','菜品分类1','upload/caipuxinxi_caipufengmian1.jpg,upload/caipuxinxi_caipufengmian2.jpg,upload/caipuxinxi_caipufengmian3.jpg','口味1','材料1','制作工艺1','适应人群1','功效营养1','菜谱详情1',1,1,'2023-02-08 11:44:54'),(32,'2023-02-08 03:44:54','菜谱名称2','菜品分类2','upload/caipuxinxi_caipufengmian2.jpg,upload/caipuxinxi_caipufengmian3.jpg,upload/caipuxinxi_caipufengmian4.jpg','口味2','材料2','制作工艺2','适应人群2','功效营养2','菜谱详情2',3,2,'2023-02-08 11:49:42'),(33,'2023-02-08 03:44:54','菜谱名称3','菜品分类3','upload/caipuxinxi_caipufengmian3.jpg,upload/caipuxinxi_caipufengmian4.jpg,upload/caipuxinxi_caipufengmian5.jpg','口味3','材料3','制作工艺3','适应人群3','功效营养3','菜谱详情3',3,3,'2023-02-08 11:44:54'),(34,'2023-02-08 03:44:54','菜谱名称4','菜品分类4','upload/caipuxinxi_caipufengmian4.jpg,upload/caipuxinxi_caipufengmian5.jpg,upload/caipuxinxi_caipufengmian6.jpg','口味4','材料4','制作工艺4','适应人群4','功效营养4','菜谱详情4',4,4,'2023-02-08 11:44:54'),(35,'2023-02-08 03:44:54','菜谱名称5','菜品分类5','upload/caipuxinxi_caipufengmian5.jpg,upload/caipuxinxi_caipufengmian6.jpg,upload/caipuxinxi_caipufengmian7.jpg','口味5','材料5','制作工艺5','适应人群5','功效营养5','菜谱详情5',5,5,'2023-02-08 11:54:44'),(36,'2023-02-08 03:44:54','菜谱名称6','菜品分类6','upload/caipuxinxi_caipufengmian6.jpg,upload/caipuxinxi_caipufengmian7.jpg,upload/caipuxinxi_caipufengmian8.jpg','口味6','材料6','制作工艺6','适应人群6','功效营养6','菜谱详情6',6,6,'2023-02-08 11:44:54'),(37,'2023-02-08 03:44:54','菜谱名称7','菜品分类7','upload/caipuxinxi_caipufengmian7.jpg,upload/caipuxinxi_caipufengmian8.jpg,upload/caipuxinxi_caipufengmian9.jpg','口味7','材料7','制作工艺7','适应人群7','功效营养7','菜谱详情7',7,7,'2023-02-08 11:44:54'),(38,'2023-02-08 03:44:54','菜谱名称8','菜品分类8','upload/caipuxinxi_caipufengmian8.jpg,upload/caipuxinxi_caipufengmian9.jpg,upload/caipuxinxi_caipufengmian10.jpg','口味8','材料8','制作工艺8','适应人群8','功效营养8','菜谱详情8',8,8,'2023-02-08 11:44:54'),(1675828284789,'2023-02-08 03:51:24','某某菜谱','油炸类','upload/1675828282955.jpg','偏辣','新鲜材料','油炸','青少年','满足高蛋白','<p>这里输入菜谱的详情</p><p>还可以适当的插入图片</p><p><img src=\"http://localhost:8080/springbootc71oi/upload/1675828280498.jpg\"></p>',0,0,'2023-02-08 11:54:48');
/*!40000 ALTER TABLE `caipuxinxi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `chat`
--

DROP TABLE IF EXISTS `chat`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `chat` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `adminid` bigint(20) DEFAULT NULL COMMENT '管理员id',
  `ask` longtext COMMENT '提问',
  `reply` longtext COMMENT '回复',
  `isreply` int(11) DEFAULT NULL COMMENT '是否回复',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828662440 DEFAULT CHARSET=utf8 COMMENT='在线咨询';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `chat`
--

LOCK TABLES `chat` WRITE;
/*!40000 ALTER TABLE `chat` DISABLE KEYS */;
INSERT INTO `chat` VALUES (51,'2023-02-08 03:44:54',1,1,'提问1','回复1',0),(52,'2023-02-08 03:44:54',2,2,'提问2','回复2',2),(53,'2023-02-08 03:44:54',3,3,'提问3','回复3',3),(54,'2023-02-08 03:44:54',4,4,'提问4','回复4',4),(55,'2023-02-08 03:44:54',5,5,'提问5','回复5',5),(56,'2023-02-08 03:44:54',6,6,'提问6','回复6',6),(57,'2023-02-08 03:44:54',7,7,'提问7','回复7',7),(58,'2023-02-08 03:44:54',8,8,'提问8','回复8',8),(1675828004143,'2023-02-08 03:46:43',1,12,NULL,'主人,我是您的智能助手小搏,请问有什么可以帮您!',0),(1675828134037,'2023-02-08 03:48:53',1675828055119,1675828055119,NULL,'主人,我是您的智能助手小搏,请问有什么可以帮您!',0),(1675828157997,'2023-02-08 03:49:17',1675828055119,NULL,'这里是在线咨询智能客服的地方',NULL,0),(1675828158601,'2023-02-08 03:49:18',1675828055119,1675828055119,NULL,'主人,小搏还不够聪明,无法理解您的意思!',0),(1675828160310,'2023-02-08 03:49:19',1675828055119,1675828055119,NULL,'您好,在线客服很高兴为您服务!',0),(1675828168740,'2023-02-08 03:49:28',1675828055119,NULL,'这里是转人工咨询的地方',NULL,0),(1675828476321,'2023-02-08 03:54:36',1675828055119,1675828055119,NULL,'主人,我是您的智能助手小搏,请问有什么可以帮您!',0),(1675828500259,'2023-02-08 03:54:59',1675828055119,1675828055119,NULL,'主人,我是您的智能助手小搏,请问有什么可以帮您!',0),(1675828553206,'2023-02-08 03:55:52',1,1675828055119,NULL,'主人,我是您的智能助手小搏,请问有什么可以帮您!',NULL),(1675828590726,'2023-02-08 03:56:29',1675828055119,NULL,'这里是转人工咨询的地方',NULL,0),(1675828591031,'2023-02-08 03:56:30',1675828055119,1675828055119,NULL,'主人,小搏还不够聪明,无法理解您的意思!',0),(1675828654637,'2023-02-08 03:57:33',1675828055119,1675828055119,NULL,'主人,我是您的智能助手小搏,请问有什么可以帮您!',0),(1675828661487,'2023-02-08 03:57:41',1675828055119,NULL,'测试提问',NULL,0),(1675828662439,'2023-02-08 03:57:42',1675828055119,1675828055119,NULL,'这里是编辑智能回复的地方',NULL);
/*!40000 ALTER TABLE `chat` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `chathelper`
--

DROP TABLE IF EXISTS `chathelper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `chathelper` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `ask` varchar(200) DEFAULT NULL COMMENT '提问',
  `reply` longtext COMMENT '回复',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828642689 DEFAULT CHARSET=utf8 COMMENT='聊天助手表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `chathelper`
--

LOCK TABLES `chathelper` WRITE;
/*!40000 ALTER TABLE `chathelper` DISABLE KEYS */;
INSERT INTO `chathelper` VALUES (61,'2023-02-08 03:44:54','提问1','回复1'),(62,'2023-02-08 03:44:54','提问2','回复2'),(63,'2023-02-08 03:44:54','提问3','回复3'),(64,'2023-02-08 03:44:54','提问4','回复4'),(65,'2023-02-08 03:44:54','提问5','回复5'),(66,'2023-02-08 03:44:54','提问6','回复6'),(67,'2023-02-08 03:44:54','提问7','回复7'),(68,'2023-02-08 03:44:54','提问8','回复8'),(1675828642688,'2023-02-08 03:57:22','测试提问','这里是编辑智能回复的地方');
/*!40000 ALTER TABLE `chathelper` 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 '配置参数值',
  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'),(2,'picture2','upload/1675828403002.png'),(3,'picture3','upload/picture3.jpg');
/*!40000 ALTER TABLE `config` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `discusscaipuxinxi`
--

DROP TABLE IF EXISTS `discusscaipuxinxi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `discusscaipuxinxi` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `refid` bigint(20) NOT NULL COMMENT '关联表id',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `avatarurl` longtext COMMENT '头像',
  `nickname` varchar(200) DEFAULT NULL COMMENT '用户名',
  `content` longtext NOT NULL COMMENT '评论内容',
  `reply` longtext COMMENT '回复内容',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828098246 DEFAULT CHARSET=utf8 COMMENT='菜谱信息评论表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `discusscaipuxinxi`
--

LOCK TABLES `discusscaipuxinxi` WRITE;
/*!40000 ALTER TABLE `discusscaipuxinxi` DISABLE KEYS */;
INSERT INTO `discusscaipuxinxi` VALUES (1675828098245,'2023-02-08 03:48:17',32,1675828055119,'upload/1675828053646.jpg','11','这里是评论的地方,这里的推荐是根据用户的收藏类型进行推荐的','这里是回复用户的评论的地方');
/*!40000 ALTER TABLE `discusscaipuxinxi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `exampaper`
--

DROP TABLE IF EXISTS `exampaper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `exampaper` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `name` varchar(200) NOT NULL COMMENT '趣味答题名称',
  `time` int(11) NOT NULL COMMENT '考试时长(分钟)',
  `status` int(11) NOT NULL DEFAULT '0' COMMENT '趣味答题状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828338492 DEFAULT CHARSET=utf8 COMMENT='趣味答题表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `exampaper`
--

LOCK TABLES `exampaper` WRITE;
/*!40000 ALTER TABLE `exampaper` DISABLE KEYS */;
INSERT INTO `exampaper` VALUES (1,'2023-02-08 03:44:54','十万个为什么',60,1),(1675828338491,'2023-02-08 03:52:17','这里是发布答题的地方',15,1);
/*!40000 ALTER TABLE `exampaper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `examquestion`
--

DROP TABLE IF EXISTS `examquestion`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `examquestion` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `paperid` bigint(20) NOT NULL COMMENT '所属趣味答题id(外键)',
  `papername` varchar(200) NOT NULL COMMENT '趣味答题名称',
  `questionname` varchar(200) NOT NULL COMMENT '试题名称',
  `options` longtext COMMENT '选项,json字符串',
  `score` bigint(20) DEFAULT '0' COMMENT '分值',
  `answer` varchar(200) DEFAULT NULL COMMENT '正确答案',
  `analysis` longtext COMMENT '答案解析',
  `type` bigint(20) DEFAULT '0' COMMENT '试题类型,0:单选题 1:多选题 2:判断题 3:填空题(暂不考虑多项填空)',
  `sequence` bigint(20) DEFAULT '100' COMMENT '试题排序,值越大排越前面',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828390810 DEFAULT CHARSET=utf8 COMMENT='试题表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `examquestion`
--

LOCK TABLES `examquestion` WRITE;
/*!40000 ALTER TABLE `examquestion` DISABLE KEYS */;
INSERT INTO `examquestion` VALUES (1,'2023-02-08 03:44:54',1,'十万个为什么','下面动物不属于昆虫的是()。','[{\"text\":\"A.苍蝇\",\"code\":\"A\"},{\"text\":\"B.蜜蜂\",\"code\":\"B\"},{\"text\":\"C.蜂鸟\",\"code\":\"C\"}]',20,'C','蜂鸟',0,1),(2,'2023-02-08 03:44:54',1,'十万个为什么','油着火后可以用水扑灭。','[{\"text\":\"A.对\",\"code\":\"A\"},{\"text\":\"B.错\",\"code\":\"B\"}]',20,'B','油着火后不可以用水扑灭',2,2),(3,'2023-02-08 03:44:54',1,'十万个为什么','地球是个球体,中间是( )。','[]',30,'赤道','赤道',3,3),(4,'2023-02-08 03:44:54',1,'十万个为什么','下面动物中会流汗的有( )。','[{\"text\":\"A.马\",\"code\":\"A\"},{\"text\":\"B.猫\",\"code\":\"B\"},{\"text\":\"C.狗\",\"code\":\"C\"}]',30,'A,B','狗不会流汗',1,4),(1675828358126,'2023-02-08 03:52:37',1675828338491,'这里是发布答题的地方','这里是发布试题的地方','[{\"text\":\"A.对\",\"code\":\"A\"},{\"text\":\"B.错\",\"code\":\"B\"}]',10,'B','这里是发布试题的分析',2,1),(1675828390809,'2023-02-08 03:53:10',1675828338491,'这里是发布答题的地方','测试试题','[{\"text\":\"A.1\",\"code\":\"A\"},{\"text\":\"B.2\",\"code\":\"B\"},{\"text\":\"C.3\",\"code\":\"C\"},{\"text\":\"D.4\",\"code\":\"D\"}]',10,'B','测试结果',0,2);
/*!40000 ALTER TABLE `examquestion` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `examrecord`
--

DROP TABLE IF EXISTS `examrecord`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `examrecord` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `username` varchar(200) DEFAULT NULL COMMENT '用户名',
  `paperid` bigint(20) NOT NULL COMMENT '趣味答题id(外键)',
  `papername` varchar(200) NOT NULL COMMENT '趣味答题名称',
  `questionid` bigint(20) NOT NULL COMMENT '试题id(外键)',
  `questionname` varchar(200) NOT NULL COMMENT '试题名称',
  `options` longtext COMMENT '选项,json字符串',
  `score` bigint(20) DEFAULT '0' COMMENT '分值',
  `answer` varchar(200) DEFAULT NULL COMMENT '正确答案',
  `analysis` longtext COMMENT '答案解析',
  `myscore` bigint(20) NOT NULL DEFAULT '0' COMMENT '试题得分',
  `myanswer` varchar(200) DEFAULT NULL COMMENT '考生答案',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828499080 DEFAULT CHARSET=utf8 COMMENT='考试记录表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `examrecord`
--

LOCK TABLES `examrecord` WRITE;
/*!40000 ALTER TABLE `examrecord` DISABLE KEYS */;
INSERT INTO `examrecord` VALUES (1675828124303,'2023-02-08 03:48:44',1675828055119,'张三',1,'十万个为什么',1,'下面动物不属于昆虫的是()。','[{\"text\":\"A.苍蝇\",\"code\":\"A\"},{\"text\":\"B.蜜蜂\",\"code\":\"B\"},{\"text\":\"C.蜂鸟\",\"code\":\"C\"}]',20,'C','蜂鸟',20,'C'),(1675828126290,'2023-02-08 03:48:45',1675828055119,'张三',1,'十万个为什么',2,'油着火后可以用水扑灭。','[{\"text\":\"A.对\",\"code\":\"A\"},{\"text\":\"B.错\",\"code\":\"B\"}]',20,'B','油着火后不可以用水扑灭',20,'B'),(1675828129851,'2023-02-08 03:48:49',1675828055119,'张三',1,'十万个为什么',3,'地球是个球体,中间是( )。','[]',30,'赤道','赤道',30,'赤道'),(1675828132072,'2023-02-08 03:48:51',1675828055119,'张三',1,'十万个为什么',4,'下面动物中会流汗的有( )。','[{\"text\":\"A.马\",\"code\":\"A\"},{\"text\":\"B.猫\",\"code\":\"B\"},{\"text\":\"C.狗\",\"code\":\"C\"}]',30,'A,B','狗不会流汗',0,'B,C'),(1675828497548,'2023-02-08 03:54:56',1675828055119,'张三',1675828338491,'这里是发布答题的地方',1675828358126,'这里是发布试题的地方','[{\"text\":\"A.对\",\"code\":\"A\"},{\"text\":\"B.错\",\"code\":\"B\"}]',10,'B','这里是发布试题的分析',0,'A'),(1675828499079,'2023-02-08 03:54:58',1675828055119,'张三',1675828338491,'这里是发布答题的地方',1675828390809,'测试试题','[{\"text\":\"A.1\",\"code\":\"A\"},{\"text\":\"B.2\",\"code\":\"B\"},{\"text\":\"C.3\",\"code\":\"C\"},{\"text\":\"D.4\",\"code\":\"D\"}]',10,'B','测试结果',0,'A');
/*!40000 ALTER TABLE `examrecord` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `forum`
--

DROP TABLE IF EXISTS `forum`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `forum` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `title` varchar(200) DEFAULT NULL COMMENT '帖子标题',
  `content` longtext NOT NULL COMMENT '帖子内容',
  `parentid` bigint(20) DEFAULT NULL COMMENT '父节点id',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `username` varchar(200) DEFAULT NULL COMMENT '用户名',
  `avatarurl` longtext COMMENT '头像',
  `isdone` varchar(200) DEFAULT NULL COMMENT '状态',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828118824 DEFAULT CHARSET=utf8 COMMENT='饮食论坛';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `forum`
--

LOCK TABLES `forum` WRITE;
/*!40000 ALTER TABLE `forum` DISABLE KEYS */;
INSERT INTO `forum` VALUES (71,'2023-02-08 03:44:54','帖子标题1','帖子内容1',0,1,'用户名1','upload/forum_avatarurl1.jpg,upload/forum_avatarurl2.jpg,upload/forum_avatarurl3.jpg','开放'),(72,'2023-02-08 03:44:54','帖子标题2','帖子内容2',0,2,'用户名2','upload/forum_avatarurl2.jpg,upload/forum_avatarurl3.jpg,upload/forum_avatarurl4.jpg','开放'),(73,'2023-02-08 03:44:54','帖子标题3','帖子内容3',0,3,'用户名3','upload/forum_avatarurl3.jpg,upload/forum_avatarurl4.jpg,upload/forum_avatarurl5.jpg','开放'),(74,'2023-02-08 03:44:54','帖子标题4','帖子内容4',0,4,'用户名4','upload/forum_avatarurl4.jpg,upload/forum_avatarurl5.jpg,upload/forum_avatarurl6.jpg','开放'),(75,'2023-02-08 03:44:54','帖子标题5','帖子内容5',0,5,'用户名5','upload/forum_avatarurl5.jpg,upload/forum_avatarurl6.jpg,upload/forum_avatarurl7.jpg','开放'),(76,'2023-02-08 03:44:54','帖子标题6','帖子内容6',0,6,'用户名6','upload/forum_avatarurl6.jpg,upload/forum_avatarurl7.jpg,upload/forum_avatarurl8.jpg','开放'),(77,'2023-02-08 03:44:54','帖子标题7','帖子内容7',0,7,'用户名7','upload/forum_avatarurl7.jpg,upload/forum_avatarurl8.jpg,upload/forum_avatarurl9.jpg','开放'),(78,'2023-02-08 03:44:54','帖子标题8','帖子内容8',0,8,'用户名8','upload/forum_avatarurl8.jpg,upload/forum_avatarurl9.jpg,upload/forum_avatarurl10.jpg','开放'),(1675828118823,'2023-02-08 03:48:38','某某交流论坛','<p>这里是用户之间交流的地方</p>',0,1675828055119,'11',NULL,'开放');
/*!40000 ALTER TABLE `forum` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `messages`
--

DROP TABLE IF EXISTS `messages`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `messages` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `userid` bigint(20) NOT NULL COMMENT '留言人id',
  `username` varchar(200) DEFAULT NULL COMMENT '用户名',
  `avatarurl` longtext COMMENT '头像',
  `content` longtext NOT NULL COMMENT '留言内容',
  `cpicture` longtext COMMENT '留言图片',
  `reply` longtext COMMENT '回复内容',
  `rpicture` longtext COMMENT '回复图片',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828145636 DEFAULT CHARSET=utf8 COMMENT='留言板';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `messages`
--

LOCK TABLES `messages` WRITE;
/*!40000 ALTER TABLE `messages` DISABLE KEYS */;
INSERT INTO `messages` VALUES (151,'2023-02-08 03:44:54',1,'用户名1','upload/messages_avatarurl1.jpg','留言内容1','upload/messages_cpicture1.jpg','回复内容1','upload/messages_rpicture1.jpg'),(152,'2023-02-08 03:44:54',2,'用户名2','upload/messages_avatarurl2.jpg','留言内容2','upload/messages_cpicture2.jpg','回复内容2','upload/messages_rpicture2.jpg'),(153,'2023-02-08 03:44:54',3,'用户名3','upload/messages_avatarurl3.jpg','留言内容3','upload/messages_cpicture3.jpg','回复内容3','upload/messages_rpicture3.jpg'),(154,'2023-02-08 03:44:54',4,'用户名4','upload/messages_avatarurl4.jpg','留言内容4','upload/messages_cpicture4.jpg','回复内容4','upload/messages_rpicture4.jpg'),(155,'2023-02-08 03:44:54',5,'用户名5','upload/messages_avatarurl5.jpg','留言内容5','upload/messages_cpicture5.jpg','回复内容5','upload/messages_rpicture5.jpg'),(156,'2023-02-08 03:44:54',6,'用户名6','upload/messages_avatarurl6.jpg','留言内容6','upload/messages_cpicture6.jpg','回复内容6','upload/messages_rpicture6.jpg'),(157,'2023-02-08 03:44:54',7,'用户名7','upload/messages_avatarurl7.jpg','留言内容7','upload/messages_cpicture7.jpg','回复内容7','upload/messages_rpicture7.jpg'),(158,'2023-02-08 03:44:54',8,'用户名8','upload/messages_avatarurl8.jpg','留言内容8','upload/messages_cpicture8.jpg','回复内容8','upload/messages_rpicture8.jpg'),(1675828145635,'2023-02-08 03:49:04',1675828055119,'11','upload/1675828053646.jpg','这里是留言反馈的地方',NULL,'这里是回复用户的留言反馈的地方',NULL);
/*!40000 ALTER TABLE `messages` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `news`
--

DROP TABLE IF EXISTS `news`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `news` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `title` varchar(200) NOT NULL COMMENT '标题',
  `introduction` longtext COMMENT '简介',
  `picture` longtext NOT NULL COMMENT '图片',
  `content` longtext NOT NULL COMMENT '内容',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828441097 DEFAULT CHARSET=utf8 COMMENT='公告信息';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `news`
--

LOCK TABLES `news` WRITE;
/*!40000 ALTER TABLE `news` DISABLE KEYS */;
INSERT INTO `news` VALUES (121,'2023-02-08 03:44:54','有梦想,就要努力去实现','不管你想要怎样的生活,你都要去努力争取,不多尝试一些事情怎么知道自己适合什么、不适合什么呢?你说你喜欢读书,让我给你列书单,你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案,问我如何成为一个文案,应该具备哪些素质;你说你计划晨跑,但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行,但是没钱,父母觉得危险。','upload/news_picture1.jpg','<p>不管你想要怎样的生活,你都要去努力争取,不多尝试一些事情怎么知道自己适合什么、不适合什么呢?</p><p>你说你喜欢读书,让我给你列书单,你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案,问我如何成为一个文案,应该具备哪些素质;你说你计划晨跑,但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行,但是没钱,父母觉得危险。其实,我已经厌倦了你这样说说而已的把戏,我觉得就算我告诉你如何去做,你也不会照做,因为你根本什么都不做。</p><p>真正有行动力的人不需要别人告诉他如何做,因为他已经在做了。就算碰到问题,他也会自己想办法,自己动手去解决或者主动寻求可以帮助他的人,而不是等着别人为自己解决问题。</p><p>首先要学习独立思考。花一点时间想一下自己喜欢什么,梦想是什么,不要别人说想环游世界,你就说你的梦想是环游世界。</p><p>很多人说现实束缚了自己,其实在这个世界上,我们一直都可以有很多选择,生活的决定权也—直都在自己手上,只是我们缺乏行动力而已。</p><p>如果你觉得安于现状是你想要的,那选择安于现状就会让你幸福和满足;如果你不甘平庸,选择一条改变、进取和奋斗的道路,在这个追求的过程中,你也一样会感到快乐。所谓的成功,即是按照自己想要的生活方式生活。最糟糕的状态,莫过于当你想要选择一条不甘平庸、改变、进取和奋斗的道路时,却以一种安于现状的方式生活,最后抱怨自己没有得到想要的人生。</p><p>因为喜欢,你不是在苦苦坚持,也因为喜欢,你愿意投入时间、精力,长久以往,获得成功就是自然而然的事情。</p>'),(122,'2023-02-08 03:44:54','又是一年毕业季','又是一年毕业季,感慨万千,还记的自己刚进学校那时候的情景,我拖着沉重的行李箱站在偌大的教学楼前面,感叹自己未来的日子即将在这个陌生的校园里度过,而如今斗转星移,浮光掠影,弹指之间,那些青葱岁月如同白驹过隙般悄然从指缝溜走。过去的种种在胸口交集纠结,像打翻的五味瓶,甜蜜,酸楚,苦涩,一并涌上心头。','upload/news_picture2.jpg','<p>又是一年毕业季,感慨万千,还记的自己刚进学校那时候的情景,我拖着沉重的行李箱站在偌大的教学楼前面,感叹自己未来的日子即将在这个陌生的校园里度过,而如今斗转星移,浮光掠影,弹指之间,那些青葱岁月如同白驹过隙般悄然从指缝溜走。</p><p>过去的种种在胸口交集纠结,像打翻的五味瓶,甜蜜,酸楚,苦涩,一并涌上心头。一直都是晚会的忠实参与者,无论是台前还是幕后,忽然间,角色转变,那种感觉确实难以用语言表达。</p><p>	过去的三年,总是默默地期盼着这个好雨时节,因为这时候,会有灿烂的阳光,会有满目的百花争艳,会有香甜的冰激凌,这是个毕业的季节,当时不经世事的我们会殷切地期待学校那一大堆的活动,期待穿上绚丽的演出服或者礼仪服,站在大礼堂镁光灯下尽情挥洒我们的澎拜的激情。</p><p>百感交集,隔岸观火与身临其境的感觉竟是如此不同。从来没想过一场晚会送走的是我们自己的时候会是怎样的感情,毕业就真的意味着结束吗?倔强的我们不愿意承认,谢谢学弟学妹们慷慨的将这次的主题定为“我们在这里”。我知道,这可能是他们对我们这些过来人的尊敬和施舍。</p><p>没有为这场晚会排练、奔波,没有为班级、学生会、文学院出点力,还真有点不习惯,百般无奈中,用“工作忙”个万能的借口来搪塞自己,欺骗别人。其实自己心里明白,那只是在逃避,只是不愿面对繁华落幕后的萧条和落寞。大四了,大家各奔东西,想凑齐班上的人真的是难上加难,敏燕从越南回来,刚落地就匆匆回了学校,那么恋家的人也启程回来了,睿睿学姐也是从家赶来跟我们团圆。大家—如既往的寒暄、打趣、调侃对方,似乎一切又回到了当初的单纯美好。</p><p>看着舞台上活泼可爱的学弟学妹们,如同一群机灵的小精灵,清澈的眼神,稚嫩的肢体,轻快地步伐,用他们那热情洋溢的舞姿渲染着在场的每一个人,我知道,我不应该羡慕嫉妒他们,不应该顾自怜惜逝去的青春,不应该感叹夕阳无限好,曾经,我们也拥有过,曾经,我们也年轻过,曾经,我们也灿烂过。我深深地告诉自己,人生的每个阶段都是美的,年轻有年轻的活力,成熟也有成熟的魅力。多—份稳重、淡然、优雅,也是漫漫时光掠影遗留下的.珍贵赏赐。</p>'),(123,'2023-02-08 03:44:54','挫折路上,坚持常在心间','回头看看,你会不会发现,曾经的你在这里摔倒过;回头看看,你是否发现,一次次地重复着,却从没爬起过。而如今,让我们把视线转向前方,那一道道金色的弧线,是流星飞逝的痕迹,或是成功运行的轨道。今天的你,是否要扬帆起航,让幸福来敲门?清晨的太阳撒向大地,神奇的宇宙赋予它神奇的色彩,大自然沐浴着春光,世界因太阳的照射而精彩,林中百鸟啾啾,河水轻轻流淌,汇成清宁的山间小调。','upload/news_picture3.jpg','<p>回头看看,你会不会发现,曾经的你在这里摔倒过;回头看看,你是否发现,一次次地重复着,却从没爬起过。而如今,让我们把视线转向前方,那一道道金色的弧线,是流星飞逝的痕迹,或是成功运行的轨道。今天的你,是否要扬帆起航,让幸福来敲门?</p><p>清晨的太阳撒向大地,神奇的宇宙赋予它神奇的色彩,大自然沐浴着春光,世界因太阳的照射而精彩,林中百鸟啾啾,河水轻轻流淌,汇成清宁的山间小调。</p><p>是的,面对道途上那无情的嘲讽,面对步伐中那重复的摔跤,面对激流与硬石之间猛烈的碰撞,我们必须选择那富于阴雨,却最终见到彩虹的荆棘路。也许,经历了那暴风雨的洗礼,我们便会变得自信,幸福也随之而来。</p><p>司马迁屡遭羞辱,却依然在狱中撰写《史记》,作为一名史学家,不因王权而极度赞赏,也不因卑微而极度批判,然而他在坚持自己操守的同时,却依然要受统治阶级的阻碍,他似乎无权选择自己的本职。但是,他不顾于此,只是在面对道途的阻隔之时,他依然选择了走下去的信念。终于一部开山巨作《史记》诞生,为后人留下一份馈赠,也许在他完成毕生的杰作之时,他微微地笑了,没有什么比梦想实现更快乐的了......</p><p>	或许正如“长风破浪会有时,直挂云帆济沧海”一般,欣欣然地走向看似深渊的崎岖路,而在一番耕耘之后,便会发现这里另有一番天地。也许这就是困难与快乐的交融。</p><p>也许在形形色色的社会中,我们常能看到一份坚持,一份自信,但这里却还有一类人。这类人在暴风雨来临之际,只会闪躲,从未懂得这也是一种历炼,这何尝不是一份快乐。在阴暗的角落里,总是独自在哭,带着伤愁,看不到一点希望。</p><p>我们不能堕落于此,而要像海燕那般,在苍茫的大海上,高傲地飞翔,任何事物都无法阻挡,任何事都是幸福快乐的。</p>'),(124,'2023-02-08 03:44:54','挫折是另一个生命的开端','当遇到挫折或失败,你是看见失败还是看见机会?挫折是我们每个人成长的必经之路,它不是你想有就有,想没有就没有的。有句名言说的好,如果你想一生摆脱苦难,你就得是神或者是死尸。这句话形象地说明了挫折是伴随着人生的,是谁都逃不掉的。','upload/news_picture4.jpg','<p>当遇到挫折或失败,你是看见失败还是看见机会?</p><p>挫折是我们每个人成长的必经之路,它不是你想有就有,想没有就没有的。有句名言说的好,如果你想一生摆脱苦难,你就得是神或者是死尸。这句话形象地说明了挫折是伴随着人生的,是谁都逃不掉的。</p><p>人生在世,从古到今,不分天子平民,机遇虽有不同,但总不免有身陷困境或遭遇难题之处,这时候唯有通权达变,才能使人转危为安,甚至反败为胜。</p><p>大部分的人,一生当中,最痛苦的经验是失去所爱的人,其次是丢掉一份工作。其实,经得起考验的人,就算是被开除也不会惊慌,要学会面对。</p><p>	“塞翁失马,焉知非福。”人生的道路,并不是每一步都迈向成功,这就是追求的意义。我们还要认识到一点,挫折作为一种情绪状态和一种个人体验,各人的耐受性是大不相同的,有的人经历了一次次挫折,就能够坚忍不拔,百折不挠;有的人稍遇挫折便意志消沉,一蹶不振。所以,挫折感是一种主观感受,因为人的目的和需要不同,成功标准不同,所以同一种活动对于不同的人可能会造成不同的挫折感受。</p><p>凡事皆以平常心来看待,对于生命顺逆不要太执著。能够“破我执”是很高层的人生境界。</p><p>人事的艰难就是一种考验。就像—支剑要有磨刀来磨,剑才会利:一块璞玉要有粗石来磨,才会发出耀眼的光芒。我们能够做到的,只是如何减少、避免那些由于自身的原因所造成的挫折,而在遇到痛苦和挫折之后,则力求化解痛苦,争取幸福。我们要知道,痛苦和挫折是双重性的,它既是我们人生中难以完全避免的,也是我们在争取成功时,不可缺少的一种动力。因为我认为,推动我们奋斗的力量,不仅仅是对成功的渴望,还有为摆脱痛苦和挫折而进行的奋斗。</p>'),(125,'2023-02-08 03:44:54','你要去相信,没有到不了的明天','有梦想就去努力,因为在这一辈子里面,现在不去勇敢的努力,也许就再也没有机会了。你要去相信,一定要相信,没有到不了的明天。不要被命运打败,让自己变得更强大。不管你现在是一个人走在异乡的街道上始终没有找到一丝归属感,还是你在跟朋友们一起吃饭开心址笑着的时候闪过一丝落寞。','upload/news_picture5.jpg','<p>有梦想就去努力,因为在这一辈子里面,现在不去勇敢的努力,也许就再也没有机会了。你要去相信,一定要相信,没有到不了的明天。不要被命运打败,让自己变得更强大。</p><p>不管你现在是一个人走在异乡的街道上始终没有找到一丝归属感,还是你在跟朋友们一起吃饭开心址笑着的时候闪过一丝落寞。</p><p>	不管你现在是在图书馆里背着怎么也看不进去的英语单词,还是你现在迷茫地看不清未来的方向不知道要往哪走。</p><p>不管你现在是在努力着去实现梦想却没能拉近与梦想的距离,还是你已经慢慢地找不到自己的梦想了。</p><p>你都要去相信,没有到不了的明天。</p><p>	有的时候你的梦想太大,别人说你的梦想根本不可能实现;有的时候你的梦想又太小,又有人说你胸无大志;有的时候你对死党说着将来要去环游世界的梦想,却换来他的不屑一顾,于是你再也不提自己的梦想;有的时候你突然说起将来要开个小店的愿望,却发现你讲述的那个人,并没有听到你在说什么。</p><p>不过又能怎么样呢,未来始终是自己的,梦想始终是自己的,没有人会来帮你实现它。</p><p>也许很多时候我们只是需要朋友的一句鼓励,一句安慰,却也得不到。但是相信我,世界上还有很多人,只是想要和你说说话。</p><p>因为我们都一样。一样的被人说成固执,一样的在追逐他们眼里根本不在意的东西。</p><p>所以,又有什么关系呢,别人始终不是你、不能懂你的心情,你又何必多去解释呢。这个世界会来阻止你,困难也会接踵而至,其实真正关键的只有自己,有没有那个倔强。</p><p>这个世界上没有不带伤的人,真正能治愈自己的,只有自己。</p>'),(126,'2023-02-08 03:44:54','离开是一种痛苦,是一种勇气,但同样也是一个考验,是一个新的开端','无穷无尽是离愁,天涯海角遍寻思。当离别在即之时,当面对着相濡以沫兄弟般的朋友时,当面对着经历了四年的磨合而形成的真挚友谊之时,我内心激动无语,说一声再见,道一声珍重都很难出口。回想自己四年大学的风风雨雨,回想我们曾经共同经历的岁月流年,我感谢大家的相扶相依,感谢朋友们的莫大支持与帮助。虽然舍不得,但离别的脚步却不因我们的挚情而停滞。','upload/news_picture6.jpg','<p>无穷无尽是离愁,天涯海角遍寻思。当离别在即之时,当面对着相濡以沫兄弟般的朋友时,当面对着经历了四年的磨合而形成的真挚友谊之时,我内心激动无语,说一声再见,道一声珍重都很难出口。回想自己四年大学的风风雨雨,回想我们曾经共同经历的岁月流年,我感谢大家的相扶相依,感谢朋友们的莫大支持与帮助。虽然舍不得,但离别的脚步却不因我们的挚情而停滞。离别的确是一种痛苦,但同样也是我们走入社会,走向新环境、新领域的一个开端,希望大家在以后新的工作岗位上能够确定自己的新起点,坚持不懈,向着更新、更高的目标前进,因为人生最美好的东西永远都在最前方!</p><p>忆往昔峥嵘岁月,看今朝潮起潮落,望未来任重而道远。作为新时代的我们,就应在失败时,能拼搏奋起,去谱写人生的辉煌。在成功时,亦能居安思危,不沉湎于一时的荣耀、鲜花和掌声中,时时刻刻怀着一颗积极寻找自己新的奶酪的心,处变不惊、成败不渝,始终踏着自己坚实的步伐,从零开始,不断向前迈进,这样才能在这风起云涌、变幻莫测的社会大潮中成为真正的弄潮儿!</p>'),(1675828441096,'2023-02-08 03:54:00','某某公告','公告的简介','upload/1675828439936.jpg','<p>公告的内容</p><p><img src=\"http://localhost:8080/springbootc71oi/upload/1675828437734.jpg\"></p>');
/*!40000 ALTER TABLE `news` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `storeup`
--

DROP TABLE IF EXISTS `storeup`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `storeup` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `refid` bigint(20) DEFAULT NULL COMMENT '商品id',
  `tablename` varchar(200) DEFAULT NULL COMMENT '表名',
  `name` varchar(200) NOT NULL COMMENT '名称',
  `picture` longtext NOT NULL COMMENT '图片',
  `type` varchar(200) DEFAULT '1' COMMENT '类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注)',
  `inteltype` varchar(200) DEFAULT NULL COMMENT '推荐类型',
  `remark` varchar(200) DEFAULT NULL COMMENT '备注',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828078051 DEFAULT CHARSET=utf8 COMMENT='收藏表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `storeup`
--

LOCK TABLES `storeup` WRITE;
/*!40000 ALTER TABLE `storeup` DISABLE KEYS */;
INSERT INTO `storeup` VALUES (1675828078050,'2023-02-08 03:47:57',1675828055119,32,'caipuxinxi','菜谱名称2','upload/caipuxinxi_caipufengmian2.jpg','21','菜品分类2',NULL);
/*!40000 ALTER TABLE `storeup` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `systemintro`
--

DROP TABLE IF EXISTS `systemintro`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `systemintro` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `title` varchar(200) NOT NULL COMMENT '标题',
  `subtitle` varchar(200) DEFAULT NULL COMMENT '副标题',
  `content` longtext NOT NULL COMMENT '内容',
  `picture1` longtext COMMENT '图片1',
  `picture2` longtext COMMENT '图片2',
  `picture3` longtext COMMENT '图片3',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='关于我们';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `systemintro`
--

LOCK TABLES `systemintro` WRITE;
/*!40000 ALTER TABLE `systemintro` DISABLE KEYS */;
INSERT INTO `systemintro` VALUES (1,'2023-02-08 03:44:54','系统简介','SYSTEM INTRODUCTION','<p>这里编辑前端系统简介</p>','upload/systemintro_picture1.jpg','upload/systemintro_picture2.jpg','upload/systemintro_picture3.jpg');
/*!40000 ALTER TABLE `systemintro` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `token`
--

DROP TABLE IF EXISTS `token`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `token` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `userid` bigint(20) NOT NULL COMMENT '用户id',
  `username` varchar(100) NOT NULL COMMENT '用户名',
  `tablename` varchar(100) DEFAULT NULL COMMENT '表名',
  `role` varchar(100) DEFAULT NULL COMMENT '角色',
  `token` varchar(200) NOT NULL COMMENT '密码',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '新增时间',
  `expiratedtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '过期时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='token表';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `token`
--

LOCK TABLES `token` WRITE;
/*!40000 ALTER TABLE `token` DISABLE KEYS */;
INSERT INTO `token` VALUES (1,12,'账号2','yonghu','用户','6x8swy17gc827wqgv2010wxv44r6m2g9','2023-02-08 03:46:43','2023-02-08 04:46:43'),(2,1675828055119,'11','yonghu','用户','s7oj9ag1jotved3h2x40cko4mv8d6eza','2023-02-08 03:47:39','2023-02-08 04:57:34'),(3,1,'admin','users','管理员','u1hyljihsdca601c5k8pk5s6d69rvhny','2023-02-08 03:50:09','2023-02-08 04:56:35');
/*!40000 ALTER TABLE `token` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `yonghu`
--

DROP TABLE IF EXISTS `yonghu`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `yonghu` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
  `addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `zhanghao` varchar(200) NOT NULL COMMENT '账号',
  `mima` varchar(200) NOT NULL COMMENT '密码',
  `xingming` varchar(200) NOT NULL COMMENT '姓名',
  `xingbie` varchar(200) DEFAULT NULL COMMENT '性别',
  `youxiang` varchar(200) DEFAULT NULL COMMENT '邮箱',
  `shoujihaoma` varchar(200) DEFAULT NULL COMMENT '手机号码',
  `touxiang` longtext COMMENT '头像',
  PRIMARY KEY (`id`),
  UNIQUE KEY `zhanghao` (`zhanghao`)
) ENGINE=InnoDB AUTO_INCREMENT=1675828055120 DEFAULT CHARSET=utf8 COMMENT='用户';
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `yonghu`
--

LOCK TABLES `yonghu` WRITE;
/*!40000 ALTER TABLE `yonghu` DISABLE KEYS */;
INSERT INTO `yonghu` VALUES (11,'2023-02-08 03:44:54','账号1','123456','姓名1','男','773890001@qq.com','13823888881','upload/yonghu_touxiang1.jpg'),(12,'2023-02-08 03:44:54','账号2','123456','姓名2','男','773890002@qq.com','13823888882','upload/yonghu_touxiang2.jpg'),(13,'2023-02-08 03:44:54','账号3','123456','姓名3','男','773890003@qq.com','13823888883','upload/yonghu_touxiang3.jpg'),(14,'2023-02-08 03:44:54','账号4','123456','姓名4','男','773890004@qq.com','13823888884','upload/yonghu_touxiang4.jpg'),(15,'2023-02-08 03:44:54','账号5','123456','姓名5','男','773890005@qq.com','13823888885','upload/yonghu_touxiang5.jpg'),(16,'2023-02-08 03:44:54','账号6','123456','姓名6','男','773890006@qq.com','13823888886','upload/yonghu_touxiang6.jpg'),(17,'2023-02-08 03:44:54','账号7','123456','姓名7','男','773890007@qq.com','13823888887','upload/yonghu_touxiang7.jpg'),(18,'2023-02-08 03:44:54','账号8','123456','姓名8','男','773890008@qq.com','13823888888','upload/yonghu_touxiang8.jpg'),(1675828055119,'2023-02-08 03:47:35','11','11','张三','女','131@163.com','13111111111','upload/1675828066009.jpeg');
/*!40000 ALTER TABLE `yonghu` ENABLE KEYS */;
UNLOCK TABLES;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

5、关键代码

 5.1 菜谱信息管理Controller模块 

package com.controller;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;
import com.entity.CaipuxinxiEntity;
import com.entity.view.CaipuxinxiView;
import com.service.CaipuxinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;
import java.io.IOException;
import com.service.StoreupService;
import com.entity.StoreupEntity;

/**
 * 菜谱信息
 * 后端接口
 * @author 
 * @email 
@RestController
@RequestMapping("/caipuxinxi")
public class CaipuxinxiController {
    @Autowired
    private CaipuxinxiService caipuxinxiService;

    @Autowired
    private StoreupService storeupService;

     /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,CaipuxinxiEntity caipuxinxi,
		HttpServletRequest request){
        EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();

		PageUtils page = caipuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caipuxinxi), params), params));

        return R.ok().put("data", page);
    }
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,CaipuxinxiEntity caipuxinxi, 
		HttpServletRequest request){
        EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();
		PageUtils page = caipuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caipuxinxi), params), params));
        return R.ok().put("data", page);
    }
	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( CaipuxinxiEntity caipuxinxi){
       	EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( caipuxinxi, "caipuxinxi")); 
        return R.ok().put("data", caipuxinxiService.selectListView(ew));
    }
	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(CaipuxinxiEntity caipuxinxi){
        EntityWrapper< CaipuxinxiEntity> ew = new EntityWrapper< CaipuxinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( caipuxinxi, "caipuxinxi")); 
		CaipuxinxiView caipuxinxiView =  caipuxinxiService.selectView(ew);
		return R.ok("查询菜谱信息成功").put("data", caipuxinxiView);
    }
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        CaipuxinxiEntity caipuxinxi = caipuxinxiService.selectById(id);
		caipuxinxi.setClicktime(new Date());
		caipuxinxiService.updateById(caipuxinxi);
        return R.ok().put("data", caipuxinxi);
    }
    /**
     * 前端详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        CaipuxinxiEntity caipuxinxi = caipuxinxiService.selectById(id);
		caipuxinxi.setClicktime(new Date());
		caipuxinxiService.updateById(caipuxinxi);
        return R.ok().put("data", caipuxinxi);
    }
  
    /**
     * 赞或踩
     */
    @RequestMapping("/thumbsup/{id}")
    public R vote(@PathVariable("id") String id,String type){
        CaipuxinxiEntity caipuxinxi = caipuxinxiService.selectById(id);
        if(type.equals("1")) {
        	caipuxinxi.setThumbsupnum(caipuxinxi.getThumbsupnum()+1);
        } else {
        	caipuxinxi.setCrazilynum(caipuxinxi.getCrazilynum()+1);
        }
        caipuxinxiService.updateById(caipuxinxi);
        return R.ok("投票成功");
    }
    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody CaipuxinxiEntity caipuxinxi, HttpServletRequest request){
    	caipuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(caipuxinxi);
        caipuxinxiService.insert(caipuxinxi);
        return R.ok();
    }
   
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody CaipuxinxiEntity caipuxinxi, HttpServletRequest request){
    	caipuxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(caipuxinxi);
        caipuxinxiService.insert(caipuxinxi);
        return R.ok();
    }
    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    public R update(@RequestBody CaipuxinxiEntity caipuxinxi, HttpServletRequest request){
        //ValidatorUtils.validateEntity(caipuxinxi);
        caipuxinxiService.updateById(caipuxinxi);//全部更新
        return R.ok();
    }
    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        caipuxinxiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    } 
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		Wrapper<CaipuxinxiEntity> wrapper = new EntityWrapper<CaipuxinxiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}
		int count = caipuxinxiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	
	/**
     * 前端智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,CaipuxinxiEntity caipuxinxi, HttpServletRequest request,String pre){
        EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicktime");
        params.put("order", "desc");
		PageUtils page = caipuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caipuxinxi), params), params));
        return R.ok().put("data", page);
    }


    /**
     * 协同算法(按收藏推荐)
     */
    @RequestMapping("/autoSort2")
    public R autoSort2(@RequestParam Map<String, Object> params,CaipuxinxiEntity caipuxinxi, HttpServletRequest request){
        String userId = request.getSession().getAttribute("userId").toString();
        String inteltypeColumn = "caipinfenlei";
        List<StoreupEntity> storeups = storeupService.selectList(new EntityWrapper<StoreupEntity>().eq("type", 1).eq("userid", userId).eq("tablename", "caipuxinxi").orderBy("addtime", false));
        List<String> inteltypes = new ArrayList<String>();
        Integer limit = params.get("limit")==null?10:Integer.parseInt(params.get("limit").toString());
        List<CaipuxinxiEntity> caipuxinxiList = new ArrayList<CaipuxinxiEntity>();
        //去重
        if(storeups!=null && storeups.size()>0) {
            for(StoreupEntity s : storeups) {
                caipuxinxiList.addAll(caipuxinxiService.selectList(new EntityWrapper<CaipuxinxiEntity>().eq(inteltypeColumn, s.getInteltype())));
            }
        }
        EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();
        params.put("sort", "id");
        params.put("order", "desc");
        PageUtils page = caipuxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caipuxinxi), params), params));
        List<CaipuxinxiEntity> pageList = (List<CaipuxinxiEntity>)page.getList();
        if(caipuxinxiList.size()<limit) {
            int toAddNum = (limit-caipuxinxiList.size())<=pageList.size()?(limit-caipuxinxiList.size()):pageList.size();
            for(CaipuxinxiEntity o1 : pageList) {
                boolean addFlag = true;
                for(CaipuxinxiEntity o2 : caipuxinxiList) {
                    if(o1.getId().intValue()==o2.getId().intValue()) {
                        addFlag = false;
                        break;
                    }
                }
                if(addFlag) {
                    caipuxinxiList.add(o1);
                    if(--toAddNum==0) break;
                }
            }
        } else if(caipuxinxiList.size()>limit) {
            caipuxinxiList = caipuxinxiList.subList(0, limit);
        }
        page.setList(caipuxinxiList);
        return R.ok().put("data", page);
    }
    /**
     * (按值统计)
     */
    @RequestMapping("/value/{xColumnName}/{yColumnName}")
    public R value(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("yColumn", yColumnName);
        EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();
        List<Map<String, Object>> result = caipuxinxiService.selectValue(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }

    /**
     * (按值统计)时间统计类型
     */
    @RequestMapping("/value/{xColumnName}/{yColumnName}/{timeStatType}")
    public R valueDay(@PathVariable("yColumnName") String yColumnName, @PathVariable("xColumnName") String xColumnName, @PathVariable("timeStatType") String timeStatType,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("xColumn", xColumnName);
        params.put("yColumn", yColumnName);
        params.put("timeStatType", timeStatType);
        EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();
        List<Map<String, Object>> result = caipuxinxiService.selectTimeStatValue(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }

    /**
     * 分组统计
     */
    @RequestMapping("/group/{columnName}")
    public R group(@PathVariable("columnName") String columnName,HttpServletRequest request) {
        Map<String, Object> params = new HashMap<String, Object>();
        params.put("column", columnName);
        EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();
        List<Map<String, Object>> result = caipuxinxiService.selectGroup(params, ew);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        for(Map<String, Object> m : result) {
            for(String k : m.keySet()) {
                if(m.get(k) instanceof Date) {
                    m.put(k, sdf.format((Date)m.get(k)));
                }
            }
        }
        return R.ok().put("data", result);
    }
    /**
     * 总数量
     */
    @RequestMapping("/count")
    public R count(@RequestParam Map<String, Object> params,CaipuxinxiEntity caipuxinxi, HttpServletRequest request){
        EntityWrapper<CaipuxinxiEntity> ew = new EntityWrapper<CaipuxinxiEntity>();
        int count = caipuxinxiService.selectCount(MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, caipuxinxi), params), params));
        return R.ok().put("data", count);
    }
}

5.2 菜谱信息管理Service模块 

package com.service;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.service.IService;
import com.utils.PageUtils;
import com.entity.CaipuxinxiEntity;
import java.util.List;
import java.util.Map;
import com.entity.vo.CaipuxinxiVO;
import org.apache.ibatis.annotations.Param;
import com.entity.view.CaipuxinxiView;

/**
 * 菜谱信息
 *
 * @author 
 * @email 
 * @date 2023-02-08 11:44:37
 */
public interface CaipuxinxiService extends IService<CaipuxinxiEntity> {
    PageUtils queryPage(Map<String, Object> params);
    List<CaipuxinxiVO> selectListVO(Wrapper<CaipuxinxiEntity> wrapper);
   	CaipuxinxiVO selectVO(@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);
   	List<CaipuxinxiView> selectListView(Wrapper<CaipuxinxiEntity> wrapper);	
   	CaipuxinxiView selectView(@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);	
   	PageUtils queryPage(Map<String, Object> params,Wrapper<CaipuxinxiEntity> wrapper);
   	
    List<Map<String, Object>> selectValue(Map<String, Object> params,Wrapper<CaipuxinxiEntity> wrapper);

    List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params,Wrapper<CaipuxinxiEntity> wrapper);

    List<Map<String, Object>> selectGroup(Map<String, Object> params,Wrapper<CaipuxinxiEntity> wrapper);
}

 5.3 菜谱信息管理ServiceImpl模块

package com.service.impl;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.List;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.impl.ServiceImpl;
import com.utils.PageUtils;
import com.utils.Query;
import com.dao.CaipuxinxiDao;
import com.entity.CaipuxinxiEntity;
import com.service.CaipuxinxiService;
import com.entity.vo.CaipuxinxiVO;
import com.entity.view.CaipuxinxiView;
@Service("caipuxinxiService")
public class CaipuxinxiServiceImpl extends ServiceImpl<CaipuxinxiDao, CaipuxinxiEntity> implements CaipuxinxiService {
	
    @Override
    public PageUtils queryPage(Map<String, Object> params) {
        Page<CaipuxinxiEntity> page = this.selectPage(
                new Query<CaipuxinxiEntity>(params).getPage(),
                new EntityWrapper<CaipuxinxiEntity>()
        );
        return new PageUtils(page);
    }
    
    @Override
	public PageUtils queryPage(Map<String, Object> params, Wrapper<CaipuxinxiEntity> wrapper) {
		  Page<CaipuxinxiView> page =new Query<CaipuxinxiView>(params).getPage();
	        page.setRecords(baseMapper.selectListView(page,wrapper));
	    	PageUtils pageUtil = new PageUtils(page);
	    	return pageUtil;
 	}
    
    @Override
	public List<CaipuxinxiVO> selectListVO(Wrapper<CaipuxinxiEntity> wrapper) {
 		return baseMapper.selectListVO(wrapper);
	}
	
	@Override
	public CaipuxinxiVO selectVO(Wrapper<CaipuxinxiEntity> wrapper) {
 		return baseMapper.selectVO(wrapper);
	}
	
	@Override
	public List<CaipuxinxiView> selectListView(Wrapper<CaipuxinxiEntity> wrapper) {
		return baseMapper.selectListView(wrapper);
	}

	@Override
	public CaipuxinxiView selectView(Wrapper<CaipuxinxiEntity> wrapper) {
		return baseMapper.selectView(wrapper);
	}

    @Override
    public List<Map<String, Object>> selectValue(Map<String, Object> params, Wrapper<CaipuxinxiEntity> wrapper) {
        return baseMapper.selectValue(params, wrapper);
    }

    @Override
    public List<Map<String, Object>> selectTimeStatValue(Map<String, Object> params, Wrapper<CaipuxinxiEntity> wrapper) {
        return baseMapper.selectTimeStatValue(params, wrapper);
    }

    @Override
    public List<Map<String, Object>> selectGroup(Map<String, Object> params, Wrapper<CaipuxinxiEntity> wrapper) {
        return baseMapper.selectGroup(params, wrapper);
    }
}

 5.4  菜谱信息管理Dao模块

package com.dao;
import com.entity.CaipuxinxiEntity;
import com.baomidou.mybatisplus.mapper.BaseMapper;
import java.util.List;
import java.util.Map;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.pagination.Pagination;
import org.apache.ibatis.annotations.Param;
import com.entity.vo.CaipuxinxiVO;
import com.entity.view.CaipuxinxiView;

/**
 * 菜谱信息 
 * @author 
 * @email 
public interface CaipuxinxiDao extends BaseMapper<CaipuxinxiEntity> {
	List<CaipuxinxiVO> selectListVO(@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);
	CaipuxinxiVO selectVO(@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);
	List<CaipuxinxiView> selectListView(@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);
	List<CaipuxinxiView> selectListView(Pagination page,@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);
	CaipuxinxiView selectView(@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);
    
List<Map<String, Object>> selectValue(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);

    List<Map<String, Object>> selectTimeStatValue(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);

    List<Map<String, Object>> selectGroup(@Param("params") Map<String, Object> params,@Param("ew") Wrapper<CaipuxinxiEntity> wrapper);
}

6、论文目录结构

7、源码获取

感谢大家的阅读,如有不懂的问题可以评论区交流或私聊!

喜欢文章可以点赞、收藏、关注、评论

获取源码请私信

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值