文章目录
前言
文章底部名片,获取项目的完整演示视频,免费解答技术疑问
项目介绍
伴随着我国社会的发展,人民生活质量日益提高。于是对智慧博物馆预约管理进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套智慧博物馆预约平台,帮助博物馆进行文创商品、公告信息、在线留言等繁琐又重复的工作,提高工作效率的同时,也减轻了管理者的压力。
本论文的主要内容包括:
第一,研究分析当下主流的web技术,结合博物馆日常管理方式,进行智慧博物馆预约平台的数据库设计,设计智慧博物馆预约平台功能,并对每个模块进行说明。
第二,陈列说明该系统实现所采用的架构、系统搭建采用的服务器、系统开发环境和使用的工具,以及系统后台采用的数据库。
技术介绍
开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
功能介绍
本智慧博物馆预约平台是为了提高用户查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了用户和管理员这二者的需求。操作简单易懂,合理分析各个模块的功能,尽可能优化界面,让用户和管理员能使用环境更好的系统。
对比要实现的功能来分析出用户的需求,可以让用户在线对其进行查看文创商品等信息,这不仅满足了用户的需求,还大大的节省了时间。因此,管理员对信息进行添加、修改、删除、查看,可以提高管理员的工作效率。
这些功能可以充分满足智慧博物馆预约平台的需求。此系统功能较为全面如下图系统功能结构如图4-1所示。
图4-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: `springbootmq8gj540`
--
/*!40000 DROP DATABASE IF EXISTS `springbootmq8gj540`*/;
CREATE DATABASE /*!32312 IF NOT EXISTS*/ `springbootmq8gj540` /*!40100 DEFAULT CHARACTER SET utf8mb4 */;
USE `springbootmq8gj540`;
--
-- 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-12-07 06:40:36','关于我们','ABOUT US','当你设想门外是寒冷可怕的世界时,你还应该开门出去看看,是否真的如此。如果你有信心,你对前途就不犹豫了。如果你有勇气,你就不怕前途是否有困难或危险了每个人心中都应有两盏灯,一盏是希望的灯,一盏是勇气的灯。有了这两盏灯,我们就不怕海上的黑暗和风涛的险恶了。人的一生很像是在雾中行走。远远望去,只是迷蒙一片,辨不出方向和吉凶。可是,当你鼓起勇气,放下恐惧和怀疑,一步一步向前走去的时候,你就会发现,每走一步,你都能把下一步路看得清楚一点。“往前走,别站在远远的地方观望!”你就可以找到你的方向。','upload/aboutus_picture1.jpg','upload/aboutus_picture2.jpg','upload/aboutus_picture3.jpg');
/*!40000 ALTER TABLE `aboutus` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `address`
--
DROP TABLE IF EXISTS `address`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `address` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`userid` bigint(20) NOT NULL COMMENT '用户id',
`address` varchar(200) NOT NULL COMMENT '地址',
`name` varchar(200) NOT NULL COMMENT '收货人',
`phone` varchar(200) NOT NULL COMMENT '电话',
`isdefault` varchar(200) NOT NULL COMMENT '是否默认地址[是/否]',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT='地址';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `address`
--
LOCK TABLES `address` WRITE;
/*!40000 ALTER TABLE `address` DISABLE KEYS */;
INSERT INTO `address` VALUES (1,'2023-12-07 06:40:36',11,'宇宙银河系金星1号','金某','13823888881','是'),(2,'2023-12-07 06:40:36',12,'宇宙银河系木星1号','木某','13823888882','是'),(3,'2023-12-07 06:40:36',13,'宇宙银河系水星1号','水某','13823888883','是'),(4,'2023-12-07 06:40:36',14,'宇宙银河系火星1号','火某','13823888884','是'),(5,'2023-12-07 06:40:36',15,'宇宙银河系土星1号','土某','13823888885','是'),(6,'2023-12-07 06:40:36',16,'宇宙银河系月球1号','月某','13823888886','是'),(7,'2023-12-07 06:40:36',17,'宇宙银河系黑洞1号','黑某','13823888887','是'),(8,'2023-12-07 06:40:36',18,'宇宙银河系地球1号','地某','13823888888','是');
/*!40000 ALTER TABLE `address` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `bowuguan`
--
DROP TABLE IF EXISTS `bowuguan`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `bowuguan` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`mingcheng` varchar(200) NOT NULL COMMENT '名称',
`fengmian` longtext COMMENT '封面',
`zhanting` varchar(200) DEFAULT NULL COMMENT '展厅',
`xiangxidizhi` varchar(200) DEFAULT NULL COMMENT '详细地址',
`fuzeren` varchar(200) DEFAULT NULL COMMENT '负责人',
`lianxifangshi` varchar(200) DEFAULT NULL COMMENT '联系方式',
`kaifangshijian` varchar(200) DEFAULT NULL COMMENT '开放时间',
`changguanjianjie` longtext COMMENT '场馆简介',
`xiangqing` longtext COMMENT '详情',
`thumbsupnum` int(11) DEFAULT '0' COMMENT '赞',
`crazilynum` int(11) DEFAULT '0' COMMENT '踩',
`clicktime` datetime DEFAULT NULL COMMENT '最近点击时间',
`discussnum` int(11) DEFAULT '0' COMMENT '评论数',
`storeupnum` int(11) DEFAULT '0' COMMENT '收藏数',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8 COMMENT='博物馆';
/*!40101 SET character_set_client = @saved_cs_client */;
--
-- Dumping data for table `bowuguan`
--
LOCK TABLES `bowuguan` WRITE;
/*!40000 ALTER TABLE `bowuguan` DISABLE KEYS */;
INSERT INTO `bowuguan` VALUES (41,'2023-12-07 06:40:36','名称1','upload/bowuguan_fengmian1.jpg,upload/bowuguan_fengmian2.jpg,upload/bowuguan_fengmian3.jpg','展厅1','详细地址1','负责人1','联系方式1','开放时间1','场馆简介1','详情1',1,1,'2023-12-07 14:40:36',0,1),(42,'2023-12-07 06:40:36','名称2','upload/bowuguan_fengmian2.jpg,upload/bowuguan_fengmian3.jpg,upload/bowuguan_fengmian4.jpg','展厅2','详细地址2','负责人2','联系方式2','开放时间2','场馆简介2','详情2',2,2,'2023-12-07 14:40:36',0,2),(43,'2023-12-07 06:40:36','名称3','upload/bowuguan_fengmian3.jpg,upload/bowuguan_fengmian4.jpg,upload/bowuguan_fengmian5.jpg','展厅3','详细地址3','负责人3','联系方式3','开放时间3','场馆简介3','详情3',3,3,'2023-12-07 14:40:36',0,3),(44,'2023-12-07 06:40:36','名称4','upload/bowuguan_fengmian4.jpg,upload/bowuguan_fengmian5.jpg,upload/bowuguan_fengmian6.jpg','展厅4','详细地址4','负责人4','联系方式4','开放时间4','场馆简介4','详情4',4,4,'2023-12-07 14:40:36',0,4),(45,'2023-12-07 06:40:36','名称5','upload/bowuguan_fengmian5.jpg,upload/bowuguan_fengmian6.jpg,upload/bowuguan_fengmian7.jpg','展厅5','详细地址5','负责人5','联系方式5','开放时间5','场馆简介5','详情5',5,5,'2023-12-07 14:40:36',0,5),(46,'2023-12-07 06:40:36','名称6','upload/bowuguan_fengmian6.jpg,upload/bowuguan_fengmian7.jpg,upload/bowuguan_fengmian8.jpg','展厅6','详细地址6','负责人6','联系方式6','开放时间6','场馆简介6','详情6',6,6,'2023-12-07 14:40:36',0,6),(47,'2023-12-07 06:40:36','名称7','upload/bowuguan_fengmian7.jpg,upload/bowuguan_fengmian8.jpg,upload/bowuguan_fengmian9.jpg','展厅7','详细地址7','负责人7','联系方式7','开放时间7','场馆简介7','详情7',7,7,'2023-12-07 14:40:36',0,7),(48,'2023-12-07 06:40:36','名称8','upload/bowuguan_fengmian8.jpg,upload/bowuguan_fengmian9.jpg,upload/bowuguan_fengmian10.jpg','展厅8','详细地址8','负责人8','联系方式8','开放时间8','场馆简介8','详情8',8,8,'2023-12-07 14:40:36',0,8);
/*!40000 ALTER TABLE `bowuguan` ENABLE KEYS */;
UNLOCK TABLES;
--
-- Table structure for table `cart`
--
DROP TABLE IF EXISTS `cart`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `cart` (
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
`addtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`tablename` varchar(200) DEFAULT 'wenchuangshangpin' COMMENT '商品表名',
`userid` bigint(20) NOT NULL COMMENT '用户id',
`goodid` bigint(20) NOT NULL COMMENT '商品id',
`goodname` varchar(200) DEFAULT NULL COMMENT '商品名称',
`picture` longtext COMMENT '图片',
`buynumber` int(11) NOT NULL COMMENT '购买数量',
`price` double DEFAULT NULL COMMENT '单价',
`goodtype` varchar(200) DEFAULT NULL COMMENT '商品类型',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='购物车表';
/*!40101 SET character_set_client = @saved_cs_client */;
系统效果图