乐于分享
好东西不私藏

电影院购票管理系统(源码+数据库+万字文档)

电影院购票管理系统(源码+数据库+万字文档)

项目编码:S001

一、系统介绍

本项目是一个前后端分离的电影院购票系统,包含:

  • 用户端:浏览电影、选座购票、订单与个人中心相关功能。

  • 管理端:影片、分类、影厅、排片、订单、用户、系统配置等后台管理功能。

系统形态:

  • 后端服务:cinema_admin

  • 前端应用:cinema_web

  • 默认联调地址:

    • 后端:http://localhost:8080/api

    • 前端(Vite开发环境): http://localhost:5173

二、角色与权限

当前代码中的账号类型为两类:

  1. 普通用户(User)

  2. 管理员(Admin)

前端通过路由守卫区分用户端和管理端访问;后端使用 JWT 工具类和过滤器。

三、主要功能模块

1)用户端功能

  • 用户认证:注册、登录、用户名/手机号校验

  • 首页与电影:首页聚合、电影列表、电影详情、榜单

  • 购票流程:场次选择、座位选择、订单确认、支付(模拟)

  • 订单能力:订单列表、取消订单、退款申请、支付状态查询

  • 用户中心:个人信息、余额查询与充值、收藏、观影历史

2)管理端功能

  • 管理员登录(含验证码接口)

  • 仪表盘统计:今日票房、今日订单、用户统计、近 7 日收入

  • 影片管理:增删改查、状态管理、多分类关联

  • 分类管理:分类增删改查、启停、排序

  • 影厅管理:增删改查、状态管理

  • 排片管理:增删改查、批量排片、状态管理、按日期查询

  • 订单管理:订单列表、详情、取消、退款审核

  • 用户管理:分页查询、详情、启停、信息维护

  • 系统配置:按配置项读写系统参数

  • 文件上传:图片上传并映射静态访问路径

  • 通知能力:邮件参数配置后可发送测试邮件

四、技术栈

后端(cinema_admin

  • Java 1.8

  • Spring Boot 2.6.13

  • Spring MVC

  • MyBatis + XML Mapper

  • MySQL(驱动 5.1.49)

  • JWT(JJWT 0.11.5)

  • JavaMail(邮件测试通知)

  • Maven

前端(cinema_web

  • Vue 3

  • Vite

  • Element Plus

  • Vue Router 4

  • Pinia

  • Axios

  • ECharts(用于后台统计图)

五、项目结构

dianyingyuangoupiao/├─ cinema_admin/                # 后端│  ├─ src/main/java/net/jingsky/cinema_admin/│  │  ├─ controller/            # 接口层│  │  ├─ service/               # 业务层│  │  ├─ mapper/                # Mapper接口│  │  ├─ entity/ dto/ vo/       # 数据对象│  │  ├─ config/                # Web/JWT等配置│  │  └─ CinemaAdminApplication.java│  └─ src/main/resources/│     ├─ application.yml│     ├─ mapper/                # MyBatis XML│     └─ db/                    # SQL脚本├─ cinema_web/                  # 前端│  ├─ src/│  │  ├─ views/                 # 页面│  │  ├─ layouts/               # 用户/管理布局│  │  ├─ router/                # 路由与守卫│  │  ├─ stores/                # Pinia状态│  │  └─ utils/request.js       # Axios封装│  ├─ package.json│  └─ vite.config.js└─ uploads/                     # 上传目录(运行时生成/使用)

六、数据库说明

SQL 脚本目录:cinema_admin/src/main/resources/db/

主要表:

  • 用户与管理员:useradmin

  • 电影域:moviemovie_categorymovie_category_relation

  • 放映域:hallschedule

  • 订单域:ordersorder_item(另有 orderorder_detail 脚本痕迹)

  • 用户行为:user_favoriteuser_history

  • 系统配置:system_config

七、环境与运行

1)基础环境

  • JDK 1.8+

  • Maven 3.6+

  • MySQL 5.7+

  • Node.js(项目已在较新版本生态下可运行)

2)后端启动

  1. 创建并导入数据库脚本(db 目录下 SQL)。

  2. 修改 cinema_admin/src/main/resources/application.yml 中数据库配置。

  3. 启动 CinemaAdminApplication 或执行:

3)前端启动

进入前端代码目录

npm installnpm run dev

前端默认访问地址由 Vite 输出,为 http://localhost:5173

管理员账号密码:admin/admin123

测试用户账号密码:testuser/user123

八、接口与联调说明

  • 前端请求基地址:cinema_web/src/utils/request.js 中配置为 http://localhost:8080/api

  • 当前请求拦截器按用户端/管理端附带 X-User-Id 或 X-Admin-Id

  • 常见接口分组:

    • 用户认证:/user/*

    • 管理员认证:/admin/login/admin/captcha

    • 电影/分类:/movie/*/category/*

    • 影厅/排片:/hall/*/schedule/*

    • 订单:/order/*/admin/order/*

    • 用户行为:/favorite/*/history/*

    • 统计:/admin/statistics/dashboard

    • 系统配置与上传:/admin/config/*/admin/upload/image

九、系统界面截图

十、源码获取方式
进入公众号私信界面,点击“源码获取”即可获取,需要注意,店铺购买更优惠!