摘 要
数字经济发展速度很快,影视行业慢慢回暖,观众在观影消费时已经把线上电影售票当作主要方式。线下售票模式在实际运行中存在效率不高、信息更新不及时和选座体验差等问题,这使该模式难以有效满足用户日益多样化的观影需求,也很难适应影院在精细化运营管理上的实际需要。
本设计选用SSM即Spring加SpringMVC和MyBatis后端模式,并利用Vue.js前端技术各自具有的优势,对一套同时包括用户端和管理端的电影售票平台进行建立。该平台能够进行电影信息展示,可以查询影院信息,在线进行选座购票,提供智能电影推荐服务,进行订单管理,并且对影院运营数据进行统计。
系统实现过程中,本文选择MySQL进行数据的持久化存储,利用Element UI建立前端交互界面,同时采用协同过滤算法实现个性化电影推荐,并且支持在线支付、订单状态跟踪、影院场次的灵活配置等实用功能。本文在研究方法上,主要将文献调研、需求分析、系统设计和实验验证进行结合运用,以解决当前电影售票领域中存在服务体验较差、管理效率偏低和个性化推荐不足等问题。
本文最终形成一套可以稳定运行的电影售票平台,该平台为影院提供了高效的数字化运营工具,也使用户获得更加便捷并且具有个性化特点的线上购票体验,并且为电影售票行业进行数字化升级提供了一种可行的技术方案。
关键词:电影售票平台;SSM框架;Vue.js;协同过滤算法;数字化运营
目 录
[第1章 绪论](#第1章 绪论)
[1.1 研究背景](#1.1 研究背景)
[1.2 研究目标](#1.2 研究目标)
[1.3 国内外研究现状](#1.3 国内外研究现状)
[1.3.1 国外研究现状](#1.3.1 国外研究现状)
[1.3.2 国内研究现状](#1.3.2 国内研究现状)
[1.4 研究内容](#1.4 研究内容)
[1.5 论文结构](#1.5 论文结构)
[第2章 相关技术介绍](#第2章 相关技术介绍)
[2.1 MySQL数据库](#2.1 MySQL数据库)
[2.2 SSM框架](#2.2 SSM框架)
[2.3 Vue.js框架](#2.3 Vue.js框架)
[2.4 ElementUI组件库](#2.4 ElementUI组件库)
[2.5 Tomcat服务器](#2.5 Tomcat服务器)
[2.6 协同过滤算法](#2.6 协同过滤算法)
[2.7 开发环境介绍](#2.7 开发环境介绍)
[第3章 系统分析](#第3章 系统分析)
[3.1 系统需求分析](#3.1 系统需求分析)
[3.1.1 用户功能需求分析](#3.1.1 用户功能需求分析)
[3.1.2 管理员功能需求分析](#3.1.2 管理员功能需求分析)
[3.1.3 非功能需求分析](#3.1.3 非功能需求分析)
[3.1.4 可行性分析](#3.1.4 可行性分析)
[3.2 系统流程分析](#3.2 系统流程分析)
[第4章 系统设计](#第4章 系统设计)
[4.1 功能需求分析](#4.1 功能需求分析)
[4.2 数据库设计](#4.2 数据库设计)
[4.2.1 概念结构设计](#4.2.1 概念结构设计)
[4.2.2 逻辑结构设计](#4.2.2 逻辑结构设计)
[4.2.3 物理结构设计](#4.2.3 物理结构设计)
[第5章 系统实现](#第5章 系统实现)
[5.1.1 注册登录](#5.1.1 注册登录)
[5.1.2 个人中心](#5.1.2 个人中心)
[5.1.3 正在上映](#5.1.3 正在上映)
[5.1.4 电影院信息](#5.1.4 电影院信息)
[5.1.5 排片信息](#5.1.5 排片信息)
[5.1.6 公告资讯](#5.1.6 公告资讯)
[5.1.7 商品订单](#5.1.7 商品订单)
[5.2.1 用户管理](#5.2.1 用户管理)
[5.2.2 电影院信息管理](#5.2.2 电影院信息管理)
[5.2.4 电影信息管理](#5.2.4 电影信息管理)
[5.2.5 影厅信息管理](#5.2.5 影厅信息管理)
[第6章 系统测试](#第6章 系统测试)
[6.1 测试目的](#6.1 测试目的)
[6.2 测试意义](#6.2 测试意义)
[6.3 测试用例](#6.3 测试用例)
[6.4 测试结果分析](#6.4 测试结果分析)
[第7章 总结与展望](#第7章 总结与展望)
[7.1 总结](#7.1 总结)
[7.2 展望](#7.2 展望)
[致 谢](#致 谢)
研究背景
在这个文化娱乐产业不断加快发展的大背景下,电影作为较为主流的一种娱乐方式,其市场规模一直在呈现出持续扩大的趋势,同时观众们在观影消费过程中对于整体的体验也提出了更高的要求。从电影售票模式的发展过程来看,现在已经由早期主要依赖线下窗口售票以及自助机售票的形式,逐步向线上售票模式进行转变。线上售票凭借更强的便捷性、更加全面的信息以及选座更加自主等特性,已经在电影票务市场内占据了主导地位1。不过,目前的部分电影售票平台在实际应用中仍然存在一些如功能较为单一、页面响应速度偏慢以及推荐内容同质化较为严重等问题,而中小型影院如果自行进行售票系统的开发,又往往面临技术门槛较高、维护成本较大以及功能不够完善等情况,这使得系统难以同时兼顾用户体验与影院运营管理方面的需求2。
JavaEE技术模式中,SSM因为其具有轻量级、可扩展性好、耦合度低等等特点,已经发展为企业级Web应用开发中比较主流的技术方案之一。Vue.js属于一种渐进式的前端框架,该框架利用响应式数据绑定机制、组件化开发方式进行开发模式和比较良好的交互体验,在各类Web前端开发场景中得到广泛使用。把SSM模式和Vue.js进行结合,可以完成开发定制化电影售票平台的工作,这种方式可以减少开发和后期维护的费用,也能够考虑系统运行的稳定性和交互过程的流畅性3。
观众在观看电影时有着明显的个性化要求,单纯依靠热门电影来推荐的做法不能满足不同用户的需求偏好。本文把协同过滤算法应用到电影售票平台上,同时根据用户在浏览、购票和收藏这些行为产生的数据。个性化推荐可以提高用户对平台的粘性,并且加快用户的观影决策速度。在此背景下,开发一套基于SSM和VUE的电影售票平台将线上售票、智能推荐和精细化管理等功能进行整合,可以较好地契合电影行业向数字化和智能化发展的走向趋势,也拥有比较主要的实际应用价值4。
系统需求分析
3.1.1 用户功能需求分析
普通观影用户构成了该平台的主要使用者群体,这些用户通常会把注意力放在电影资料的查找、影厅信息的查询、网上挑选座位进行购票、订单的后续处理以及个人资料的维护等几个主要的使用场景上面。与此同时,用户对于个性化推荐与智能咨询这一类的增值服务也存在着一定程度的需求。本文严格依据电影售票的实际业务场景,针对系统用户端所涉及的主要功能需求进行了较为细致的分析工作,具体的内容如下所述:
(1)注册与登录:用户可以填写个人的相关具体信息,这些信息具体包括了账号、密码、姓名、联系方式等关键内容,以此来顺利地完成注册方面的流程。平台支持借助手机号验证码的这样一种方式去进行注册的操作,而对于那些已经成功注册过的用户而言,则可以使用已经设定好的账号与密码登录到系统当中去。
(2)浏览电影信息:用户可以查看平台内部当前正处于上映阶段以及那些即将上映的电影列表,在这个列表当中会把电影的名称、海报、类型、时长、简介等一些基础性的信息予以展示出来。
(3)查看电影详情:用户点击了电影列表当中的任意一部影片之后,便能够进一步地去查看该电影所对应的详细介绍内容,其中涵盖了演员阵容、剧情简介、用户所做出的评价等各个方面的相关信息。
(4)购票与选座:在电影详情页面当中,用户可以针对自己所感兴趣的影片去选择与之相对应的放映场次以及具体的座位位置,进而去完成电影票的购买工作。系统本身支持一次性去购买多张电影票,并且还能够对相邻的座位情况进行筛选与判断。
(5)浏览影院信息:用户可以查看附近区域或者是指定范围之内的影院列表,在列表当中会将影院的名称、地址、联系方式等基本的信息内容展示出来以供用户参考。
(6)筛选影院:用户能够依据影院的距离远近、设施条件的优劣等筛选的依据,针对平台内部所收录的影院进行较为精准地筛选操作,进而能够快速地找到那些比较符合自身实际需求的影院。
(7)查看影院详情:用户点击了影院列表当中的任意一家影院之后,便能够去查看该影院的详细信息情况,其中包含了影厅的具体数量、座位的布局方式、放映设备的配置等内容。
(8)选择影院购票:在影院详情页面当中,用户可以直接地去选择该影院当前所放映的影片以及与之相对应的场次信息,从而去完成电影票的购买操作流程。
(9)选座购票:用户可以自主地去挑选自己心中比较心仪的电影场次以及座位来进行购票的操作,系统支持在线的支付功能,用户能够依据自身的实际需要去选择合适的支付方式,进而去完成整个购票的流程环节。
(10)协同过滤算法推荐:系统借助协同过滤算法,依据用户在日常使用过程中所产生的电影浏览记录、购票记录等行为方面的数据,为用户去推荐那些契合其观影兴趣的电影作品。推荐所得到的结果还会依据市场的趋势走向以及热门电影的变化情况加以动态地调整与更新。
(11)查看订单:用户可以在平台内部去查看个人全部的购票订单记录,这其中既包括了那些已经完成了支付操作的订单,也包含了那些尚且处于未支付状态的订单,并且用户还能够在允许的时间范围之内针对这些订单去开展取消、修改等方面的相关操作。
(12)个人中心:用户可以在个人中心当中去查看并且编辑个人的相关信息资料,例如头像的设置、昵称的修改、密码的变更等等。与此同时,用户还能够去查看个人的观影历史记录、收藏过的电影列表等内容。
(13)查看公告和活动信息:用户可以在平台内部去查看影院方面所发布出来的最新公告信息以及各类优惠活动信息,以便能够及时地去掌握影院方面的一些最新动态情况。
(14)推荐功能:平台的首页会依据电影所积累的用户点击量数据来开展影片的推荐工作,这样做的目的是为了能够给用户提供观影方面的一些参考依据与建议。
(15)智能客服:平台接入了AI智能客服,提供全天候即7×24小时不间断的在线咨询服务,用以解答用户在购票以及观影过程当中所可能遇到的各类相关方面的问题与疑惑。

管理员功能需求分析
影院管理员构成了平台运营管理的主体部分,负责对平台后台的全流程信息维护以及各项运营管控工作加以落实,该项角色一共涉及了八项较为具体且明确的功能需求,具体的内容列举如下:
(1)登录:管理员可以运用特定的账号与密码,成功地登录到系统的后台当中,进而为后续所开展的运营管理工作提供基础性的条件。
(2)电影信息管理:管理员拥有对电影信息进行管理与维护的相应权限,具体能够进行的操作包含了添加、编辑以及删除电影的相关信息,比方说电影的名称、简介、类型、评分等等。除此之外,管理员还可以针对电影的海报、预告片这一类多媒体资源开展必要的管理以及更新工作。
(3)管理电影分类:管理员能够依据平台实际运营过程当中所产生出来的具体需要,对电影的分类条目进行创建、修改或者删除等处理,以此来实现对电影列表的规范化且有序的管理工作。
(4)影院信息管理:管理员可以对影院的基本信息进行日常的维护与管理,其中所涵盖的内容包括了影院的名称、地址、开放时间等。同时,管理员还拥有自主地去设置影院的座位布局以及制定相应价格策略的权限。
(5)影厅信息管理:管理员能够针对影厅的相关信息去进行新增、修改或者删除方面的操作,例如影厅的具体类型与座位的总数量等,并且可以做到实时地去查看各个影厅的座位预订情况。
(6)场次信息管理:管理员能够针对影厅所上映的电影场次去开展添加、编辑以及删除等相关的操作,同时还可以比较灵活地对场次所对应的放映时间与座位价格进行调整与变动。
(7)安排放映场次:管理员可以较为灵活地去安排每一部电影所对应的放映场次,其中具体会涉及到放映的时间点、影厅的选择以及票价的设定等各项信息,这样做的目的是为了能够确保不同场次的信息在平台内部可以获得同步的更新与展示。
(8)订单管理:管理员有权对平台内部所有用户所生成的购票订单进行查看,不管是那些已经完成了支付操作的订单,还是那些尚且处于未支付状态的订单。同时,管理员还可以针对这些订单去开展一些带有处理性质的操作,例如确认支付的完成、发起退款流程等等。
(9)用户管理:管理员可以对平台内部所注册的用户账号进行统一性质的管理工作,并且支持执行添加、编辑以及删除用户账号等各项常规的操作。
(10)公告与活动信息管理:管理员可以发布带有公告性质的信息,以便能够及时地把影院的最新消息或者相关通知内容传达给广大的用户群体。同时,管理员也能够发布优惠活动性质的信息,用以起到吸引用户关注的效果。该功能模块当中的富文本编辑器新加入了AI智能助手功能,可以支持进行续写、优化、翻译以及校正等一系列的操作。
(11)数据统计:管理员可以对系统的日常使用数据进行查看与统计工作,例如用户的点击量数据以及购票量数据等等。除此之外,系统本身还能够生成可视化的统计图表,从而为影院方面在进行运营决策的时候提供数据层面上的有力支持。。

功能需求分析
系统可分为管理员后台与用户前台两大模块,各自具有明确的功能结构与分工。管理员后台包括用户管理、影院管理、电影管理、场次管理、订单管理、公告管理以及系统管理等多个功能模块,能够实现对平台各种数据与业务的全面监控与管理。用户前台则涵盖个人中心、电影浏览、在线选座、购票支付、订单查询和电影推荐等功能,旨在满足用户在观影和购票方面的全方位需求。系统通过采用前后端分离的架构设计,有效地将管理功能与用户功能进行解耦,确保平台能够稳定运行,同时提供更加便捷的操作体验。
具体内容可见图4-1。

物理结构设计
(1)即将上映评论表:用于存储用户对即将上映电影的评论数据,包含主键、评论用户、评分、评论内容、回复、点赞数等字段,记录用户观影评价与互动信息,如表4-1所示。
表4-1 即将上映评论表
|-------------|-----------|------------|--------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| refid | bigint | | 关联表id | | |
| userid | bigint | | 用户id | | |
| avatarurl | longtext | 4294967295 | 头像 | | |
| nickname | varchar | 200 | 用户名 | | |
| score | double | | 评分 | | |
| content | longtext | 4294967295 | 评论内容 | | |
| reply | longtext | 4294967295 | 回复内容 | | |
| thumbsupnum | int | | 赞 | | 0 |
| crazilynum | int | | 踩 | | 0 |
| tuserids | longtext | 4294967295 | 赞用户ids | | |
| cuserids | longtext | 4294967295 | 踩用户ids | | |
(2)电影院信息评论表:存储用户对影院的评价内容,涵盖主键、关联影院、用户信息、评论、回复、点赞与置顶状态等字段,留存影院相关用户反馈,如表4-2所示。
表4-2 电影院信息评论表
|-------------|-----------|------------|--------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| refid | bigint | | 关联表id | | |
| userid | bigint | | 用户id | | |
| avatarurl | longtext | 4294967295 | 头像 | | |
| nickname | varchar | 200 | 用户名 | | |
| content | longtext | 4294967295 | 评论内容 | | |
| reply | longtext | 4294967295 | 回复内容 | | |
| thumbsupnum | int | | 赞 | | 0 |
| crazilynum | int | | 踩 | | 0 |
| istop | int | | 置顶 | | 0 |
| tuserids | longtext | 4294967295 | 赞用户ids | | |
| cuserids | longtext | 4294967295 | 踩用户ids | | |
(3)电影院信息表:存储影院基础运营数据,包含主键、影院名称、地址、联系方式、规模、影厅数、设备及详情介绍等字段,支撑影院信息展示,如表4-3所示。
表4-3 电影院信息表
|-----------------------|-----------|------------|-------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| dianyingyuanmingcheng | varchar | 32 | 电影院名称 | | |
| dizhi | varchar | 32 | 地址 | | |
| lianxifangshi | varchar | 200 | 联系方式 | | |
| dianyingyuanguimo | varchar | 16 | 电影院规模 | | |
| fangyingtingshu | varchar | 16 | 放映厅数 | | |
| fengmian | longtext | 4294967295 | 封面 | | |
| dianyingshebei | varchar | 200 | 电影设备 | | |
| xiangqingjieshao | longtext | 4294967295 | 详情介绍 | | |
| discuss_number | int | | 评论数 | | 0 |
(4)排片信息表:记录影院电影排片核心数据,含主键、排片内容、影院名称、放映时间、影片信息、场次价格等字段,用于影院场次配置与展示,如表4-4所示。
表4-4 排片信息表
|-----------------------|-----------|------------|-------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| paipianxinxi | varchar | 32 | 排片信息 | | |
| dianyingyuanmingcheng | varchar | 32 | 电影院名称 | | |
| kaishishijian | datetime | | 开始时间 | | |
| jieshushijian | datetime | | 结束时间 | | |
| fengmian | longtext | 4294967295 | 封面 | | |
| shijianduan | datetime | | 时间段 | | |
| yuyan | varchar | 32 | 语言 | | |
| dianyingmingcheng | varchar | 32 | 电影名称 | | |
| changcishijian | datetime | | 场次时间 | | |
| changcijiage | varchar | 32 | 场次价格 | | |
(5)商品订单表:存储用户电影票购票订单数据,包含订单编号、商品信息、价格、数量、订单状态、用户信息等字段,实现订单全流程管理,如表4-5所示。
表4-5 商品订单表
|---------------|-----------|------------|-------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| orderid | varchar | 200 | 订单编号 | | |
| tablename | varchar | 200 | 商品表名 | | dianyingxinxi |
| goodid | bigint | | 商品id | | |
| goodname | varchar | 200 | 商品名称 | | |
| picture | longtext | 4294967295 | 图片 | | |
| buynumber | int | | 购买数量 | | |
| price | double | | 单价 | | |
| discountprice | double | | 折扣价 | | |
| total | double | | 总价 | | |
| discounttotal | double | | 折扣总价格 | | |
| type | varchar | 200 | 支付类型 | | |
| status | varchar | 200 | 订单状态 | | |
| address | varchar | 200 | 地址 | | |
| tel | varchar | 200 | 电话 | | |
| consignee | varchar | 200 | 收货人 | | |
| remark | varchar | 200 | 备注 | | |
| logistics | longtext | 4294967295 | 物流 | | |
| role | varchar | 200 | 用户角色 | | |
| userid | bigint | | 用户id | | |
| goods | varchar | 200 | 商品信息 | | |
(6)场次表:用于维护电影放映场次基础数据,仅含主键与场次名称字段,为排片与选座提供场次分类支撑,简化场次管理流程,如表4-6所示。
表4-6 场次表
|---------|-----------|----|------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_T IMESTAMP |
| changci | varchar | 16 | 场次 | | |
(7)即将上映表:存储待上映电影的全部信息,包含影片名称、分类、海报、主创、上映时间、简介等字段,支撑用户端影片预告展示,如表4-7所示。
表4-7 即将上映表
|-------------------|-----------|------------|------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| dianyingmingcheng | varchar | 32 | 电影名称 | | |
| dianyingfenlei | varchar | 16 | 电影分类 | | |
| fengmian | longtext | 4294967295 | 封面 | | |
| yuyan | varchar | 32 | 语言 | | |
| shizhang | int | | 分钟 | | |
| shangyingshijian | date | | 上映时间 | | |
| zhuyan | varchar | 32 | 主演 | | |
| daoyan | varchar | 32 | 导演 | | |
| yugaopian | longtext | 4294967295 | 预告片 | | |
| jianjie | longtext | 4294967295 | 简介 | | |
| storeup_number | int | | 收藏数量 | | |
| thumbsup_number | int | | 赞 | | |
| crazily_number | int | | 踩 | | |
| score | double | | 平均分 | | |
| discuss_number | int | | 评论数 | | |
(8)影厅信息表:记录影院各影厅基础数据,含主键、影厅名称、荧幕类型、位置、音响、座位总数等字段,用于影厅管理与选座布局配置,如表4-8所示。
表4-8 影厅信息表
|-------------------|-----------|-----|------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| yingtingmingcheng | varchar | 32 | 影厅名称 | | |
| yingmuleixing | varchar | 32 | 荧幕类型 | | |
| weizhi | varchar | 200 | 位置 | | |
| yinxiangxitong | varchar | 200 | 音响系统 | | |
| zuoweizongshu | varchar | 200 | 座位总数 | | |
(9)正在上映评论表:存储用户对热映电影的评论数据,包含主键、关联影片、用户信息、评分、评论、回复、点赞等字段,留存影片用户评价,如表4-9所示。
表4-9 正在上映评论表
|-------------|-----------|------------|----------------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| refid | bigint | | 关联表id | | |
| userid | bigint | | 用户id | | |
| avatarurl | longtext | 4294967295 | 头像 | | |
| nickname | varchar | 200 | 用户名 | | |
| score | double | | 评分 | | |
| content | longtext | 4294967295 | 评论内容 | | |
| reply | longtext | 4294967295 | 回复内容 | | |
| thumbsupnum | int | | 赞 | | 0 |
| crazilynum | int | | 踩 | | 0 |
| istop | int | | 置顶(1:置顶,0:非置顶) | | 0 |
| tuserids | longtext | 4294967295 | 赞用户ids | | |
| cuserids | longtext | 4294967295 | 踩用户ids | | |
(10)我的收藏表:记录用户电影、影院收藏数据,含主键、关联对象、用户ID、收藏类型等字段,实现用户收藏功能与个性化推荐数据支撑,如表4-10所示。
表4-10 我的收藏表
|-----------|-----------|------------|-------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| refid | bigint | | refid | | |
| tablename | varchar | 200 | 表名 | | |
| name | varchar | 200 | 名称 | | |
| picture | longtext | 4294967295 | 图片 | | |
| type | varchar | 200 | 类型 | | |
| inteltype | varchar | 200 | 推荐类型 | | |
| remark | varchar | 200 | 备注 | | |
| userid | bigint | | 用户id | | |
(11)电影分类表:用于维护电影类型分类数据,仅含主键与分类名称字段,实现影片规范化分类,方便用户筛选与管理端归类,如表4-11所示。
表4-11 电影分类表
|----------------|-----------|----|------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| dianyingfenlei | varchar | 16 | 电影分类 | | |
(12)轮播图表:存储平台首页轮播展示数据,包含主键、名称、展示内容等字段,用于首页海报、活动轮播展示,提升平台视觉效果,如表4-12所示。
表4-12 轮播图表
|---------|-----------|------------|------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| name | varchar | 200 | 名称 | | |
| value | longtext | 4294967295 | 值 | | |
(13)公告与资讯表:存储平台公告、活动资讯数据,含主键、标题、简介、图片、内容等字段,用于向用户推送影院通知与优惠信息,如表4-13所示。
表4-13 公告与资讯表
|--------------|-----------|------------|------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| title | varchar | 32 | 标题 | | |
| introduction | longtext | 4294967295 | 简介 | | |
| picture | longtext | 4294967295 | 图片 | | |
| content | longtext | 4294967295 | 内容 | | |
(14)正在上映表:存储热映电影全量信息,包含影片、影院、场次、影厅、票价、座位等字段,支撑用户选座购票与影片展示,如表4-14所示。
表4-14 正在上映表
|-----------------------|-----------|------------|--------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| dianyingyuanmingcheng | varchar | 200 | 电影院名称 | | |
| dianyingmingcheng | varchar | 32 | 电影名称 | | |
| haibao | longtext | 4294967295 | 海报 | | |
| dianyingfenlei | varchar | 16 | 电影分类 | | |
| changci | varchar | 200 | 场次 | | |
| yingtingmingcheng | varchar | 200 | 影厅名称 | | |
| yugao | longtext | 4294967295 | 预告 | | |
| daoyan | varchar | 32 | 导演 | | |
| zhuyan | varchar | 32 | 主演 | | |
| shangyingriqi | date | | 上映日期 | | |
| guojia | varchar | 16 | 国家 | | |
| pingfen | varchar | 200 | 评分 | | |
| pianzhang | varchar | 16 | 片长 | | |
| dianyingchangjing | varchar | 32 | 电影场景 | | |
| dianyingjianjie | longtext | 4294967295 | 电影简介 | | |
| storeup_number | int | | 收藏数量 | | |
| thumbsup_number | int | | 赞 | | |
| crazily_number | int | | 踩 | | |
| clicktime | datetime | | 最近点击时间 | | |
| discuss_number | int | | 评论数 | | 0 |
| number | int | | 座位总数 | | |
| selected | longtext | 4294967295 | 已选座位 | | |
| price | double | | 价格 | | 0 |
| click_number | int | | 点击次数 | | 0 |
(15)用户表:存储平台普通用户信息,含账号、密码、姓名、头像、手机号、余额等字段,实现用户注册、登录与个人中心管理,如表4-15所示。
表4-15 用户表
|--------------------|-----------|------------|----------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| yonghuzhanghao | varchar | 200 | 用户账号 | | |
| yonghumima | varchar | 200 | 用户密码 | | |
| yonghuxingming | varchar | 16 | 用户姓名 | | |
| touxiang | longtext | 4294967295 | 头像 | | |
| xingbie | varchar | 200 | 性别 | | |
| shoujihaoma | varchar | 200 | 手机号码 | | |
| max_password_wrong | int | | 最大密码输错次数 | | 5 |
| is_locked | int | | 用户锁定状态 | | 0 |
| email | varchar | 200 | 邮箱 | | |
| money | double | | 余额 | | 0 |
(16)管理员表:存储后台运营管理员信息,包含用户名、密码、角色、头像等字段,用于管理员身份认证与后台权限管控,如表4-16所示。
表4-16 管理员表
|----------|-----------|------------|------|----|--------------------|
| 字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
| id | bigint | | 主键 | 主键 | |
| addtime | timestamp | | 创建时间 | | CURRENT_ TIMESTAMP |
| username | varchar | 200 | 用户名 | | |
| password | varchar | 200 | 密码 | | |
| role | varchar | 200 | 角色 | | |
| touxiang | longtext | 4294967295 | 头像 | | |
第5章 系统实现
5.1用户功能实现
5.1.1 注册登录
该页面是用户端登录入口,界面简洁清晰,设有账号、密码输入框,搭配登录与注册用户按钮。用户输入正确信息即可登录,注册按钮可跳转注册界面,为用户提供安全便捷的身份验证通道,如图5-1所示。

个人中心
该页面是用户个人信息管理核心界面,展示用户基础资料,集成资料编辑、观影记录、收藏管理等功能入口。用户可自主管理个人信息与操作记录,打造个性化操作中心,提升使用便捷性,如图5-3所示。

该页面为购票确认界面,展示电影清单、单价、总价等信息,设有备注框与余额支付按钮。用户确认信息后即可完成支付,流程简洁,保障订单提交顺畅,如图5-13所示。

管理员功能实现
5.2.1 用户管理
此页面是管理员用户管控界面,支持按账号搜索,提供新增、详情、修改、删除操作。管理员可统一管理平台用户账号,维护用户信息规范,如图5-14所示。

排片信息管理
该页面可录入影院、影片、放映时间、场次价格等排片数据,管理员能灵活配置放映安排,快速完成新排片的新增与更新,如图5-17所示。

此页面展示全平台排片详情,支持搜索、新增、删除操作。管理员可统一查看、管理所有排片数据,保障场次信息实时准确,如图5-18所示。

总结与展望
7.1 总结
本课题基于SSM和Vue技术栈设计并实现出了一个电影售票平台。整体架构采用了前后端分离的模式,又整合了MySQL数据库、ElementUI组件库和嘴关键的协同过滤算法,最终构建出一个系统,这个系统既包含面向于用户的购票服务功能,同时也涵盖了管理端的运营管控模块。开发的中逐次经历了需求分析、系统设计、功能实现和全面的测试环节。最终实现了用户端的注册登录、浏览电影信息、在线选座与购票、管理订单以及提供个性化电影推荐等等这些核心功能;另外在管理员一端,则是完成了对电影内容的管理、影院与影厅的配置、放映场次的安排、订单与用户信息的处理以及相关数据统计等等工作。测试发现,平台在运行核心业务流程时表现出了比较好的稳定性,有可靠准确的数据交互;并且具备一套比较完善的异常处理机制。这样就有效改善了传统线下售票方式中存在的一些问题,比如效率不高、选座体验不佳、影院管理较为粗放以及缺乏个性化推荐等。该平台在设计上体现了轻量化、易于部署和成本较低这些特点,因此能够比较好地适配中小型影院进行数字化运营的实际需求。这次开发不仅巩固了我对于SSM和Vue相关技术的实践应用能力,也走完了从需求分析到系统最终落地的完整开发流程,总体上达到了毕业设计所设定的预期目标。
7.2 展望
目前这个平台,核心功能的优化和扩展的空间还很大。未来会把个性化推荐算法升级,在原基础上,把用户画像和深度学习方法结合起来用上,这样推荐应该更准确。支付部分也要继续完善;同时为了拓展使用场景,会做个小程序或者APP。系统性能方面的问题也需要处理一下,高并发情况下的处理能力也得继续优化;还有就是多影院连锁管理的模式需要进一步完善;数据可视化分析的维度也可以再强化。在后续的整个优化过程里呢,系统本身的安全性和兼容性是需要持续去提升的要点所在;这样才能让平台更好地去契合市场的实际需求;并且也能进一步推动整个电影票务行业朝着数字化和智能化的方向发展。