首页 > 编程语言 >基于java+springboot的智慧博物馆预约平台

基于java+springboot的智慧博物馆预约平台

时间:2024-10-21 16:48:24浏览次数:9  
标签:COMMENT 12 java springboot 预约 upload jpg bowuguan NULL

文章目录


前言

文章底部名片,获取项目的完整演示视频,免费解答技术疑问

项目介绍

  伴随着我国社会的发展,人民生活质量日益提高。于是对智慧博物馆预约管理进行规范而严格是十分有必要的,所以许许多多的信息管理系统应运而生。此时单靠人力应对这些事务就显得有些力不从心了。所以本论文将设计一套智慧博物馆预约平台,帮助博物馆进行文创商品、公告信息、在线留言等繁琐又重复的工作,提高工作效率的同时,也减轻了管理者的压力。
本论文的主要内容包括:
第一,研究分析当下主流的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 */;


系统效果图

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

标签:COMMENT,12,java,springboot,预约,upload,jpg,bowuguan,NULL
From: https://blog.csdn.net/QQ2083558048/article/details/143112081

相关文章

  • 自学狂神说java第二点
    计算机硬件Cpu主板内存电源主机箱硬盘显卡鼠标键盘显示器等装机CpuMemory内存Motherboard主板IO设备输入输出设备input输入/output输出冯诺依曼体系结构软件计算机按照其功能分为系统软件和应用软件系统软件:Windows,linux,Mac,Android,ios应用......
  • springboot+vue宝成社区志愿者服务管理系统【开题+程序+论文】
    系统程序文件列表开题报告内容研究背景随着社会经济的快速发展和人民生活水平的不断提高,社区作为城市的基本单元,其治理水平和服务质量日益成为衡量城市文明程度的重要标志。宝成社区作为众多社区中的一员,面临着居民需求多样化、社区事务繁杂化的挑战。为了有效提升社区服务......
  • Java消息队列详解
    消息队列的作用及原理消息队列产生主要是为了解决系统间的异步解耦与确保数据最终一致性问题。通过将主流程与辅助流程分离,使得辅助任务可以并行处理,不仅提高了系统的响应速度,还增强了其可扩展性和稳定性。此外,消息队列机制保证了每条消息至少被消费一次,从而确保了业务逻辑的......
  • Java基础---异常
    1.概述Java异常处理是Java语言的一个重要特性,它可以帮助我们更好地管理程序中的错误和异常情况。本文档将详细介绍Java中的异常处理机制,包括异常的概念、分类、捕获和处理方法。2.异常概念异常(Exception)是在程序执行过程中发生的不正常情况,它会打断程序的正常流程。Java语......
  • Java中的基础知识点---Object
    Object类的常见方法有哪些?Object类是一个特殊的类,是所有类的父类,主要提供了以下11个方法:/** *native方法,用于返回当前运行时对象的Class对象,使用了final关键字修饰,故不允许子类重写。 */publicfinalnativeClass<?>getClass()/** *native方法,用于返回......
  • Java列表list
    List列表创建列表//List的ArrayList实现List<String>list1=newArrayList<>();//List的LinkedList实现List<String>list2=newLinkedList<>();常用方法importjava.util.List;importjava.util.LinkedList;classMain{publicstatic......
  • 【Javaee】网络编程-UDP基础
     前言UDP是一个高效、快速、简单的传输协议,适合于需要低延迟和实时性的应用本篇将介绍UDP相关的api,并使用UDP构建回显服务器程序。一.UDP与TCP特点UDP:无连接,不可靠,面向数据报,全双工。TCP:有连接,可靠,面向字节流,全双工。何为连接?此处所说的连接是抽象的连接,并不是实际......
  • 【java】实现字节数组转int(采用IEEE 754标准)
    /***字节数组转int*采用IEEE754标准**@parambytes*@returnfloat*/publicintbytesToInt(byte[]bytes){//获取字节数组转化成的2进制字符串StringbinaryStr=bytesToBinaryStr(bytes);//......
  • 【最新Java必过毕设选题】基于微信小程序自助购药小程序全套(程序+万字(源码+万字LW+答
    作品简介 Hi,各位同学好呀!今天向大家分享一个最新完成的高质量毕业设计项目作品基于ssm+uniapp的XXX微信小程序项目评分(最低0分,满分5分)难度系数:3分工作量:5分创新点:3分界面美化:5分使用技术小程序框架:uniapp小程序开发软件:HBuilderX小程序运行软件:微信开发者......
  • Java中集合知识上
    集合知识集合的体系结构单列集合(Collection)Collection的方法各方法细节:Collection系列集合的三种通用遍历1.迭代器遍历2.增强for遍历3.lambda表达式遍历(含lambda介绍)List系列集合:List集合的特有方法:List集合的特有方法细节:注意点(重构方法调用优先级):List系......