基于springboot的影院管理系统的设计与实现

一、项目介绍

   21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认识,科学化的管理,使信息存储达到准确、快速、完善,并能提高工作管理效率,促进其发展。
论文主要是对影院管理系统进行了介绍,包括研究的现状,还有涉及的开发背景,然后还对系统的设计目标进行了论述,还有系统的需求,以及整个的设计方案,对系统的设计以及实现,也都论述的比较细致,最后对影院管理系统进行了一些具体测试。
本项目软件架构选择B/S模式,总体功能模块运用自顶向下的分层思想。再然后就是实现系统并进行代码编写实现功能。论文的最后章节总结一下自己完成本论文和开发本项目的心得和总结。通过影院管理系统将会使用户各个方面的工作效率带来实质性的提升。

关键词:影院;管理系统;B/S模式;软件架构

二、开发环境

开发语言:Java
框架:springboot
JDK版本:JDK1.8
服务器:tomcat7
数据库:mysql
数据库工具:Navicat11
开发软件:eclipse/myeclipse/idea
Maven包:Maven
————————————————

三、功能介绍

管理员管理后台,管理留言板信息,管理电影及影厅信息,管理用户资料,管理商品订单。用户查看系统公告,查看电影详情及留言板信息,订购影票。具体功能模块如下图,如图4-1所示。
请添加图片描述

图4-1 影院管理系统功能结构设计
用户模块:
(1)查看电影详情
用户可以在查看电影详情模块中进行电影的查询,查看电影的基本信息、放映信息、电影评论与评分。
(2)公告详情
用户可以在公告详情模块中查看当天上映电影、热播电影、预播放电影详情。
(3)订购影票
用户通过订购影票模块可以进行影票的订购与选座。
(4)个人中心
用户通过个人中心模块可以对自己的信息进行查看和修改。可以查看个人未支付订单、已支付订单、已退订单和已完成订单情况。
(5)评论电影
用户通过评论电影模块可以对自己观看过的电影进行评论和评分。

四、核心代码

部分代码:

package com.example.controller;

import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import com.example.common.Result;
import com.example.common.ResultCode;
import com.example.entity.Caiwu;
import com.example.exception.CustomException;
import com.example.service.CaiwuService;
import com.example.utils.MapWrapperUtils;
import com.example.utils.jwt.JwtUtil;
import com.example.vo.CaiwuVo;
import org.springframework.beans.BeanUtils;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

@RestController
@RequestMapping(value = "/caiwu")
public class CaiwuController {

    @Resource
    private CaiwuService caiwuService;

    @PostMapping
    public Result<Caiwu> add(@RequestBody CaiwuVo caiwu) {
        caiwuService.add(caiwu);
           return Result.success(caiwu);
    }
	
	

    @PostMapping("/deleteList")
    public Result<Caiwu> deleteList(@RequestBody CaiwuVo caiwu) {
        caiwuService.deleteList(caiwu.getList());
        return Result.success();
    }

    @DeleteMapping("/{id}")
    public Result delete(@PathVariable Long id) {
        caiwuService.delete(id);
        return Result.success();
    }

    @PutMapping
    public Result update(@RequestBody CaiwuVo caiwu) {
        caiwuService.update(caiwu);
        return Result.success();
    }

    @GetMapping("/{id}")
    public Result<Caiwu> detail(@PathVariable Integer id) {
        Caiwu caiwu = caiwuService.findById(id);
        return Result.success(caiwu);
    }

    @GetMapping
    public Result<List<Caiwu>> all() {
        return Result.success(caiwuService.list());
    }

    @PostMapping("/page")
    public Result<CaiwuVo> page(@RequestBody CaiwuVo caiwuVo) {
        return Result.success(caiwuService.findPage(caiwuVo));
    }
	    @PostMapping("/login")
    public Result login(@RequestBody Caiwu caiwu, HttpServletRequest request) {
        if (StrUtil.isBlank(caiwu.getZhanghao()) || StrUtil.isBlank(caiwu.getMima())) {
            throw new CustomException(ResultCode.PARAM_LOST_ERROR);
        }
        Caiwu login = caiwuService.login(caiwu);
//        if(!login.getStatus()){
//            return Result.error("1001","状态限制,无法登录系统");
//        }
        if(login != null) {
            HashMap hashMap = new HashMap();
            hashMap.put("user", login);
            Map<String, Object> map = MapWrapperUtils.builder(MapWrapperUtils.KEY_USER_ID,caiwu.getId());
            String token = JwtUtil.creatToken(map);
            hashMap.put("token", token);
            return Result.success(hashMap);
        }else {
            return Result.error();
        }
    }
    @PutMapping("/updatePassword")
    public Result updatePassword(@RequestBody Caiwu info, HttpServletRequest request) {
        Caiwu caiwu = caiwuService.findById(info.getId());
        String oldPassword = SecureUtil.md5(info.getMima());
        if (!oldPassword.equals(caiwu.getMima())) {
            return Result.error(ResultCode.PARAM_PASSWORD_ERROR.code, ResultCode.PARAM_PASSWORD_ERROR.msg);
        }
        info.setMima(SecureUtil.md5(info.getNewPassword()));
        Caiwu caiwu1 = new Caiwu();
        BeanUtils.copyProperties(info, caiwu1);
        caiwuService.update(caiwu1);
        return Result.success();
    }
}

五、效果图

请添加图片描述

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

六、文章目录

目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1 项目研究的背景 1
1.2开发意义 1
1.3项目研究内容与结构 1
第二章 系统开发工具 3
2.1 Java编程语言 3
2.2 B/S模式 3
2.3 MySQL数据库 4
2.4 SpringBoot框架介绍 4
2.5 Vue开发技术 4
2.6 JavaScript简介 5
第三章 系统分析 7
3.1 概述 7
3.2 功能需求 7
3.3 非功能性需求 9
3.4 系统特色 10
3.5 可行性研究 10
3.5.1财务上的适用性 10
3.5.2技术上的适用性 10
3.5.3运行的可能性 10
第四章 系统总体设计 11
4.1 系统架构设计 11
4.1.1体系结构 11
4.1.2 系统功能结构设计 11
4.2 系统数据库设计 12
4.2.1 数据库设计概述 12
4.2.2 数据库表的设计 13
第五章 系统功能实现 21
5.1登录模块的实现 21
5.2管理员管理模块 21
5.3影厅管理模块 22
5.4电影信息管理模块 23
5.5用户管理模块 24
5.6商品订单管理模块 25
第六章 系统测试 27
6.1 测试定义 27
6.2 测试目的 27
6.3 测试方案 27
6.4 系统分析 28
第七章 总结 29
参考文献 30
致谢 31

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

毕业程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值