基于springboot的博物馆预约系统的设计与实现

💖🔥作者主页计算机毕设IT宝
精彩专栏推荐订阅:在 下方专栏👇🏻👇🏻👇🏻👇🏻

Java实战项目

一、项目介绍

在当今信息化、数字化的时代背景下,博物馆作为文化遗产的载体和人们接受教育的场所,其作用日益凸显。然而,传统的博物馆预约方式存在着很多问题,如预约不便捷、信息不透明、无法有效管理展品和博物馆资源等。因此,建立一个集成了信息展示、预约管理、用户交互等功能的博物馆预约系统变得十分必要。

该博物馆预约系统旨在为用户、管理员和博物馆提供更加高效、便捷、实用的服务。对于用户来说,该系统提供了一种方便快捷的预约方式,用户可以通过系统提前了解博物馆的开放时间、展览信息、展品详情等,并根据个人需求进行预约。此外,用户还可以在系统中留下留言或反馈,与管理人员进行沟通,提高参观体验。

对于博物馆来说,该系统不仅可以帮助其实现预约管理的数字化和信息化,提高工作效率和信息透明度,还可以实时掌握用户数据和反馈,以便更好地满足用户需求和改进服务。同时,系统还可以帮助博物馆实现展品和资源的有效管理,包括展品的分类、检索、维护等,进一步优化博物馆资源的配置和使用。

二、项目功能介绍

管理员:
个人中心:管理员可以查看和编辑自己的个人信息,例如头像、名称、密码等。
用户管理:管理员可以添加、编辑、删除用户账号,并可以设置用户的权限。
基础数据管理:管理员可以设置系统的基础数据,例如博物馆分类、展厅分类等。
公告管理:管理员可以发布、编辑、删除公告,以便及时向用户传递系统更新或活动信息。
留言板管理:管理员可以查看、回复、删除用户在留言板上的留言,用于用户与管理员之间的沟通。
展品管理:管理员可以添加、编辑、删除展品信息,包括展品的图片、描述、分类等。
博物馆管理:管理员可以添加、编辑、删除博物馆信息,包括博物馆的名称、地址、介绍等。

用户:
注册:用户可以填写个人信息并设置密码进行注册。
登录:用户可以使用注册的账号和密码登录系统。
个人中心:用户可以查看和编辑自己的个人信息,例如姓名、头像、密码等。
浏览筛选博物馆进行预约:用户可以根据博物馆的类型、地址等信息进行筛选,选择想要预约的博物馆。
查看博物馆预约信息:用户可以查看已预约博物馆的信息,包括博物馆的名称、地址、展品等。
查看公告信息:用户可以查看管理员发布的公告,了解系统的最新动态和活动信息。
查看留言版:用户可以查看其他用户和自己在留言板上的留言,并进行回复和沟通。
查看展品信息:用户可以查看展品的详细信息,包括展品的图片、描述、分类等。

三、开发环境

  • 开发语言:Java
  • 数据库:MySQL
  • 系统架构:B/S
  • 后端:Springboot
  • 前端:Vue
  • 工具:IDEA或者Eclipse、JDK1.8、Maven

四、项目展示

登录模块:
在这里插入图片描述
首页模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

管理员模块:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、代码展示

public class UserController {

	@Autowired
	private UserService userService;

	// 用户注册
	@RequestMapping("/register")
	public String insertUser( User user) {
		System.out.println(user);
		int rows = userService.insertUser(user);
		if (rows > 0) {
			System.out.println("成功添加" + rows + "条数据!");
			return "OK";
		} else {
			System.out.println("ִ添加失败");
			return "F";
		}
	}

	// 用户登录验证
	@PostMapping(value="/login",produces = "application/json;charset=utf-8")
	@ResponseBody
	public String userLogin(User user, HttpServletRequest request) throws JsonProcessingException {

		ObjectMapper mapper = new ObjectMapper();
		System.out.println(user);
		boolean flag = userService.userLogin(user);
		if (flag) {
			HttpSession session = request.getSession();
			session.setAttribute("name", user.getUserName());
			session.setMaxInactiveInterval(6000);
			System.out.println("登录成功");
			String str = mapper.writeValueAsString(user);
			System.out.println(str);
			return str;
		} else {
			System.out.println("登录失败");
			return "F";
		}
	}

	@PostMapping("/1")
	public String userLogin1(User user, HttpServletRequest request) {
		HttpSession session = request.getSession();
		session.setAttribute("name", user.getUserName());
		session.setMaxInactiveInterval(6000);
		System.out.println("跳转主页");
		return "table";
	}

	// 判断用户名
	@PostMapping("/judgeUser")
	@ResponseBody
	public String judgeUser(User user) {
		boolean flag = userService.judgeUser(user);
		if (flag) {
			return "OK";
		} else {
			return "F";
		}
	}

	// 通过用户名查找用户
	@RequestMapping(value = "/querUser", produces = "application/json;charset=utf-8")
	@ResponseBody
	public String QueryById(Model model, HttpServletRequest request) throws JsonProcessingException {
		ObjectMapper mapper = new ObjectMapper();
		HttpSession session = request.getSession();
		String username = (String) session.getAttribute("name");
		// System.out.println(username);
		User user = userService.queryUserById(username);
		model.addAttribute("user", userService.queryUserById(username));
		String str = mapper.writeValueAsString(user);
		return str;
	}

	// 修改密码
	@PostMapping("/updatePwd")
	@ResponseBody
	public String updatePwd(String userPwd, HttpServletRequest request) {

		HttpSession session = request.getSession();
		String name = (String) session.getAttribute("name");
		// System.out.println(name + userPwd);
		int i = userService.updatePwd(userPwd, name);
		if (i > 0) {
			System.out.println("密码更新成功");
			return "OK";
		} else {
			System.out.println("密码更新失败");
			return "F";
		}

	}

	// 密码比对
	@PostMapping("/pwd")
	@ResponseBody
	public String Pwd(String oldPwd, HttpServletRequest request) {

		HttpSession session = request.getSession();
		String name = (String) session.getAttribute("name");
		User user = userService.queryUserById(name);
		if (user.getUserPwd().equals(oldPwd)) {
			System.out.println("旧密码正确");
			return "OK";
		} else {
			System.out.println("旧密码不正确");
			return "F";
		}
	}

	// 更新用户信息
	@PostMapping("/updateUser")
	@ResponseBody
	public String updateUser(User user) {

		int r = userService.updateUser(user);
		if (r > 0) {
			System.out.println("用户信息更新成功");
			return "OK";
		} else {
			System.out.println("用户信息更新失败");
			return "F";
		}
	}

	// 最新公告
	@PostMapping(value = "/newNotice", produces = "application/json;charset=utf-8")
	@ResponseBody
	public String newNotice() throws JsonProcessingException {
		ObjectMapper mapper = new ObjectMapper();
		List<Notice> noticeVo = userService.newNotice();
		String str = mapper.writeValueAsString(noticeVo);
		// System.out.print(str);
		return str;
	}

	// 最新文物
	@PostMapping(value = "/newCu", produces = "application/json;charset=utf-8")
	@ResponseBody
	public String newCu() throws JsonProcessingException {
		ObjectMapper mapper = new ObjectMapper();
		List<CulturalRelic> no = userService.newCu();
		String str = mapper.writeValueAsString(no);
		// System.out.print(str);
		return str;
	}

	// 查询所有藏品
	@RequestMapping(value = "/queryCulturalRelic", produces = "application/json;charset=utf-8")
	@ResponseBody
	public String queryCulturalRelic() throws JsonProcessingException {

		ObjectMapper mapper = new ObjectMapper();
		List<CulturalRelic> culturalRelics = userService.queryCulturalRelic();
		// System.out.print(culturalRelics);
		String str = mapper.writeValueAsString(culturalRelics);
		return str;
	}

	// 查询用户收藏
	@RequestMapping(value = "/queryEnshrine",produces="application/json;charset=utf-8")
	@ResponseBody
	public String queryEnshrine(Enshrine enshrine) throws JsonProcessingException {

		System.out.print(enshrine.getName());
		ObjectMapper mapper = new ObjectMapper();
		List<Enshrine> enshrines = userService.queryEnshrine(enshrine);
		System.out.print(enshrines);
		String str = mapper.writeValueAsString(enshrines);
		return str;
	}
	
	// 查询用户收藏
	@RequestMapping(value = "/queryEnshrine1", produces = "application/json;charset=utf-8")
	@ResponseBody
	public String queryEnshrine1(Enshrine enshrine) throws JsonProcessingException {

		System.out.println(enshrine);
		if(userService.queryEnshrine1(enshrine)) {
			System.out.println(2);
			return "OK";
		}
		System.out.println(3);
		return "F";
	}

	// 取消收藏
	@RequestMapping("/deleteUserEnshrine")
	@ResponseBody
	public String deleteUserEnshrine(Enshrine enshrine) {

		int rows = userService.deleteUserEnshrine(enshrine);
		if (rows > 0) {
			System.out.println("成功删除" + rows + "条收藏!");
			return "OK";
		} else {
			System.out.println("ִ删除收藏失败");
			return "F";
		}
	}

	// 收藏
	@RequestMapping("/userEnshrine")
	@ResponseBody
	public String userEnshrine(Enshrine enshrine) {
		System.out.println("进来了1111");
		int rows = userService.userEnshrine(enshrine);
		if (rows > 0) {
			System.out.println("成功添加" + rows + "条收藏!");
			return "OK";
		} else {
			System.out.println("ִ添加收藏失败");
			return "F";
		}
	}

}

六、项目总结

博物馆预约系统是一款基于互联网技术的数字化应用软件,旨在为用户、管理员和博物馆提供更加便捷、高效和实用的服务。该系统具有多种功能,包括用户注册登录、个人中心管理、博物馆筛选预约、预约信息查看、公告信息查看、留言板互动、展品信息和博物馆信息查看等,旨在实现博物馆预约和管理的全面数字化和信息化。

博物馆预约系统可以提高博物馆的服务水平和管理效率,满足用户的个性化需求,提高参观体验。管理员可以通过该系统对用户账号、博物馆信息、展品信息、公告等进行高效管理,同时可以实时掌握用户数据和反馈,以便更好地改进服务。此外,系统的数字化和信息化可以促进社会信息化程度的提高和数字化经济的发展,为社会带来更多的机遇和发展空间。

大家点赞、收藏、关注、有问题都可留言交流👇🏻👇🏻👇🏻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值