项目提供:完整源码 + 数据库sql文件 + 数据库表Excel文件
关注我的B站:
程序员阿水呀
,带小白学习更多干货教程!
1、项目功能描述
本项目为双角色,用户和管理员,用户使用前台,管理员使用后台。
1.1 注册
注册功能:填写用户名、密码进行注册。(“我已阅读同意《隐私政策》和《服务条款》”没有做后续,只是单纯有这样一行文字做模拟)
1.2 登录
登录功能:填写你所注册过的账号和密码进行登录。(“我已阅读同意《隐私政策》和《服务条款》”没有做后续,只是单纯有这样一行文字做模拟)
1.3 前台界面(用户)
本系统角色为普通用户、系统管理员双角色,用户使用前台功能,管理员后台管理系统。
1.3.1 电影大厅
登录进入本系统,首先进入首页,即电影大厅。
上方为轮播图、搜索栏,中间为分类,下方是电影列表。
电影详情,可查看电影信息,进行收藏、评分、评论等操作。
评分可进行删除,删除后重新打分。
可以对影片进行收藏
重复收藏会有提示
下方可查看该影片的预告片或其他后台上传的该电影相关的视频文件。
可查看关联的参演演员
点击参演演员的姓名跳转演员详情页。
演员详情下可查看该演员关联查询的所有参演电影。
可进行评论,评论为级联评论,用于用户讨论。
1.3.2 前线资讯
前线资讯,显示所有后台添加的电影资讯文章和平台公告信息。
公告栏,鼠标悬停时显示具体内容
资讯详情,可查看资讯详情信息内容。
1.3.3 我的收藏
我收藏的影片,通过影片详情收藏过的影片,会在此显示。
搜索框可进行模糊搜索 如“银河”,则搜索出以下内容。(其他页面一样)
点击取消收藏,二次确认。
确认取消收藏后
1.3.4 电影热榜
仿豆瓣评分,根据评分和人数进行平均计算,得到排名前五十的电影信息,进行展示。
评分设置保留一位小数
double averageRate = sum / rates.size();
DecimalFormat decimalFormat = new DecimalFormat("#.#"); // 设置格式化模式,保留一位小数
double formattedAverageRate = Double.parseDouble(decimalFormat.format(averageRate)); // 格式化平均分
itemIdToAverageRate.put(itemId, formattedAverageRate);
并只要前五十
List<Map<String, Object>> collect = result.stream().limit(50).collect(Collectors.toList());
return Result.success(collect);
1.3.5 个人中心
支持基础个人信息修改和密码修改的同时,将平台热线留言反馈也隐藏在这。
个人信息
修改密码:
1.4 后台界面(管理员)
登录管理员账号密码 admin admin
进入主页
1.4.1 数据统计
数据统计,对平台内评论和收藏情况进行统计,用Echarts进行直观统计各个类型的电影收藏情况,进行多级统计
统计不同类别(categoryId
)的电影数量,遍历循环,并将结果存储在TypeCountMap
中
Map<Integer,Integer> TypeCountMap = new HashMap<>();
for (Integer id : ids) {
Integer categoryId = movieTypeMap.get(id);
if (!TypeCountMap.containsKey(categoryId)){
TypeCountMap.put(categoryId,1);
}else {
Integer count = TypeCountMap.get(categoryId);
count++;
TypeCountMap.put(categoryId,count);
}
}
1.4.2 分类管理
分类管理,管理员对电影分类信息进行增删改查
新增
编辑
查询
删除
后续不多做赘述
1.4.3 电影管理
电影管理,管理员对电影信息进行增删改查的管理。
重点:参演演员的多选。
使用选择器的多选,将所选参演演员的id存储在数据库内,用逗号隔开
再编辑时,进行转化,转化为int型,确保能够在复显时为name的形式展示出来。
1.4.4 资讯管理
管理员对电影资讯的增删改查管理
1.4.5 公告管理
管理员对平台公告信息的增删改查管理。
1.4.6 演员管理
管理员对演员信息进行增删改查的管理,提供给电影进行参演演员的选择。
1.4.8 系统管理
用户管理:可以由管理员对用户进行增删改,可以通过上方四种搜索条件进行查询,即角色、昵称、地址、邮箱查找
1.4.9 修改个人信息
管理员也可以进行个人信息的修改,以及密码的修改
2、项目技术栈
操作系统: Windows10/11
开发工具:IDEA
系统架构: 前后端分离B/S架构
后端: SpringBoot+Mybatis-Plus
前端: Vue+ElementUI+Axios
数据库: Mysql5.7/8.0
3、项目创新点
(1)精美的前台页面布局设计
(2)巧妙的数据库动态关联数据,多表数据关联查询,多级关系管理
(3)多选选择器
(4)集成Echarts,统计项目数据,本项目使用饼图。
(5)点击当前页面左上角后台管理系统左边的 LOGO 在右边的弹窗当中可以选择系统后台的主题色和界面布局
(6)提供数据库字段对应的Excel表,可用于文档方面数据库设计
项目获取看主🍃页 或关注我的B站:
项目配套教学视频将持续更新 !程序员阿水呀