——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7、Node.js≥14
开发工具 后端:eclipse/idea/myeclipse/sts等均可配置运行 前端:WebStorm/VSCode/HBuilderX等均可
❗没学过node.js的不要搞前后端分离项目
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot电影院会员管理系统(java+springboot+vue+element-ui+maven+mysql)
项目介绍
本项目代码架构设计简单,注释齐全,结构清晰,适合同为java初学者参考。 项目是一套电影院会员管理系统,使用前后端分离架构开发,前端基于Vue.js+Element UI技术,后端使用springboot+mybatis实现,包含管理员、会员管理、会员卡管理、电影票、消费记录、数据统计等模块
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。 2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA; 3.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS; 4.数据库:MySql 5.7版本;
技术栈
后端:springboot+mybatis
前端:vue.js+element-ui
使用说明
数据库文件cinema.sql已整合到项目中,使用mysql导入即可生成数据库
本项目已经整合了前后端,前端文件经过webpack构建后,生成了static文件夹和index.html放入了webapp下。 * 要对前端页面进行修改,修改完成后同样将生成的文件放到本项目的webapp下。
程序设计文档可参考目录下:电影院会员管理系统说明文档.docx
运行项目
方法一: cinema项目中已经整合了vue打包的静态资源,直接启动项目,并在浏览器上输入http://localhost:8081/cinema 即可运行。 1. 方法二: cinema-web项目是cinema项目的vue单页面前端项目,可以在文件夹目录下命令行输入: npm run install
npm run dev
后,修改utils/request.js下baseURL=”/api”,开启node反向代理服务器,解决跨域问题,然后启动cinema后端项目,在浏览器上输入 http://localhost:8080 即可以前后端分离方式运行(也可以npm run build后将dist文件夹放到nginx下运行)
账户:admin 密码:123123
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 } @RequestMapping("requestDealData") public CinemaResult requestDealData () { DealData dealData = new DealData(); dealData.setConsume(recordService.getConsumeCount()*-1 ); dealData.setIntegral(recordService.getIntegralExchangeCount()*-1 ); dealData.setRecharge(recordService.getRechargeCount()); return CinemaResult.ok(dealData); } @RequestMapping("getSchart1Data") public CinemaResult getSchart1Data () { return CinemaResult.ok(recordService.getSchart1Data()); } } package com.zrkworld.cinema.controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 } } package com.zrkworld.cinema.controller;@CrossOrigin @RestController public class StatisticController {
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 @CrossOrigin @RestController public class RecordController { @Resource RecordService recordService; @RequestMapping("queryRecord") public CinemaResult queryRecord (String memberId, String pageIndex, String pageSize) { PageResult pageResult = new PageResult(); PageHelper.startPage(Integer.parseInt(pageIndex), Integer.parseInt(pageSize)); List<Record> records = recordService.selectRecordByMemberId(memberId); PageInfo<Record> pageInfo = new PageInfo<>(records); pageResult.setList(pageInfo.getList()); pageResult.setPageTotal(pageInfo.getTotal()); return CinemaResult.ok(pageResult); } } package com.zrkworld.cinema.controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 * url:"exchangeIntegral" , * method:'post' , * params:query * }); * }; */ @RequestMapping("exchangeIntegral") public CinemaResult exchangeIntegral (String memberId, String integral) { cardService.exchangeIntegral(memberId, Integer.parseInt(integral)); return CinemaResult.ok(); } @RequestMapping("getCardIdByFuzzyQuery") public CinemaResult getCardIdByFuzzyQuery (String memberId,String cardId) { return CinemaResult.ok(cardService.getCardIdByFuzzyQuery(memberId,cardId)); } @RequestMapping("getCardByCardId") public CinemaResult getCardByCardId (String cardId) { return CinemaResult.ok(cardService.getCardByCardId(cardId));
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 @CrossOrigin @RestController public class MovieController { @Resource MovieService movieService; @RequestMapping("insertMovie") public CinemaResult insertMovie (Movie movie) { return movieService.insertMovie(movie); } @RequestMapping("getMovie") public CinemaResult getMovie (String pageIndex,String pageSize) { PageResult pageResult = new PageResult(); PageHelper.startPage(Integer.parseInt(pageIndex),Integer.parseInt(pageSize)); List lists = movieService.getMovieData(); PageInfo<Card> pageInfo = new PageInfo<>(lists); pageResult.setList(pageInfo.getList()); pageResult.setPageTotal(pageInfo.getTotal()); return CinemaResult.ok(pageResult); }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 * @param pageSize * @param name * @param birthdayQuery * @return */ @RequestMapping("memberData") public CinemaResult getMemberData (String pageIndex, String pageSize, String name, String birthdayQuery) { MemberQuery query = new MemberQuery(); if (StringUtils.isNotBlank(pageIndex)){ query.setPageIndex(Integer.parseInt(pageIndex),Integer.parseInt(pageSize)); } if (StringUtils.isNotBlank(name)){ query.setName(name); } if (StringUtils.isNotBlank(birthdayQuery)){ query.setBirthdayQuery(birthdayQuery); } return memberService.getMemberData(query); } @RequestMapping("memberRegister") public CinemaResult memberRegister (Member member) { return memberService.memberRegister(member); } @RequestMapping("delMember") public CinemaResult delMember (Member member) { System.out.println(member); return memberService.delMember(member.getmemberId()); }
——————————PayStart——————————
项目链接: https://javayms.github.io?id=161222062008200wp https://javayms.pages.dev?id=161222062008200wp