赞
踩
很多朋友发现后期找不到文章,收藏关注不迷路
电影院传统的售票形式 存在很多缺陷,如电影余票查询实时性低、电影票交易过程复杂、人工售票出错率 高、电影院人力物力支出成本高、数据难以共享以及售票过程中可能出现的其他不确定因素。电影院网上订票业务;如此大幅度缩减了订票、 售票、检票、调度、票款管理等人员的工作劳累程度,提升了整个电影院销售流程 的工作效率,最大限度地避免了观影者花费大量时间进行排队买票的现象,使得前 来观影的消费者获得了更加迅速、高效、稳定的服务,使各大电影院的观影质量和购票体验得到了提升。[2]
互联网技术的飞速发展带来了日常在线用户数与日俱增的红利,但随之而来的互联网信息数据过载问题也日益显著。大量复杂的数据导致用户难以便捷地锁定与自身匹配的影片类型,信息的利用率反而呈现负相关,基于此,用户推荐算法在一个电影在线订票系统中的应用必不可少。
随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于电影在线订票系统当然也不能排除在外,随着网络技术的不断成熟,带动了电影在线订票系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。电影在线订票系统,主要的模块包括管理员;系统首页、个人中心、用户管理、电影类型管理、影院信息管理、影厅信息管理、影片信息管理、影院评分管理、影片评分管理、系统管理、订单管理,用户;首页、影院信息、影厅信息、影片信息、公告资讯、后台管理、个人中心等功能。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对影院有相应的操作权限。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对电影在线订票系统而言非常有利。
本系统采用的数据库是Mysql,使用SpringBoot框架开发,运行环境使用Tomcat服务器,IDEA是本系统的开发平台。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。
在当今高度发达的信息中,信息管理改革已成为一种更加广泛和全面的趋势。为确保中国经济的持续发展,信息时代日益更新,电影在线订票系统仍在蓬勃发展。同时,随着信息社会的快速发展,各种管理系统面临着越来越多的数据需要处理,如何用方便快捷的方式使管理者在广阔的数据海洋里面查询、存储、管理和共享有效的数据信息,对我们的学习,工作和生活具有重要的现实意义。因此,国内外学术界对此进行了深入而广泛的研究,一个新的研究领域——电影在线订票系统诞生了[1]。
随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于电影在线订票系统当然也不能排除在外,随着网络技术的不断成熟,带动了电影在线订票系统,它彻底改变了过去传统的管理方式,不仅使服务管理难度变低了,还提升了管理的灵活性。主要的模块包括管理员;系统首页、个人中心、用户管理、电影类型管理、影院信息管理、影厅信息管理、影片信息管理、影院评分管理、影片评分管理、系统管理、订单管理,用户;首页、影院信息、影厅信息、影片信息、公告资讯、后台管理、个人中心。系统中管理员主要是为了安全有效地存储和管理各类信息,还可以对系统进行管理与更新维护等操作,并且对影院有相应的操作权限。这种个性化的平台特别注重交互协调与管理的相互配合,激发了管理人员的创造性与主动性,对电影在线订票系统而言非常有利[2]。
在我国,电影院订票及管理系统历经了两次变更,是电影院售票及管理系统从无到有,影响力从零开始逐渐提升直到占领国内各大中小电影院的发展历程。1996年,第一代电影院售票及管理系统顺利研发并获名——《龙卷风》,同一时刻,市面上陆续有同种 类型的相关软件企业开发的类似系统研发成功,并上市投入使用。1998年,第二代电影院售票系统顺利研发并被定名为《火烈鸟》。这一代产品特点是引 入了流行的数据库管理系统,大体上具有了在网络上来进行管理的功能,符合电影院的功能需求。作为全国影院行业标准的计算机售票系统软件,在全国的影院企业进行普及和推行使用。[1] 1999年,国家广电总局召开全国影视行业专题会议,会议中确定了计算机售票管理系统的推广和普及的主要方针,这次会议的召开,正式迈出了中国电影行业推广使用计算机售票系统的步伐。目前已有靳新(2013)等基于MVC模式的电影网在线订票系统[2] 、刘凯(2014)等基于Android平台的电影票自助系统[3] 、邵新(2016)等 基于SSH的电影院网上订票系统等。
在国外,许多订票系统不仅在网站上发布最新的影视、影讯信息,还会在网站 上展示一些正在热映的影片主演的八卦新闻等。Bo Hang阐述了网上进行订购电影票 这种新颖的购票方式,并展示了基于.NET平台设计实现的电影院网上订票系统的优 势[4]。非但这样,许多订票网站还将IMDB的电影评分系统和按照地区、类型对影片进行划分评价的制度融合到自己的系统中,Akama(2012)等采用PHP和MySQL 技术设计实现了一个可以在线购买和预定电影票的网站系统,并且加入了可以如根据类型、年份、语言等进行筛选的功能[5] 。
1、管理员账号:abo 密码:abo
2、开发环境为Eclipse/idea,数据库为mysql 使用java语言开发。
3.配置好Tomcat并点击启动按钮即可运行
4.数据库连接src\main\resources\application.yml中修改
5.maven包版本apache-maven-3.3.9.
开发语言:Java
框架:SSM
前端框架:vue.js
JDK版本:JDK1.8+
服务器:tomcat8+
数据库工具:Navicat
开发软件:idea 支持eclipse
Springboot是当前最流向的一个框架,它的配置更加的简单,使开发变得更加的简单迅速。
Springboot的基础结构共三个文件,具体如下:
src/main/java:程序开发以及主程序入口;
src/main/resources:配置文件;
src/test/java:测试程序。
ssm的数据库配置默认支持两种格式的配置文件
1,application.properties
2,application.yaml
本课题所设计的电影在线订票系统主要分为两个模块,分别为用户管理模块、后台管理模块 ,最终要实现一个功能齐全、高效便捷、美观简洁的信息化的平台。
(1)用户管理模块: 本模块只要包括用户注册、用户登录、个人信息管理、影票信息查看、影院信息查看、影厅信息查看、座位选择、线上订票 、团购、评分评论等部分。这一功能模块面对用户,用户通过注册登录系统,可以查看不同影院的位置以及每个影院的排影安排,可以查看影厅的座位信息,可以根据个性化推荐来选择观看哪一个电影,用户在订票是还可以选择团购,在最后还有评分机制,可以给影院和影片分别打分,用户还可以在订票前根据其他用户的打分记录来决定观看哪一个影片。
(2)后台管理模块:本模块主要包括系统管理、订单管理、影院信息管理、影片信息管理、影厅信息管理、用户信息管理、用户推荐管理等部分 。 这一功能模块面对管理员,管理员需要完成影院、影厅、影片、座位的信息的实时更新,便于用户根据最近消息进行网上订票。同时,管理员还要对用户的信息与订单信息进行管理,同时要根据用户的观影历史给用户进行影片推荐,以便于用户能准确、快速的锁定要观看的电影。
(3)本次设计的电影线上订票系统是在实现基本功能的基础上,通过采用基于用户、基于影片的协同过滤算法,构建用户喜好模型,实现用户推荐功能。
package com.controller; import java.util.Arrays; import java.util.Calendar; import java.util.Date; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; 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.ResponseBody; import org.springframework.web.bind.annotation.RestController; import com.annotation.IgnoreAuth; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.entity.TokenEntity; import com.entity.UserEntity; import com.service.TokenService; import com.service.UserService; import com.utils.CommonUtil; import com.utils.MPUtil; import com.utils.PageUtils; import com.utils.R; import com.utils.ValidatorUtils; /** * 登录相关 */ @RequestMapping("users") @RestController public class UserController{ @Autowired private UserService userService; @Autowired private TokenService tokenService; /** * 登录 */ @IgnoreAuth @PostMapping(value = "/login") public R login(String username, String password, String captcha, HttpServletRequest request) { UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null || !user.getPassword().equals(password)) { return R.error("账号或密码不正确"); } String token = tokenService.generateToken(user.getId(),username, "users", user.getRole()); return R.ok().put("token", token); } /** * 注册 */ @IgnoreAuth @PostMapping(value = "/register") public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 退出 */ @GetMapping(value = "logout") public R logout(HttpServletRequest request) { request.getSession().invalidate(); return R.ok("退出成功"); } /** * 密码重置 */ @IgnoreAuth @RequestMapping(value = "/resetPass") public R resetPass(String username, HttpServletRequest request){ UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username)); if(user==null) { return R.error("账号不存在"); } user.setPassword("123456"); userService.update(user,null); return R.ok("密码已重置为:123456"); } /** * 列表 */ @RequestMapping("/page") public R page(@RequestParam Map<String, Object> params,UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params)); return R.ok().put("data", page); } /** * 列表 */ @RequestMapping("/list") public R list( UserEntity user){ EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>(); ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew)); } /** * 信息 */ @RequestMapping("/info/{id}") public R info(@PathVariable("id") String id){ UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * 获取用户的session用户信息 */ @RequestMapping("/session") public R getCurrUser(HttpServletRequest request){ Long id = (Long)request.getSession().getAttribute("userId"); UserEntity user = userService.selectById(id); return R.ok().put("data", user); } /** * 保存 */ @PostMapping("/save") public R save(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) { return R.error("用户已存在"); } userService.insert(user); return R.ok(); } /** * 修改 */ @RequestMapping("/update") public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user); UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())); if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) { return R.error("用户名已存在。"); } userService.updateById(user);//全部更新 return R.ok(); } /** * 删除 */ @RequestMapping("/delete") public R delete(@RequestBody Long[] ids){ userService.deleteBatchIds(Arrays.asList(ids)); return R.ok(); } }
目 录
目 录 III
1 绪论 1
1.1 研究背景 1
1.2 目的和意义 1
1.3 论文结构安排 2
2 相关技术 3
2.1 Springboot框架介绍 3
2.2 B/S结构介绍 3
2.3 Mysql数据库介绍 4
3 系统分析 6
3.1 系统可行性分析 6
3.1.1 技术可行性分析 6
3.1.2 经济可行性分析 6
3.1.3 运行可行性分析 6
3.2 系统性能分析 7
3.2.1 易用性指标 7
3.2.2 可扩展性指标 7
3.2.3 健壮性指标 7
3.2.4 安全性指标 8
3.3 系统流程分析 8
3.3.1 操作流程分析 8
3.3.2 登录流程分析 9
3.3.3 信息添加流程分析 10
3.3.4 信息删除流程分析 11
4 系统设计 12
4.1 系统概要设计 12
4.2 系统功能结构设计 12
4.3 数据库设计 13
4.3.1 数据库E-R图设计 13
4.3.2 数据库表结构设计 14
5 系统实现 17
5.1用户部分功能17
5.2 管理员部分功能展示
6 系统测试
6.1 系统测试的特点
6.2 系统功能测试
6.2.1 登录功能测试
6.2.2 添加类别功能测试
6.3 测试结果分析
结 论
致 谢
参考文献
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。