├── .DS_Store
├── .gitattributes
├── README.md
├── panda-admin
├── pom.xml
└── src
│ ├── main
│ ├── java
│ │ └── com
│ │ │ └── panda
│ │ │ ├── PandaAdminApplication.java
│ │ │ └── web
│ │ │ └── controller
│ │ │ ├── BaseController.java
│ │ │ └── system
│ │ │ ├── SysBillController.java
│ │ │ ├── SysCinemaController.java
│ │ │ ├── SysHallController.java
│ │ │ ├── SysMovieCategoryController.java
│ │ │ ├── SysMovieController.java
│ │ │ ├── SysResourceController.java
│ │ │ ├── SysRoleController.java
│ │ │ ├── SysSessionController.java
│ │ │ └── SysUserController.java
│ └── resources
│ │ ├── application-druid.yml
│ │ ├── application.yml
│ │ ├── logback-spring.xml
│ │ └── static
│ │ └── images
│ │ ├── actor
│ │ └── 2020
│ │ │ └── 12
│ │ │ └── 15
│ │ │ ├── 0bea348e519b4e19a9f4745275de1550.jpg
│ │ │ ├── 15d4d709de5445e3a3a11848b36b270f.jpg
│ │ │ ├── 236137fdcec24986bc814b9771ca1610.jpg
│ │ │ ├── 24a9618b56ff4df7a74a067d4c512bda.jpg
│ │ │ ├── 2cd2bfc44d144b60acbc9d5e4dee8338.jpg
│ │ │ ├── 3288ccae34964023983ec6ad880a71bc.jpg
│ │ │ ├── 3397f270491049e386178c7464a06876.jpg
│ │ │ ├── 38e18649714344e99f7b34bbb3de82e3.jpg
│ │ │ ├── 41d2adfd444e4ff1a25452657f017e6b.jpg
│ │ │ ├── 41e4a4fb888742d79b04c14b3864674b.jpg
│ │ │ ├── 480e75c3a16c4acab09453cf387a66cb.jpg
│ │ │ ├── 4b13b299e81a435aa12b81e4892221da.jpg
│ │ │ ├── 54668eee2db144d9934b3c35a088cff3.jpg
│ │ │ ├── 55136c5750754172b38d7eb74ff236bd.jpg
│ │ │ ├── 577678514b424481a23893b69fad082e.jpg
│ │ │ ├── 6b6957b25e2a437a80009906e0645896.jpg
│ │ │ ├── 77d24e6c1e1d4ff88494298cbe97bf79.jpg
│ │ │ ├── 7ad9949c113143d58079ad0e582544f4.jpg
│ │ │ ├── 8e527c37e1b04fe5a589b5c06314c9ea.jpg
│ │ │ ├── 9ddfdedcb7e24a5391282109dfd49416.jpg
│ │ │ ├── a6e207a71f2d4f93b90d909cfbcc5c54.jpg
│ │ │ ├── ab3cddcf04f74b84bf3c527fbfb53710.jpg
│ │ │ ├── b12b7d473a0b4795a5f46252ea41635f.jpg
│ │ │ ├── c39fd63a52cf4949aa9ad0f3ff47f8aa.jpg
│ │ │ ├── c97cfde7f9024504bc8b27b91eb1dd90.jpg
│ │ │ ├── e6ac22bf74f344bd8d27e266bb21737d.jpg
│ │ │ ├── f1cd4a9370b04c5ca38340a90c4db079.jpg
│ │ │ ├── fa0718013075446cab59a00f29b8bdfb.jpg
│ │ │ └── fd0e1006adb14f39818608ef8ecfb988.jpg
│ │ ├── cinema
│ │ └── 2020
│ │ │ └── 12
│ │ │ └── 15
│ │ │ ├── 01afb74db476472e913285607d2f0e11.jpg
│ │ │ ├── 04e185afd6a8457a9f960240af8cbebe.jpg
│ │ │ ├── 123.jpg
│ │ │ ├── 1f3f8b869c174c35ba314c5169dc2cf8.jpg
│ │ │ ├── 1f5bf7570a6f4a2db9155b39c4346f96.jpg
│ │ │ ├── 4bfaf8909ea845139b176ae0c60d152b.jpg
│ │ │ ├── 4dad1006d9b24ee8b72115b57949fcf2.jpg
│ │ │ ├── 4f18270b91ea47e691d4f2e71321ec89.jpg
│ │ │ ├── 5d8a4ae389b44cf3af73587259a47c02.jpg
│ │ │ ├── 5e85858b73aa40c2b65be423d09ca71e.jpg
│ │ │ ├── 65c44173e32c469dbac7d075b7c49dda.jpg
│ │ │ ├── 6e24bb8ca77a4ba29c03fc4b461153e1.jpg
│ │ │ ├── 730319251df54095b3d54a908d78534a.jpg
│ │ │ ├── 7637f53964374e1294732dd37509648a.jpg
│ │ │ ├── a8a9ce5f97fc4e8f94af491981e0098f.jpg
│ │ │ ├── c02cb0c58a5e4c469bdb2dea83ef16eb.jpg
│ │ │ ├── d81a78634dd94d2d891664a5a1fa8381.jpg
│ │ │ ├── de03f508ee8f4c0181254bcf9cc5a2ab.jpg
│ │ │ ├── e55fa50224ce42caa0e1b1871663fb79.jpg
│ │ │ ├── f0e69a1d126c42be951337251884a8a6.jpg
│ │ │ └── f2a709ff33774840930a85fca3cfe331.jpg
│ │ ├── movie
│ │ └── 2020
│ │ │ └── 12
│ │ │ └── 15
│ │ │ ├── 00733b7ceb284b26ac43fa93f20fd991.jpg
│ │ │ ├── 0b5191875a844e27bd52caf7048b354d.jpg
│ │ │ ├── 16fabc3258a843f28beccab37041fa80.jpg
│ │ │ ├── 190e45b2f62e414aae5f25c54df23c6d.jpg
│ │ │ ├── 208998f6cd4e410f85db05631faca4c4.jpg
│ │ │ ├── 2886b23c40ba4c57829c8938b10aeedb.jpg
│ │ │ ├── 2ba31ac24b334fef80a4555f7cef5298.jpg
│ │ │ ├── 2f69dce23efe4db99e189ca4886bed48.jpg
│ │ │ ├── 3c856a4e413b4dd89cfd41a0d71faea9.jpg
│ │ │ ├── 4425e22bc1264164a2fbdd01d56cd939.jpg
│ │ │ ├── 5711f4fa70ec4d53b714af51b2dc1819.jpg
│ │ │ ├── 5c6e503dc6154a9ab120256796acba34.jpg
│ │ │ ├── 69aec299204e46bcb9174d80e30961fd.jpg
│ │ │ ├── 75caecc71ba345a690e1e2c661ea7f3a.jpg
│ │ │ ├── 7d886589922f45fbb4b9bfdc20a62a91.jpg
│ │ │ ├── 8341c3cdce0840c7b14dc88ce4dc5e0a.jpg
│ │ │ ├── 94baa78550e34794823db457c27870a6.jpg
│ │ │ ├── 9fc80b23da4847cc8a98c65abb14148f.jpg
│ │ │ ├── a0dc7fecccf2483391ee08070cd66832.jpg
│ │ │ ├── ad8e89daada24ab9b76b972894fa4418.jpg
│ │ │ ├── b410a941952d4612b07f18b0622bc73e.jpg
│ │ │ ├── cd079baa53ab4caa8bf7e984ff59b11c.jpg
│ │ │ ├── d40ac8629a9b47629f927454a0c345e9.jpg
│ │ │ ├── da999ff2914447e38cc854b1294d6c2a.jpg
│ │ │ └── e29341a6bf4640f7a6fb69442cade734.jpg
│ │ └── user
│ │ └── 2020
│ │ └── 12
│ │ └── 15
│ │ ├── 0b4f389d47724e3486247b64aaf4eedb.jpg
│ │ ├── 1a36838e0d0b4e9e927c0ee21dc48b15.jpg
│ │ ├── 2832ad8931bf4bcdb7c2dc56be794e85.jpg
│ │ ├── 2b2756c9a196478ba7f132d4210c3c86.jpg
│ │ ├── 4c988c9f1f454064b5a26e2812ff01a3.jpg
│ │ ├── 4f1f61dbc5914122ae0d820ea8734a46.jpg
│ │ ├── 5765ed23e48a4626b4c8dc2c5d8ff91a.jpg
│ │ ├── 59d6862d547840e6bc86336030b72430.jpg
│ │ ├── 609b06dfa09540d89971901712d49300.jpg
│ │ ├── 7b39d58bfaa64c3f9d4425131ede7cc2.jpg
│ │ ├── 82760d557d8c4620b453a7d7c2cd6340.jpg
│ │ ├── 831e066fe440467591adfc040699673f.jpg
│ │ ├── 96a9cc5884f14a4db2e48ca0d434d73b.jpg
│ │ ├── ba755080ab35404abd8284b6842ca77c.jpg
│ │ ├── daec8941dad549bc95cf1b26fd796ff1.jpg
│ │ └── eaa033dcf58c473d8c0d65d92f14872d.jpg
│ └── test
│ └── java
│ └── com
│ └── panda
│ └── PandaAdminApplicationTests.java
├── panda-common
├── pom.xml
└── src
│ └── main
│ └── java
│ └── com
│ └── panda
│ └── common
│ ├── constant
│ ├── HttpStatus.java
│ └── MovieRankingList.java
│ ├── controller
│ └── FileUploadController.java
│ ├── exception
│ ├── DataNotFoundException.java
│ ├── FileNameLengthLimitExceededException.java
│ ├── FileSizeLimitExceededException.java
│ └── InvalidExtensionException.java
│ ├── file
│ ├── FileUploadUtils.java
│ └── MimeTypeUtils.java
│ ├── page
│ ├── Page.java
│ └── PageBuilder.java
│ ├── response
│ └── ResponseResult.java
│ └── utils
│ ├── ApplicationContextUtils.java
│ ├── JwtUtil.java
│ ├── SaltUtils.java
│ ├── ServletUtil.java
│ ├── SessionSeatsUtil.java
│ └── StringUtil.java
├── panda-framework
├── pom.xml
└── src
│ └── main
│ └── java
│ └── com
│ └── panda
│ └── framework
│ ├── config
│ ├── ApplicationConfiguration.java
│ ├── CrosConfig.java
│ ├── QuartzConfig.java
│ └── ShiroConfig.java
│ ├── exception
│ └── GlobalExceptionHandler.java
│ ├── shiro
│ ├── JwtFilter.java
│ ├── JwtToken.java
│ └── realms
│ │ └── CustomerRealm.java
│ └── util
│ └── CancelTimeoutBillUtil.java
├── panda-system
├── pom.xml
└── src
│ └── main
│ ├── java
│ └── com
│ │ └── panda
│ │ └── system
│ │ ├── domin
│ │ ├── LoginUser.java
│ │ ├── SysBill.java
│ │ ├── SysCinema.java
│ │ ├── SysHall.java
│ │ ├── SysMovie.java
│ │ ├── SysMovieCategory.java
│ │ ├── SysMovieToCategory.java
│ │ ├── SysResource.java
│ │ ├── SysRole.java
│ │ ├── SysSession.java
│ │ ├── SysUser.java
│ │ └── vo
│ │ │ ├── SysBillVo.java
│ │ │ ├── SysMovieVo.java
│ │ │ ├── SysSessionVo.java
│ │ │ └── SysUserVo.java
│ │ ├── mapper
│ │ ├── SysBillMapper.java
│ │ ├── SysCinemaMapper.java
│ │ ├── SysHallMapper.java
│ │ ├── SysMovieCategoryMapper.java
│ │ ├── SysMovieMapper.java
│ │ ├── SysResourceMapper.java
│ │ ├── SysRoleMapper.java
│ │ ├── SysSessionMapper.java
│ │ └── SysUserMapper.java
│ │ └── service
│ │ ├── SysBillService.java
│ │ ├── SysCinemaService.java
│ │ ├── SysHallService.java
│ │ ├── SysMovieCategoryService.java
│ │ ├── SysMovieService.java
│ │ ├── SysResourceService.java
│ │ ├── SysRoleService.java
│ │ ├── SysSessionService.java
│ │ ├── SysUserService.java
│ │ └── impl
│ │ ├── SysBillServiceImpl.java
│ │ ├── SysCinemaServiceImpl.java
│ │ ├── SysHallServiceImpl.java
│ │ ├── SysMovieCategoryServiceImpl.java
│ │ ├── SysMovieServiceImpl.java
│ │ ├── SysResourceServiceImpl.java
│ │ ├── SysRoleServiceImpl.java
│ │ ├── SysSessionServiceImpl.java
│ │ └── SysUserServiceImpl.java
│ └── resources
│ └── mapper
│ ├── SysBillMapper.xml
│ ├── SysCinemaMapper.xml
│ ├── SysHallMapper.xml
│ ├── SysMovieCategoryMapper.xml
│ ├── SysMovieMapper.xml
│ ├── SysResourceMapper.xml
│ ├── SysRoleMapper.xml
│ ├── SysSessionMapper.xml
│ └── SysUserMapper.xml
├── panda-ui
├── .browserslistrc
├── .editorconfig
├── .gitignore
├── babel.config.js
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── App.vue
│ ├── assets
│ │ ├── 404images
│ │ │ ├── 404.svg
│ │ │ ├── astronaut.svg
│ │ │ ├── bg_purple.png
│ │ │ ├── logo.svg
│ │ │ ├── moon.svg
│ │ │ └── rocket.svg
│ │ ├── css
│ │ │ ├── fonts
│ │ │ │ ├── iconfont.css
│ │ │ │ ├── iconfont.eot
│ │ │ │ ├── iconfont.svg
│ │ │ │ ├── iconfont.ttf
│ │ │ │ └── iconfont.woff
│ │ │ └── global.css
│ │ ├── js
│ │ │ └── permission.js
│ │ ├── login-background.jpg
│ │ ├── logo.png
│ │ └── welcome.jpg
│ ├── components
│ │ └── global_variable.vue
│ ├── element-variables.scss
│ ├── main.js
│ ├── plugins
│ │ ├── axios.js
│ │ └── element.js
│ ├── router
│ │ └── index.js
│ ├── store
│ │ └── index.js
│ └── views
│ │ ├── Error404.vue
│ │ ├── Home.vue
│ │ ├── Login.vue
│ │ ├── Welcome.vue
│ │ ├── bill
│ │ └── BillInfo.vue
│ │ ├── cinema
│ │ └── CinemaInfo.vue
│ │ ├── hall
│ │ ├── HallInfo.vue
│ │ └── SessionInfo.vue
│ │ ├── movie
│ │ ├── MovieCategory.vue
│ │ └── MovieInfo.vue
│ │ ├── role
│ │ ├── ResourceInfo.vue
│ │ └── RoleInfo.vue
│ │ └── user
│ │ └── UserInfo.vue
└── vue.config.js
├── panda-user
├── .browserslistrc
├── .gitignore
├── babel.config.js
├── package-lock.json
├── package.json
├── public
│ ├── favicon.ico
│ └── index.html
├── src
│ ├── App.vue
│ ├── assets
│ │ ├── 404images
│ │ │ ├── 404.svg
│ │ │ ├── astronaut.svg
│ │ │ ├── bg_purple.png
│ │ │ ├── logo.svg
│ │ │ ├── moon.svg
│ │ │ └── rocket.svg
│ │ ├── bill-invalid.png
│ │ ├── carousel1.jpg
│ │ ├── carousel2.jpg
│ │ ├── carousel3.jpg
│ │ ├── carousel4.jpg
│ │ ├── css
│ │ │ ├── fonts
│ │ │ │ ├── iconfont.css
│ │ │ │ ├── iconfont.eot
│ │ │ │ ├── iconfont.svg
│ │ │ │ ├── iconfont.ttf
│ │ │ │ └── iconfont.woff
│ │ │ └── global.css
│ │ ├── finish.png
│ │ ├── homeLogo.jpg
│ │ ├── login-background.jpg
│ │ ├── logo.jpg
│ │ ├── money.png
│ │ ├── movie-info-background.jpg
│ │ ├── register-footer.jpg
│ │ ├── register.png
│ │ ├── sofa-empty.png
│ │ ├── sofa-forbidden.png
│ │ ├── sofa-pick.png
│ │ └── sofa-unpick.png
│ ├── components
│ │ ├── global_variable.vue
│ │ └── movie
│ │ │ └── movie-item.vue
│ ├── element-variables.scss
│ ├── main.js
│ ├── plugins
│ │ ├── axios.js
│ │ └── element.js
│ ├── router
│ │ └── index.js
│ ├── store
│ │ └── index.js
│ └── views
│ │ ├── .editorconfig
│ │ ├── Error404.vue
│ │ ├── Login.vue
│ │ ├── Register.vue
│ │ ├── Welcome.vue
│ │ ├── cinema
│ │ ├── AboutUs.vue
│ │ └── ChooseSession.vue
│ │ ├── home
│ │ └── Home.vue
│ │ ├── movie
│ │ ├── Movie.vue
│ │ ├── MovieClassics.vue
│ │ ├── MovieInfo.vue
│ │ ├── MovieOngoing.vue
│ │ └── MovieUpcoming.vue
│ │ ├── pay
│ │ ├── BillDetail.vue
│ │ └── ChooseSeat.vue
│ │ ├── rankinglist
│ │ ├── DomesticBoxOfficeList.vue
│ │ ├── ForeignBoxOfficeList.vue
│ │ ├── RankingList.vue
│ │ └── TotalBoxOfficeList.vue
│ │ ├── search
│ │ ├── Search.vue
│ │ └── SearchMovie.vue
│ │ └── user
│ │ ├── BillInfo.vue
│ │ ├── UserInfo.vue
│ │ └── UserMenu.vue
└── vue.config.js
└── pom.xml
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/.DS_Store
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.js linguist-language=java
2 | *.css linguist-language=java
3 | *.html linguist-language=java
4 | *.vue linguist-language=java
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 全目录
2 |
3 | [更多系统、论文,供君选择 ~~>](https://www.yuque.com/wisebit/blog)
4 | # 189.CinemaMovieTicketSalesManagementSystem
5 |
6 |
群: 983063232(大佬群 2TB学习资料,讲解)(入群获取sql文件)
7 |
8 | 189.影院电影售票管理系统
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 | # 简介
19 |
20 |
21 | > 本代码来源于网络,仅供学习参考使用,请入群(983063232)后联系群主索要sql文件!
22 | >
23 | > 提供1.远程部署/2.修改代码/3.设计文档指导/4.框架代码讲解等服务
24 | >
25 | >
26 | > http://localhost:8888/login
27 | >
28 | > admin 123456
29 | >
30 | > http://localhost:8081/login
31 | >
32 | > 11111111 1111111
33 | >
34 |
35 |
36 | # 环境
37 |
38 | - IntelliJ IDEA 2009.3
39 |
40 | - Mysql 5.7.26
41 |
42 | - Tomcat 7.0.73
43 |
44 | - JDK 1.8
45 |
46 |
47 |
48 |
49 | ## 缩略图
50 |
51 | 
52 | 
53 | 
54 | 
55 | 
56 | 
57 | 
58 | 
59 | 
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/panda-admin/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | panda
7 | com.panda
8 | 0.0.1-SNAPSHOT
9 |
10 |
11 | panda-admin
12 | panda-admin
13 | 后台服务模块,运行后台项目
14 |
15 |
16 |
17 |
18 | org.springframework.boot
19 | spring-boot-devtools
20 | true
21 |
22 |
23 |
24 |
25 | mysql
26 | mysql-connector-java
27 |
28 |
29 |
30 |
31 | com.panda
32 | panda-framework
33 |
34 |
35 | com.panda
36 | panda-common
37 | 0.0.1-SNAPSHOT
38 | compile
39 |
40 |
41 | com.panda
42 | panda-system
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 | org.springframework.boot
51 | spring-boot-maven-plugin
52 |
53 | true
54 |
55 |
56 |
57 |
58 | repackage
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/PandaAdminApplication.java:
--------------------------------------------------------------------------------
1 | package com.panda;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class PandaAdminApplication {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(PandaAdminApplication.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/BaseController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller;
2 |
3 | import com.github.pagehelper.PageHelper;
4 | import com.github.pagehelper.PageInfo;
5 | import com.panda.common.page.Page;
6 | import com.panda.common.page.PageBuilder;
7 | import com.panda.common.response.ResponseResult;
8 |
9 | import java.util.List;
10 |
11 | import static com.panda.common.page.PageBuilder.*;
12 |
13 | /**
14 | * 抽取重复功能为基类
15 | */
16 | public class BaseController {
17 |
18 | /**
19 | * 开启分页
20 | */
21 | public void startPage() {
22 | Page page = PageBuilder.buildPage();
23 | Integer pageNum = page.getPageNum();
24 | Integer pageSize = page.getPageSize();
25 | if (pageNum != null && pageSize != null) {
26 | PageHelper.startPage(pageNum, pageSize, page.getOrderByColumn());
27 | }
28 | }
29 |
30 | /**
31 | * 根据修改行数返回响应消息
32 | * @param rows
33 | * @return
34 | */
35 | public ResponseResult getResult(int rows) {
36 | return rows == 0 ? ResponseResult.error() : ResponseResult.success();
37 | }
38 |
39 | /**
40 | * 分页响应消息
41 | * @param data
42 | * @return
43 | */
44 | public ResponseResult getResult(List> data) {
45 | PageInfo pageInfo = new PageInfo(data);
46 | ResponseResult responseResult = ResponseResult.success(data);
47 | responseResult.put(PAGE_NUM, pageInfo.getPageNum());
48 | responseResult.put(PAGE_SIZE, pageInfo.getPageSize());
49 | responseResult.put(TOTAL, pageInfo.getTotal());
50 | return responseResult;
51 | }
52 |
53 | /**
54 | * 对象类型响应消息
55 | * @param data
56 | * @return
57 | */
58 | public ResponseResult getResult(Object data) {
59 | return ResponseResult.success(data);
60 | }
61 |
62 | }
63 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/system/SysCinemaController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller.system;
2 |
3 | import com.panda.common.response.ResponseResult;
4 | import com.panda.system.domin.SysCinema;
5 | import com.panda.system.domin.SysSession;
6 | import com.panda.system.service.impl.SysCinemaServiceImpl;
7 | import com.panda.system.service.impl.SysSessionServiceImpl;
8 | import com.panda.web.controller.BaseController;
9 | import org.springframework.beans.factory.annotation.Autowired;
10 | import org.springframework.validation.annotation.Validated;
11 | import org.springframework.web.bind.annotation.*;
12 |
13 | import java.util.HashMap;
14 | import java.util.List;
15 |
16 |
17 | @RestController
18 | public class SysCinemaController extends BaseController {
19 |
20 | @Autowired
21 | private SysCinemaServiceImpl sysCinemaService;
22 |
23 | @Autowired
24 | private SysSessionServiceImpl sysSessionService;
25 |
26 | @GetMapping("/sysCinema")
27 | public ResponseResult findCinema() {
28 | return getResult(sysCinemaService.findCinema());
29 | }
30 |
31 | @PutMapping("/sysCinema/update")
32 | public ResponseResult updateCinema(@Validated @RequestBody SysCinema sysCinema) {
33 | return getResult(sysCinemaService.updateCinema(sysCinema));
34 | }
35 |
36 | @GetMapping(value = {"/sysCinema/find/{cinemaId}/{movieId}", "/sysCinema/find/{cinemaId}"})
37 | public ResponseResult findCinemaById(@PathVariable Long cinemaId, @PathVariable(required = false) Long movieId) {
38 | SysCinema cinema = sysCinemaService.findCinemaById(cinemaId);
39 | if (movieId == null || movieId == 0) {
40 | movieId = cinema.getSysMovieList().size() > 0 ? cinema.getSysMovieList().get(0).getMovieId() : 0;
41 | }
42 | List sessions = null;
43 | if (movieId != null && movieId != 0) {
44 | sessions = sysSessionService.findSessionByMovieId(movieId);
45 | }
46 |
47 | HashMap response = new HashMap<>();
48 | response.put("cinema", cinema);
49 | response.put("sessions", sessions);
50 | return getResult(response);
51 | }
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/system/SysHallController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller.system;
2 |
3 | import com.panda.common.response.ResponseResult;
4 | import com.panda.system.domin.SysHall;
5 | import com.panda.system.service.impl.SysHallServiceImpl;
6 | import com.panda.web.controller.BaseController;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.validation.annotation.Validated;
9 | import org.springframework.web.bind.annotation.*;
10 |
11 | @RestController
12 | public class SysHallController extends BaseController {
13 |
14 | @Autowired
15 | private SysHallServiceImpl sysHallService;
16 |
17 | @GetMapping("/sysHall")
18 | public ResponseResult findAllHalls(SysHall sysHall) {
19 | startPage();
20 | return getResult(sysHallService.findAllHalls(sysHall));
21 | }
22 |
23 | @GetMapping("/sysHall/{hallId}")
24 | public ResponseResult findHallById(@PathVariable Long hallId) {
25 | SysHall sysHall = new SysHall();
26 | sysHall.setHallId(hallId);
27 | return getResult(sysHallService.findHallById(sysHall));
28 | }
29 |
30 | @PostMapping("/sysHall")
31 | public ResponseResult addHall(@Validated @RequestBody SysHall sysHall) {
32 | return getResult(sysHallService.addHall(sysHall));
33 | }
34 |
35 | @PutMapping("/sysHall")
36 | public ResponseResult updateHall(@Validated @RequestBody SysHall sysHall) {
37 | int rows = sysHallService.updateHall(sysHall);
38 | return getResult(rows);
39 | }
40 |
41 | @PostMapping("/sysHall/delete")
42 | public ResponseResult deleteHall(@RequestBody SysHall[] sysHalls) {
43 | return getResult(sysHallService.deleteHall(sysHalls));
44 | }
45 |
46 | }
47 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/system/SysMovieCategoryController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller.system;
2 |
3 | import com.panda.common.response.ResponseResult;
4 | import com.panda.system.domin.SysMovieCategory;
5 | import com.panda.system.domin.SysMovieToCategory;
6 | import com.panda.system.service.impl.SysMovieCategoryServiceImpl;
7 | import com.panda.web.controller.BaseController;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 | import org.springframework.validation.annotation.Validated;
10 | import org.springframework.web.bind.annotation.*;
11 |
12 | import java.util.List;
13 |
14 |
15 | @RestController
16 | public class SysMovieCategoryController extends BaseController {
17 |
18 | @Autowired
19 | private SysMovieCategoryServiceImpl sysMovieCategoryService;
20 |
21 | @GetMapping("/sysMovieCategory/find")
22 | public ResponseResult findAllCategorys() {
23 | startPage();
24 | List data = sysMovieCategoryService.findAllCategorys();
25 | return getResult(data);
26 | }
27 |
28 | @GetMapping("/sysMovieCategory/{id}")
29 | public ResponseResult findCategoryById(@PathVariable Long id) {
30 | return getResult(sysMovieCategoryService.findCategoryById(id));
31 | }
32 |
33 | @PostMapping("/sysMovieCategory")
34 | public ResponseResult addCategory(@Validated @RequestBody SysMovieCategory sysMovieCategory) {
35 | return getResult(sysMovieCategoryService.addCategory(sysMovieCategory));
36 | }
37 |
38 |
39 | @PutMapping("/sysMovieCategory")
40 | public ResponseResult updateCategory(@Validated @RequestBody SysMovieCategory sysMovieCategory) {
41 | return getResult(sysMovieCategoryService.updateCategory(sysMovieCategory));
42 | }
43 |
44 | @DeleteMapping("/sysMovieCategory/{ids}")
45 | public ResponseResult deleteCategory(@PathVariable Long[] ids) {
46 | return getResult(sysMovieCategoryService.deleteCategory(ids));
47 | }
48 |
49 | @PostMapping("/sysMovieToCategory/{movieId}/{movieCategoryId}")
50 | public ResponseResult addMovieToCategory(@PathVariable Long movieId, @PathVariable Long movieCategoryId) {
51 | return getResult(sysMovieCategoryService.addMovieToCategory(new SysMovieToCategory(movieId, movieCategoryId)));
52 | }
53 |
54 | @DeleteMapping("/sysMovieToCategory/{movieId}/{movieCategoryId}")
55 | public ResponseResult deleteMovieToCategory(@PathVariable Long movieId, @PathVariable Long movieCategoryId) {
56 | return getResult(sysMovieCategoryService.deleteMovieToCategory(new SysMovieToCategory(movieId, movieCategoryId)));
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/system/SysMovieController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller.system;
2 |
3 | import com.panda.common.constant.MovieRankingList;
4 | import com.panda.common.response.ResponseResult;
5 | import com.panda.system.domin.SysMovie;
6 | import com.panda.system.domin.vo.SysMovieVo;
7 | import com.panda.system.service.impl.SysMovieServiceImpl;
8 | import com.panda.web.controller.BaseController;
9 | import org.springframework.beans.factory.annotation.Autowired;
10 | import org.springframework.validation.annotation.Validated;
11 | import org.springframework.web.bind.annotation.*;
12 |
13 | import java.lang.reflect.InvocationTargetException;
14 | import java.lang.reflect.Method;
15 | import java.util.List;
16 |
17 |
18 | @RestController
19 | public class SysMovieController extends BaseController {
20 |
21 | @Autowired
22 | private SysMovieServiceImpl sysMovieService;
23 |
24 | @GetMapping("/sysMovie/find")
25 | public ResponseResult findAllMovies(SysMovieVo sysMovieVo) {
26 | startPage();
27 | List data = sysMovieService.findAllMovies(sysMovieVo);
28 | return getResult(data);
29 | }
30 |
31 | @GetMapping("/sysMovie/find/{id}")
32 | public ResponseResult findMovieById(@PathVariable Long id) {
33 | return getResult(sysMovieService.findMovieById(id));
34 | }
35 |
36 | @PostMapping("/sysMovie")
37 | public ResponseResult addMovie(@Validated @RequestBody SysMovie sysMovie) {
38 | return getResult(sysMovieService.addMovie(sysMovie));
39 | }
40 |
41 | @PutMapping("/sysMovie")
42 | public ResponseResult updateMovie(@Validated @RequestBody SysMovie sysMovie) {
43 | return getResult(sysMovieService.updateMovie(sysMovie));
44 | }
45 |
46 | @DeleteMapping("/sysMovie/{ids}")
47 | public ResponseResult deleteMovie(@PathVariable Long[] ids) {
48 | return getResult(sysMovieService.deleteMovie(ids));
49 | }
50 |
51 | @GetMapping("/sysMovie/find/rankingList/{listId}")
52 | public ResponseResult findRankingList(@PathVariable Integer listId) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
53 | if (listId <= 0 || listId > 4) {
54 | //暂时只支持4种榜单
55 | return ResponseResult.error("抱歉,暂时只支持3种榜单,id为[1,3]");
56 | }
57 | Method getList = sysMovieService.getClass().getMethod(MovieRankingList.listNames[listId - 1]);
58 | startPage();
59 | List data = (List) getList.invoke(sysMovieService);
60 | return getResult(data);
61 | }
62 |
63 | }
64 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/system/SysResourceController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller.system;
2 |
3 | import com.panda.common.response.ResponseResult;
4 | import com.panda.system.domin.SysResource;
5 | import com.panda.system.service.impl.SysResourceServiceImpl;
6 | import com.panda.web.controller.BaseController;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.validation.annotation.Validated;
9 | import org.springframework.web.bind.annotation.*;
10 |
11 | import java.util.List;
12 |
13 | @RestController
14 | public class SysResourceController extends BaseController {
15 |
16 | @Autowired
17 | SysResourceServiceImpl sysResourceService;
18 |
19 | @GetMapping("/sysResource")
20 | public ResponseResult findAllResources() {
21 | startPage();
22 | List data = sysResourceService.findAllResources();
23 | return getResult(data);
24 | }
25 |
26 | @GetMapping("/sysResource/children")
27 | public ResponseResult findWithChildren() {
28 | return getResult((Object) sysResourceService.findWithChildren());
29 | }
30 |
31 | @GetMapping("/sysResource/{id}")
32 | public ResponseResult findResourceById(@PathVariable Long id) {
33 | return getResult(sysResourceService.findResourceById(id));
34 | }
35 |
36 | @GetMapping("/sysResource/tree")
37 | public ResponseResult findAllWithAllChildren() {
38 | return getResult(sysResourceService.findAllWithAllChildren());
39 | }
40 |
41 | @PostMapping("/sysResource")
42 | public ResponseResult addResource(@Validated @RequestBody SysResource sysResource) {
43 | return getResult(sysResourceService.addResource(sysResource));
44 | }
45 |
46 | @PutMapping("/sysResource")
47 | public ResponseResult updateResource(@Validated @RequestBody SysResource sysResource) {
48 | return getResult(sysResourceService.updateResource(sysResource));
49 | }
50 |
51 | @DeleteMapping("/sysResource/{ids}")
52 | public ResponseResult deleteResource(@PathVariable Long[] ids) {
53 | return getResult(sysResourceService.deleteResource(ids));
54 | }
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/system/SysRoleController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller.system;
2 |
3 | import com.panda.common.response.ResponseResult;
4 | import com.panda.system.domin.SysRole;
5 | import com.panda.system.service.impl.SysRoleServiceImpl;
6 | import com.panda.web.controller.BaseController;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.validation.annotation.Validated;
9 | import org.springframework.web.bind.annotation.*;
10 |
11 | import java.util.List;
12 |
13 | @RestController
14 | public class SysRoleController extends BaseController {
15 |
16 | @Autowired
17 | SysRoleServiceImpl sysRoleService;
18 |
19 | @GetMapping("/sysRole")
20 | public ResponseResult findAllRoles() {
21 | startPage();
22 | List data = sysRoleService.findAllRoles();
23 | return getResult(data);
24 | }
25 |
26 | @GetMapping("/sysRole/{id}")
27 | public ResponseResult findRoleById(@PathVariable Long id) {
28 | return getResult(sysRoleService.findRoleById(id));
29 | }
30 |
31 | @PostMapping("/sysRole")
32 | public ResponseResult addRole(@Validated @RequestBody SysRole sysRole) {
33 | return getResult(sysRoleService.addRole(sysRole));
34 | }
35 |
36 | @PutMapping("/sysRole")
37 | public ResponseResult updateRole(@Validated @RequestBody SysRole sysRole) {
38 | return getResult(sysRoleService.updateRole(sysRole));
39 | }
40 |
41 | @DeleteMapping("/sysRole/{ids}")
42 | public ResponseResult deleteRole(@PathVariable Long[] ids) {
43 | return getResult(sysRoleService.deleteRole(ids));
44 | }
45 |
46 | /**
47 | * 给指定 id 的角色分配权限,包括增加或者删除权限
48 | * @param roleId
49 | * @param keys
50 | * @return
51 | */
52 | @PostMapping("/sysRole/{roleId}")
53 | public ResponseResult allotRight(@PathVariable Long roleId, @RequestBody Long[] keys) {
54 | return getResult(sysRoleService.allotRight(roleId, keys));
55 | }
56 |
57 | }
58 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/system/SysSessionController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller.system;
2 |
3 | import com.panda.common.response.ResponseResult;
4 | import com.panda.common.utils.ApplicationContextUtils;
5 | import com.panda.system.domin.SysSession;
6 | import com.panda.system.domin.vo.SysSessionVo;
7 | import com.panda.system.service.impl.SysSessionServiceImpl;
8 | import com.panda.web.controller.BaseController;
9 | import org.springframework.beans.factory.annotation.Autowired;
10 | import org.springframework.web.bind.annotation.*;
11 |
12 | import java.util.List;
13 |
14 |
15 | @RestController
16 | public class SysSessionController extends BaseController {
17 |
18 | @Autowired
19 | private SysSessionServiceImpl sysSessionService;
20 |
21 | /**
22 | * 根据vo中的条件查询所有场次,如果在前台购票部分注意设置pageSize=100或者其他大一些的数
23 | *
24 | * @param sysSessionVo
25 | * @return
26 | */
27 | @GetMapping("/sysSession")
28 | public ResponseResult findByVo(SysSessionVo sysSessionVo) {
29 | startPage();
30 | List list = sysSessionService.findByVo(sysSessionVo);
31 | return getResult(list);
32 | }
33 |
34 | @GetMapping("/sysSession/find/{id}")
35 | public ResponseResult findSessionById(@PathVariable Long id) {
36 | // 取消所有超时订单并释放占座资源
37 | ApplicationContextUtils.getBean("cancelTimeoutBill");
38 | return getResult(sysSessionService.findSessionById(id));
39 | }
40 |
41 |
42 | @GetMapping("/sysSession/isAbleEdit")
43 | public ResponseResult findSessionByMovieIdOrHallId(SysSession sysSession) {
44 | return getResult(sysSessionService.findSessionByMovieIdOrHallId(sysSession));
45 | }
46 |
47 | @PostMapping("/sysSession")
48 | public ResponseResult addSession(@RequestBody SysSession sysSession) {
49 | return getResult(sysSessionService.addSession(sysSession));
50 | }
51 |
52 | @PutMapping("/sysSession")
53 | public ResponseResult updateSession(@RequestBody SysSession sysSession) {
54 | return getResult(sysSessionService.updateSession(sysSession));
55 | }
56 |
57 | @DeleteMapping("/sysSession/{ids}")
58 | public ResponseResult deleteSession(@PathVariable Long[] ids) {
59 | return getResult(sysSessionService.deleteSession(ids));
60 | }
61 |
62 | }
63 |
--------------------------------------------------------------------------------
/panda-admin/src/main/java/com/panda/web/controller/system/SysUserController.java:
--------------------------------------------------------------------------------
1 | package com.panda.web.controller.system;
2 |
3 | import com.panda.common.response.ResponseResult;
4 | import com.panda.system.domin.SysUser;
5 | import com.panda.system.domin.vo.SysUserVo;
6 | import com.panda.system.service.impl.SysUserServiceImpl;
7 | import com.panda.web.controller.BaseController;
8 | import org.springframework.beans.factory.annotation.Autowired;
9 | import org.springframework.validation.annotation.Validated;
10 | import org.springframework.web.bind.annotation.*;
11 |
12 | import java.util.List;
13 |
14 | @RestController
15 | public class SysUserController extends BaseController {
16 | @Autowired
17 | private SysUserServiceImpl sysUserService;
18 |
19 | @GetMapping("/sysUser")
20 | public ResponseResult findAllUsers(SysUser sysUser) {
21 | startPage();
22 | List data = sysUserService.findAllUsers(sysUser);
23 | return getResult(data);
24 | }
25 |
26 | @GetMapping("/sysUser/{id}")
27 | public ResponseResult findUserById(@PathVariable Long id) {
28 | return getResult(sysUserService.findUserById(id));
29 | }
30 |
31 | /**
32 | * 添加用户请求,注册也在这里
33 | * @param sysUser
34 | * @return
35 | */
36 | @PostMapping("/sysUser")
37 | public ResponseResult addUser(@Validated @RequestBody SysUser sysUser) {
38 | return getResult(sysUserService.addUser(sysUser));
39 | }
40 |
41 | @PutMapping("/sysUser")
42 | public ResponseResult updateUser(@Validated @RequestBody SysUser sysUser) {
43 | return getResult(sysUserService.updateUser(sysUser));
44 | }
45 |
46 | @DeleteMapping("/sysUser/{ids}")
47 | public ResponseResult deleteUser(@PathVariable Long[] ids) {
48 | return getResult(sysUserService.deleteUser(ids));
49 | }
50 |
51 | /**
52 | * 用户登录请求
53 | *
54 | * @param sysUserVo
55 | * @return
56 | */
57 | @RequestMapping("/sysUser/login")
58 | public ResponseResult login(@RequestBody SysUserVo sysUserVo) {
59 | return getResult(sysUserService.login(sysUserVo));
60 | }
61 |
62 | /**
63 | * 用户注册请求
64 | *
65 | * @param sysUser
66 | * @return
67 | */
68 | @PostMapping("/sysUser/register")
69 | public ResponseResult register(@Validated @RequestBody SysUser sysUser) {
70 | // 注册只接收部分参数值,重新建立一个实例对象只接受注册接受的参数
71 | SysUser registerUserInfo = new SysUser();
72 | registerUserInfo.setUserName(sysUser.getUserName());
73 | registerUserInfo.setPassword(sysUser.getPassword());
74 | registerUserInfo.setSex(sysUser.getSex());
75 | registerUserInfo.setPhoneNumber(sysUser.getPhoneNumber());
76 | return getResult(sysUserService.addUser(registerUserInfo));
77 | }
78 |
79 | }
80 |
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/application-druid.yml:
--------------------------------------------------------------------------------
1 | # 配置数据源
2 | spring:
3 | datasource:
4 | driver-class-name: com.mysql.cj.jdbc.Driver
5 | type: com.alibaba.druid.pool.DruidDataSource
6 | druid:
7 | url: jdbc:mysql://localhost:3306/graduation_movie?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
8 | username: root
9 | password: 123456
10 |
11 | # 初始连接数
12 | initialSize: 5
13 | # 最小连接池数量
14 | minIdle: 10
15 | # 最大连接池数量
16 | maxActive: 20
17 | # 配置获取连接等待超时的时间
18 | maxWait: 60000
19 | # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
20 | timeBetweenEvictionRunsMillis: 60000
21 | # 配置一个连接在池中最小生存的时间,单位是毫秒
22 | minEvictableIdleTimeMillis: 300000
23 | # 配置一个连接在池中最大生存的时间,单位是毫秒
24 | maxEvictableIdleTimeMillis: 900000
25 | # 配置检测连接是否有效
26 | validationQuery: SELECT 1 FROM DUAL
27 | testWhileIdle: true
28 | testOnBorrow: false
29 | testOnReturn: false
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 | # Spring 配置
2 | spring:
3 | # 数据源配置文件
4 | profiles:
5 | active: druid
6 |
7 | # 开发工具,配置热部署
8 | devtools:
9 | restart:
10 | enabled: true #热部署
11 | freemarker:
12 | cache: false #页面不开启缓存,修改即生效
13 |
14 | # jackson日期格式配置
15 | jackson:
16 | date-format: yyyy-MM-dd HH:mm:ss
17 | time-zone: GMT+8
18 |
19 | # mvc日期格式配置
20 | mvc:
21 | format:
22 | date: yyyy-MM-dd
23 | date-time: yyyy-MM-dd HH:mm:ss
24 |
25 | # 文件上传大小限制
26 | servlet:
27 | multipart:
28 | enabled: true
29 | max-file-size: 50MB
30 | max-request-size: 50MB
31 |
32 | # Mybatis 配置
33 | mybatis:
34 | type-aliases-package: com.panda.**.domin #指定封装到实体类的包,省去书写全类名
35 | mapper-locations: classpath*:mapper/**/*Mapper.xml #mapper配置文件的位置
36 | configuration:
37 | map-underscore-to-camel-case: true #配置开启驼峰式命名
38 |
39 | # logging 日志配置
40 | logging:
41 | level:
42 | com.panda: trace
43 | org.springframework: warn
44 |
45 | # pagehelper 分页插件配置
46 | pagehelper:
47 | helperDialect: mysql
48 | reasonable: true
49 | supportMethodsArguments: true
50 | params: count=countSql
51 |
52 | server:
53 | port: 8181
54 |
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/0bea348e519b4e19a9f4745275de1550.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/0bea348e519b4e19a9f4745275de1550.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/15d4d709de5445e3a3a11848b36b270f.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/15d4d709de5445e3a3a11848b36b270f.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/236137fdcec24986bc814b9771ca1610.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/236137fdcec24986bc814b9771ca1610.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/24a9618b56ff4df7a74a067d4c512bda.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/24a9618b56ff4df7a74a067d4c512bda.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/2cd2bfc44d144b60acbc9d5e4dee8338.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/2cd2bfc44d144b60acbc9d5e4dee8338.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/3288ccae34964023983ec6ad880a71bc.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/3288ccae34964023983ec6ad880a71bc.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/3397f270491049e386178c7464a06876.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/3397f270491049e386178c7464a06876.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/38e18649714344e99f7b34bbb3de82e3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/38e18649714344e99f7b34bbb3de82e3.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/41d2adfd444e4ff1a25452657f017e6b.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/41d2adfd444e4ff1a25452657f017e6b.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/41e4a4fb888742d79b04c14b3864674b.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/41e4a4fb888742d79b04c14b3864674b.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/480e75c3a16c4acab09453cf387a66cb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/480e75c3a16c4acab09453cf387a66cb.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/4b13b299e81a435aa12b81e4892221da.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/4b13b299e81a435aa12b81e4892221da.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/54668eee2db144d9934b3c35a088cff3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/54668eee2db144d9934b3c35a088cff3.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/55136c5750754172b38d7eb74ff236bd.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/55136c5750754172b38d7eb74ff236bd.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/577678514b424481a23893b69fad082e.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/577678514b424481a23893b69fad082e.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/6b6957b25e2a437a80009906e0645896.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/6b6957b25e2a437a80009906e0645896.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/77d24e6c1e1d4ff88494298cbe97bf79.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/77d24e6c1e1d4ff88494298cbe97bf79.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/7ad9949c113143d58079ad0e582544f4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/7ad9949c113143d58079ad0e582544f4.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/8e527c37e1b04fe5a589b5c06314c9ea.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/8e527c37e1b04fe5a589b5c06314c9ea.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/9ddfdedcb7e24a5391282109dfd49416.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/9ddfdedcb7e24a5391282109dfd49416.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/a6e207a71f2d4f93b90d909cfbcc5c54.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/a6e207a71f2d4f93b90d909cfbcc5c54.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/ab3cddcf04f74b84bf3c527fbfb53710.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/ab3cddcf04f74b84bf3c527fbfb53710.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/b12b7d473a0b4795a5f46252ea41635f.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/b12b7d473a0b4795a5f46252ea41635f.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/c39fd63a52cf4949aa9ad0f3ff47f8aa.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/c39fd63a52cf4949aa9ad0f3ff47f8aa.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/c97cfde7f9024504bc8b27b91eb1dd90.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/c97cfde7f9024504bc8b27b91eb1dd90.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/e6ac22bf74f344bd8d27e266bb21737d.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/e6ac22bf74f344bd8d27e266bb21737d.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/f1cd4a9370b04c5ca38340a90c4db079.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/f1cd4a9370b04c5ca38340a90c4db079.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/fa0718013075446cab59a00f29b8bdfb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/fa0718013075446cab59a00f29b8bdfb.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/actor/2020/12/15/fd0e1006adb14f39818608ef8ecfb988.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/actor/2020/12/15/fd0e1006adb14f39818608ef8ecfb988.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/01afb74db476472e913285607d2f0e11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/01afb74db476472e913285607d2f0e11.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/04e185afd6a8457a9f960240af8cbebe.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/04e185afd6a8457a9f960240af8cbebe.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/123.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/123.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/1f3f8b869c174c35ba314c5169dc2cf8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/1f3f8b869c174c35ba314c5169dc2cf8.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/1f5bf7570a6f4a2db9155b39c4346f96.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/1f5bf7570a6f4a2db9155b39c4346f96.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/4bfaf8909ea845139b176ae0c60d152b.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/4bfaf8909ea845139b176ae0c60d152b.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/4dad1006d9b24ee8b72115b57949fcf2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/4dad1006d9b24ee8b72115b57949fcf2.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/4f18270b91ea47e691d4f2e71321ec89.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/4f18270b91ea47e691d4f2e71321ec89.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/5d8a4ae389b44cf3af73587259a47c02.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/5d8a4ae389b44cf3af73587259a47c02.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/5e85858b73aa40c2b65be423d09ca71e.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/5e85858b73aa40c2b65be423d09ca71e.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/65c44173e32c469dbac7d075b7c49dda.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/65c44173e32c469dbac7d075b7c49dda.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/6e24bb8ca77a4ba29c03fc4b461153e1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/6e24bb8ca77a4ba29c03fc4b461153e1.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/730319251df54095b3d54a908d78534a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/730319251df54095b3d54a908d78534a.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/7637f53964374e1294732dd37509648a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/7637f53964374e1294732dd37509648a.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/a8a9ce5f97fc4e8f94af491981e0098f.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/a8a9ce5f97fc4e8f94af491981e0098f.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/c02cb0c58a5e4c469bdb2dea83ef16eb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/c02cb0c58a5e4c469bdb2dea83ef16eb.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/d81a78634dd94d2d891664a5a1fa8381.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/d81a78634dd94d2d891664a5a1fa8381.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/de03f508ee8f4c0181254bcf9cc5a2ab.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/de03f508ee8f4c0181254bcf9cc5a2ab.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/e55fa50224ce42caa0e1b1871663fb79.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/e55fa50224ce42caa0e1b1871663fb79.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/f0e69a1d126c42be951337251884a8a6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/f0e69a1d126c42be951337251884a8a6.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/cinema/2020/12/15/f2a709ff33774840930a85fca3cfe331.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/cinema/2020/12/15/f2a709ff33774840930a85fca3cfe331.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/00733b7ceb284b26ac43fa93f20fd991.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/00733b7ceb284b26ac43fa93f20fd991.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/0b5191875a844e27bd52caf7048b354d.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/0b5191875a844e27bd52caf7048b354d.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/16fabc3258a843f28beccab37041fa80.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/16fabc3258a843f28beccab37041fa80.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/190e45b2f62e414aae5f25c54df23c6d.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/190e45b2f62e414aae5f25c54df23c6d.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/208998f6cd4e410f85db05631faca4c4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/208998f6cd4e410f85db05631faca4c4.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/2886b23c40ba4c57829c8938b10aeedb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/2886b23c40ba4c57829c8938b10aeedb.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/2ba31ac24b334fef80a4555f7cef5298.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/2ba31ac24b334fef80a4555f7cef5298.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/2f69dce23efe4db99e189ca4886bed48.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/2f69dce23efe4db99e189ca4886bed48.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/3c856a4e413b4dd89cfd41a0d71faea9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/3c856a4e413b4dd89cfd41a0d71faea9.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/4425e22bc1264164a2fbdd01d56cd939.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/4425e22bc1264164a2fbdd01d56cd939.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/5711f4fa70ec4d53b714af51b2dc1819.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/5711f4fa70ec4d53b714af51b2dc1819.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/5c6e503dc6154a9ab120256796acba34.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/5c6e503dc6154a9ab120256796acba34.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/69aec299204e46bcb9174d80e30961fd.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/69aec299204e46bcb9174d80e30961fd.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/75caecc71ba345a690e1e2c661ea7f3a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/75caecc71ba345a690e1e2c661ea7f3a.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/7d886589922f45fbb4b9bfdc20a62a91.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/7d886589922f45fbb4b9bfdc20a62a91.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/8341c3cdce0840c7b14dc88ce4dc5e0a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/8341c3cdce0840c7b14dc88ce4dc5e0a.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/94baa78550e34794823db457c27870a6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/94baa78550e34794823db457c27870a6.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/9fc80b23da4847cc8a98c65abb14148f.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/9fc80b23da4847cc8a98c65abb14148f.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/a0dc7fecccf2483391ee08070cd66832.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/a0dc7fecccf2483391ee08070cd66832.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/ad8e89daada24ab9b76b972894fa4418.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/ad8e89daada24ab9b76b972894fa4418.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/b410a941952d4612b07f18b0622bc73e.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/b410a941952d4612b07f18b0622bc73e.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/cd079baa53ab4caa8bf7e984ff59b11c.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/cd079baa53ab4caa8bf7e984ff59b11c.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/d40ac8629a9b47629f927454a0c345e9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/d40ac8629a9b47629f927454a0c345e9.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/da999ff2914447e38cc854b1294d6c2a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/da999ff2914447e38cc854b1294d6c2a.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/movie/2020/12/15/e29341a6bf4640f7a6fb69442cade734.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/movie/2020/12/15/e29341a6bf4640f7a6fb69442cade734.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/0b4f389d47724e3486247b64aaf4eedb.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/0b4f389d47724e3486247b64aaf4eedb.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/1a36838e0d0b4e9e927c0ee21dc48b15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/1a36838e0d0b4e9e927c0ee21dc48b15.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/2832ad8931bf4bcdb7c2dc56be794e85.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/2832ad8931bf4bcdb7c2dc56be794e85.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/2b2756c9a196478ba7f132d4210c3c86.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/2b2756c9a196478ba7f132d4210c3c86.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/4c988c9f1f454064b5a26e2812ff01a3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/4c988c9f1f454064b5a26e2812ff01a3.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/4f1f61dbc5914122ae0d820ea8734a46.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/4f1f61dbc5914122ae0d820ea8734a46.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/5765ed23e48a4626b4c8dc2c5d8ff91a.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/5765ed23e48a4626b4c8dc2c5d8ff91a.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/59d6862d547840e6bc86336030b72430.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/59d6862d547840e6bc86336030b72430.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/609b06dfa09540d89971901712d49300.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/609b06dfa09540d89971901712d49300.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/7b39d58bfaa64c3f9d4425131ede7cc2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/7b39d58bfaa64c3f9d4425131ede7cc2.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/82760d557d8c4620b453a7d7c2cd6340.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/82760d557d8c4620b453a7d7c2cd6340.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/831e066fe440467591adfc040699673f.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/831e066fe440467591adfc040699673f.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/96a9cc5884f14a4db2e48ca0d434d73b.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/96a9cc5884f14a4db2e48ca0d434d73b.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/ba755080ab35404abd8284b6842ca77c.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/ba755080ab35404abd8284b6842ca77c.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/daec8941dad549bc95cf1b26fd796ff1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/daec8941dad549bc95cf1b26fd796ff1.jpg
--------------------------------------------------------------------------------
/panda-admin/src/main/resources/static/images/user/2020/12/15/eaa033dcf58c473d8c0d65d92f14872d.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-admin/src/main/resources/static/images/user/2020/12/15/eaa033dcf58c473d8c0d65d92f14872d.jpg
--------------------------------------------------------------------------------
/panda-admin/src/test/java/com/panda/PandaAdminApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.panda;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.beans.factory.annotation.Autowired;
5 | import org.springframework.boot.test.context.SpringBootTest;
6 |
7 | import javax.sql.DataSource;
8 | import java.sql.SQLException;
9 |
10 | @SpringBootTest
11 | class PandaAdminApplicationTests {
12 |
13 | @Autowired
14 | DataSource dataSource;
15 |
16 | @Test
17 | void contextLoads() throws SQLException {
18 | System.out.println(dataSource.getClass());
19 | System.out.println(dataSource.getConnection());
20 | }
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/constant/HttpStatus.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.constant;
2 |
3 | /**
4 | * 定义常量记录Http状态码
5 | */
6 | public class HttpStatus {
7 | /**
8 | * 成功
9 | */
10 | public static final int SUCCESS = 200;
11 |
12 | public static final int BAD_REQUEST = 400;
13 |
14 | /**
15 | * 访问受限,授权过期
16 | */
17 | public static final int FORBIDDEN = 403;
18 |
19 | /**
20 | * 资源,服务未找到
21 | */
22 | public static final int NOT_FOUND = 404;
23 |
24 | /**
25 | * 系统内部错误
26 | */
27 | public static final int ERROR = 500;
28 | }
29 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/constant/MovieRankingList.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.constant;
2 |
3 |
4 | public class MovieRankingList {
5 |
6 | public static final String[] listNames = new String[3];
7 |
8 | static {
9 | listNames[0] = "totalBoxOfficeList";
10 | listNames[1] = "domesticBoxOfficeList";
11 | listNames[2] = "foreignBoxOfficeList";
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/exception/DataNotFoundException.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.exception;
2 |
3 | public class DataNotFoundException extends RuntimeException {
4 |
5 | static final long serialVersionUID = -7034897190745456227L;
6 |
7 | public DataNotFoundException() {
8 | super();
9 | }
10 |
11 | public DataNotFoundException(String message) {
12 | super(message);
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/exception/FileNameLengthLimitExceededException.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.exception;
2 |
3 | /**
4 | * 文件名字长度超过限制异常,用于文件校验
5 | */
6 | public class FileNameLengthLimitExceededException extends RuntimeException {
7 |
8 | private static final long serialVersionUID = 1L;
9 |
10 | public FileNameLengthLimitExceededException() {
11 | }
12 |
13 | public FileNameLengthLimitExceededException(String message) {
14 | super(message);
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/exception/FileSizeLimitExceededException.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.exception;
2 |
3 | /**
4 | * 文件大小超过限制异常,用于文件校验
5 | */
6 | public class FileSizeLimitExceededException extends RuntimeException {
7 |
8 | private static final long serialVersionUID = 1L;
9 |
10 | public FileSizeLimitExceededException() {
11 | }
12 |
13 | public FileSizeLimitExceededException(String message) {
14 | super(message);
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/exception/InvalidExtensionException.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.exception;
2 |
3 | /**
4 | * 文件后缀无效异常,用于文件校验
5 | */
6 | public class InvalidExtensionException extends RuntimeException {
7 |
8 | private static final long serialVersionUID = 1L;
9 |
10 | public InvalidExtensionException() {
11 | }
12 |
13 | public InvalidExtensionException(String message) {
14 | super(message);
15 | }
16 |
17 | }
18 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/file/MimeTypeUtils.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.file;
2 |
3 | /**
4 | * 媒体类型工具类
5 | */
6 | public class MimeTypeUtils {
7 |
8 | public static final String IMAGE_PNG = "image/png";
9 |
10 | public static final String IMAGE_JPG = "image/jpg";
11 |
12 | public static final String IMAGE_JPEG = "image/jpeg";
13 |
14 | public static final String IMAGE_BMP = "image/bmp";
15 |
16 | public static final String IMAGE_GIF = "image/gif";
17 |
18 | public static final String[] IMAGE_EXTENSION = {"bmp", "gif", "jpg", "jpeg", "png"};
19 |
20 | public static final String[] DEFAULT_ALLOWED_EXTENSION = {"bmp", "gif", "jpg", "jpeg", "png"};
21 |
22 | public static String getExtension(String prefix) {
23 | switch (prefix) {
24 | case IMAGE_PNG:
25 | return "png";
26 | case IMAGE_JPG:
27 | return "jpg";
28 | case IMAGE_JPEG:
29 | return "jpeg";
30 | case IMAGE_BMP:
31 | return "bmp";
32 | case IMAGE_GIF:
33 | return "gif";
34 | default:
35 | return "";
36 | }
37 | }
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/page/Page.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.page;
2 |
3 | import com.panda.common.utils.StringUtil;
4 |
5 | /**
6 | * 获取分页请求参数的实体类
7 | */
8 | public class Page {
9 |
10 | //页码
11 | private Integer pageNum = 1;
12 |
13 | //页大小
14 | private Integer pageSize = 1000;
15 |
16 | //按列排序
17 | private String orderByColumn;
18 |
19 | //升序还是降序,"asc"表示升序(默认)、"desc"表示降序
20 | private String isAsc = "asc";
21 |
22 | public Integer getPageNum() {
23 | return pageNum;
24 | }
25 |
26 | public void setPageNum(Integer pageNum) {
27 | this.pageNum = pageNum;
28 | }
29 |
30 | public Integer getPageSize() {
31 | return pageSize;
32 | }
33 |
34 | public void setPageSize(Integer pageSize) {
35 | this.pageSize = pageSize;
36 | }
37 |
38 | /**
39 | * 将isAsc拼接在orderby后边
40 | *
41 | * @return
42 | */
43 | public String getOrderByColumn() {
44 | if (!StringUtil.isNotEmpty(orderByColumn)) {
45 | return "";
46 | }
47 | return orderByColumn + " " + isAsc;
48 | }
49 |
50 | public void setOrderByColumn(String orderByColumn) {
51 | this.orderByColumn = orderByColumn;
52 | }
53 |
54 | public String getIsAsc() {
55 | return isAsc;
56 | }
57 |
58 | public void setIsAsc(String isAsc) {
59 | if (StringUtil.isNotEmpty(isAsc)) {
60 | this.isAsc = isAsc;
61 | }
62 | }
63 |
64 | }
65 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/page/PageBuilder.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.page;
2 |
3 | import com.panda.common.utils.ServletUtil;
4 | import com.panda.common.utils.StringUtil;
5 |
6 | import javax.servlet.http.HttpServletRequest;
7 |
8 | /**
9 | * 构建页对象,通过ServletUtil减少Controller方法上的请求参数
10 | */
11 | public class PageBuilder {
12 |
13 | //当前页码
14 | public static final String PAGE_NUM = "pageNum";
15 |
16 | //页大小
17 | public static final String PAGE_SIZE = "pageSize";
18 |
19 | //总记录数
20 | public static final String TOTAL = "total";
21 |
22 | //按列排序
23 | public static final String ORDER_BY_COLUMN = "orderByColumn";
24 |
25 | //升序还是降序
26 | public static final String IS_ASC = "isAsc";
27 |
28 | public static Page buildPage() {
29 | Page page = new Page();
30 | HttpServletRequest request = ServletUtil.getRequest();
31 |
32 | String pageNum = request.getParameter(PAGE_NUM);
33 | if (StringUtil.isNotEmpty(pageNum)) {
34 | page.setPageNum(Integer.parseInt(pageNum));
35 | }
36 |
37 | String pageSize = request.getParameter(PAGE_SIZE);
38 | if (StringUtil.isNotEmpty(pageSize)) {
39 | page.setPageSize(Integer.parseInt(pageSize));
40 | }
41 |
42 | page.setIsAsc(request.getParameter(IS_ASC));
43 | page.setOrderByColumn(StringUtil.toUnderScoreCase(request.getParameter(ORDER_BY_COLUMN)));
44 | return page;
45 | }
46 |
47 | }
48 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/response/ResponseResult.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.response;
2 |
3 | import com.panda.common.constant.HttpStatus;
4 |
5 | import java.util.HashMap;
6 |
7 | /**
8 | * 响应消息结果,使用Map存储
9 | */
10 | public class ResponseResult extends HashMap {
11 |
12 | private static final long serialVersionUID = 1L;
13 |
14 | //状态码的key
15 | private static final String CODE = "code";
16 |
17 | //操作结果信息key
18 | private static final String MESSAGE = "msg";
19 |
20 | //返回数据的key
21 | private static final String DATA = "data";
22 |
23 | /**
24 | * 空的响应消息结果
25 | */
26 | public ResponseResult() {
27 | }
28 |
29 | /**
30 | * 不包含数据的响应消息
31 | *
32 | * @param code
33 | * @param msg
34 | */
35 | public ResponseResult(int code, String msg) {
36 | super.put(CODE, code);
37 | super.put(MESSAGE, msg);
38 | }
39 |
40 | /**
41 | * 构造响应消息
42 | *
43 | * @param code 状态码
44 | * @param msg 响应消息
45 | * @param data 响应数据
46 | */
47 | public ResponseResult(int code, String msg, Object data) {
48 | super.put(CODE, code);
49 | super.put(MESSAGE, msg);
50 | if (data != null) {
51 | super.put(DATA, data);
52 | }
53 | }
54 |
55 | /* 返回成功消息 */
56 | public static ResponseResult success() {
57 | return success("操作成功");
58 | }
59 |
60 | public static ResponseResult success(String msg) {
61 | return success(msg, null);
62 | }
63 |
64 | public static ResponseResult success(Object data) {
65 | return success("操作成功", data);
66 | }
67 |
68 | /**
69 | * 返回成功消息
70 | *
71 | * @param msg 响应消息
72 | * @param data 响应数据
73 | * @return 响应消息对象
74 | */
75 | public static ResponseResult success(String msg, Object data) {
76 | return new ResponseResult(HttpStatus.SUCCESS, msg, data);
77 | }
78 |
79 |
80 | /* 返回错误消息 */
81 | public static ResponseResult error() {
82 | return error("操作失败");
83 | }
84 |
85 | public static ResponseResult error(String msg) {
86 | return error(msg, null);
87 | }
88 |
89 | /**
90 | * 指定返回错误状态码的错误消息
91 | *
92 | * @param code
93 | * @param msg
94 | * @return
95 | */
96 | public static ResponseResult error(int code, String msg) {
97 | return new ResponseResult(code, msg, null);
98 | }
99 |
100 | /**
101 | * 默认类型错误消息(500)
102 | *
103 | * @param msg
104 | * @param data
105 | * @return
106 | */
107 | public static ResponseResult error(String msg, Object data) {
108 | return new ResponseResult(HttpStatus.ERROR, msg, data);
109 | }
110 |
111 | }
112 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/utils/ApplicationContextUtils.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.utils;
2 |
3 | import org.springframework.beans.BeansException;
4 | import org.springframework.context.ApplicationContext;
5 | import org.springframework.context.ApplicationContextAware;
6 | import org.springframework.stereotype.Component;
7 |
8 | /**
9 | * Spring工厂工具类,用于getBean
10 | */
11 | @Component
12 | public class ApplicationContextUtils implements ApplicationContextAware {
13 |
14 | private static ApplicationContext context;
15 |
16 | @Override
17 | public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
18 | context = applicationContext;
19 | }
20 |
21 | public static Object getBean(String beanName) {
22 | return context.getBean(beanName);
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/utils/JwtUtil.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.utils;
2 |
3 | import com.auth0.jwt.JWT;
4 | import com.auth0.jwt.JWTVerifier;
5 | import com.auth0.jwt.algorithms.Algorithm;
6 | import com.auth0.jwt.exceptions.JWTDecodeException;
7 | import com.auth0.jwt.interfaces.DecodedJWT;
8 | import lombok.extern.slf4j.Slf4j;
9 |
10 | import java.util.Date;
11 |
12 | /**
13 | * 签名与校验token工具类
14 | */
15 | @Slf4j
16 | public class JwtUtil {
17 | /**
18 | * JWT验证过期时间 EXPIRE_TIME 分钟 暂定一小时
19 | */
20 | private static final long EXPIRE_TIME = 60 * 60 * 1000;
21 |
22 | /**
23 | * 校验token是否正确
24 | *
25 | * @param token 密钥
26 | * @param secret 用户的密码
27 | * @return 是否正确
28 | */
29 | public static boolean verify(String token, String username, String secret) {
30 | try {
31 | //根据密码生成JWT效验器
32 | Algorithm algorithm = Algorithm.HMAC256(secret);
33 | JWTVerifier verifier = JWT.require(algorithm)
34 | .withClaim("username", username)
35 | .build();
36 | //效验TOKEN
37 | DecodedJWT jwt = verifier.verify(token);
38 | log.info("登录验证成功!");
39 | return true;
40 | } catch (Exception exception) {
41 | log.error("JwtUtil登录验证失败!");
42 | return false;
43 | }
44 | }
45 |
46 | /**
47 | * 获得token中的信息无需secret解密也能获得
48 | *
49 | * @return token中包含的用户名
50 | */
51 | public static String getUsername(String token) {
52 | try {
53 | DecodedJWT jwt = JWT.decode(token);
54 | return jwt.getClaim("username").asString();
55 | } catch (JWTDecodeException e) {
56 | return null;
57 | }
58 | }
59 |
60 | /**
61 | * 生成token签名EXPIRE_TIME 分钟后过期
62 | *
63 | * @param username 用户名
64 | * @param secret 用户的密码
65 | * @return 加密的token
66 | */
67 | public static String sign(String username, String secret) {
68 | Date date = new Date(System.currentTimeMillis() + EXPIRE_TIME);
69 | Algorithm algorithm = Algorithm.HMAC256(secret);
70 | // 附带username信息
71 | return JWT.create()
72 | .withClaim("username", username)
73 | .withExpiresAt(date)
74 | .sign(algorithm);
75 |
76 | }
77 |
78 | public static void main(String[] args) {
79 | /**
80 | * 测试生成一个token
81 | * 结果:eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJleHAiOjE2MDc0ODI5OTYsInVzZXJuYW1lIjoi5ZGo5YWrIn0.UP6kFC0BofuX7FLoPDMWCQno-NhVuYA0NlQG8xgt2Rc
82 | */
83 | String sign = sign("周八", "f93643c0eacc54a5ee1783744466ab9e");
84 | log.warn("测试生成一个token\n" + sign);
85 | }
86 |
87 | }
88 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/utils/SaltUtils.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.utils;
2 |
3 | import java.util.Random;
4 |
5 | /**
6 | * 生成随机盐工具类
7 | */
8 | public class SaltUtils {
9 |
10 | public static String getSalt(int n) {
11 | //返回长度为n的随机盐
12 | StringBuilder sb = new StringBuilder();
13 | char[] chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()".toCharArray();
14 | for (int i = 0; i < n; i++) {
15 | char c = chars[new Random().nextInt(chars.length)];
16 | sb.append(c);
17 | }
18 | return sb.toString();
19 | }
20 |
21 | public static void main(String[] args) {
22 | System.out.println(getSalt(8));
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/utils/ServletUtil.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.utils;
2 |
3 | import org.springframework.web.context.request.RequestContextHolder;
4 | import org.springframework.web.context.request.ServletRequestAttributes;
5 |
6 | import javax.servlet.http.HttpServletRequest;
7 | import javax.servlet.http.HttpServletResponse;
8 | import javax.servlet.http.HttpSession;
9 |
10 | /**
11 | * 从当前绑定的线程上获取请求属性
12 | */
13 | public class ServletUtil {
14 |
15 | /**
16 | * 获取所有请求属性
17 | *
18 | * @return 请求属性
19 | */
20 | public static ServletRequestAttributes getAttributes() {
21 | return (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
22 | }
23 |
24 | /**
25 | * 获取request请求对象
26 | *
27 | * @return
28 | */
29 | public static HttpServletRequest getRequest() {
30 | return getAttributes().getRequest();
31 | }
32 |
33 | /**
34 | * 获取response响应对象
35 | *
36 | * @return
37 | */
38 | public static HttpServletResponse getResponse() {
39 | return getAttributes().getResponse();
40 | }
41 |
42 | /**
43 | * 获取session域对象
44 | *
45 | * @return
46 | */
47 | public static HttpSession getSession() {
48 | return getRequest().getSession();
49 | }
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/utils/SessionSeatsUtil.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.utils;
2 |
3 | import com.alibaba.fastjson.JSONArray;
4 | import com.alibaba.fastjson.JSONObject;
5 |
6 | import java.util.LinkedHashMap;
7 | import java.util.Map;
8 |
9 | /**
10 | * @description:
11 | * @author: chengho
12 | * @create: 2021-06-02 15:59
13 | */
14 | public class SessionSeatsUtil {
15 | /**
16 | * @param curSessionSeats
17 | * @param selectSeats
18 | * @return
19 | */
20 | public static String changeSessionSeats(String curSessionSeats, String selectSeats) {
21 | JSONObject curSessionSeatsJSON = JSONObject.parseObject(curSessionSeats);
22 | // 超时订单已选座位
23 | Map selectedSeatsMap = new LinkedHashMap<>();
24 | // 获取当前超时订单座位信息
25 | String[] selectedSeats = selectSeats.split(",");
26 | for (int i = 0; i < selectedSeats.length; i++) {
27 | String row = selectedSeats[i].substring(selectedSeats[i].indexOf("\"") + 1, selectedSeats[i].indexOf("排"));
28 | Integer col = Integer.parseInt(selectedSeats[i].substring(selectedSeats[i].indexOf("排") + 1, selectedSeats[i].indexOf("座")));
29 | selectedSeatsMap.put(row, col);
30 | }
31 | // 显示已选座位坐标
32 | selectedSeatsMap.forEach((key, value) -> {
33 | System.out.println("key = " + key + " value=" + value);
34 | });
35 |
36 |
37 | Map valueMap = new LinkedHashMap<>();
38 | valueMap.putAll(curSessionSeatsJSON);
39 | valueMap.forEach((key, value) -> System.out.println("\"" + key + "\":" + " " + value));
40 | // 取消选座
41 | selectedSeatsMap.forEach((index, value) -> {
42 | ((JSONArray) valueMap.get(index)).set(value - 1, 0);
43 | });
44 | JSONObject newSessionSeatsJSON = new JSONObject(valueMap);
45 | return JSONObject.toJSONString(newSessionSeatsJSON);
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/panda-common/src/main/java/com/panda/common/utils/StringUtil.java:
--------------------------------------------------------------------------------
1 | package com.panda.common.utils;
2 |
3 | /**
4 | * 字符串工具类,抽取一些常用操作
5 | */
6 | public class StringUtil {
7 |
8 | /**
9 | * 判断val是否不为空(null/"")
10 | *
11 | * @param val
12 | * @return
13 | */
14 | public static boolean isNotEmpty(String val) {
15 | return val != null && !"".equals(val);
16 | }
17 |
18 | /**
19 | * 将给定的驼峰命名值转换为下划线命名
20 | *
21 | * @param val
22 | * @return
23 | */
24 | public static String toUnderScoreCase(String val) {
25 | if (!isNotEmpty(val)) {
26 | return val;
27 | }
28 | StringBuilder sb = new StringBuilder(val);
29 | for (int i = 0; i < sb.length(); i++) {
30 | if (sb.charAt(i) >= 'A' && sb.charAt(i) <= 'Z') {
31 | //将大写字母 "A" 替换为 "_a"
32 | sb.replace(i, i + 1, "_" + (char) (sb.charAt(i) + 32));
33 | }
34 | }
35 | return sb.toString();
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/panda-framework/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | com.panda
7 | panda
8 | 0.0.1-SNAPSHOT
9 |
10 |
11 | panda-framework
12 | panda-framework
13 | 框架核心
14 |
15 |
16 |
17 |
18 |
19 | org.springframework.boot
20 | spring-boot-starter-web
21 |
22 |
23 |
24 |
25 | org.springframework.boot
26 | spring-boot-starter-quartz
27 |
28 |
29 |
30 |
31 | org.springframework.boot
32 | spring-boot-starter-aop
33 |
34 |
35 |
36 |
37 | org.springframework.boot
38 | spring-boot-starter-test
39 |
40 |
41 |
42 |
43 | com.alibaba
44 | druid-spring-boot-starter
45 |
46 |
47 |
48 |
49 | org.mybatis.spring.boot
50 | mybatis-spring-boot-starter
51 |
52 |
53 |
54 |
55 | com.panda
56 | panda-system
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
--------------------------------------------------------------------------------
/panda-framework/src/main/java/com/panda/framework/config/ApplicationConfiguration.java:
--------------------------------------------------------------------------------
1 | package com.panda.framework.config;
2 |
3 | import org.mybatis.spring.annotation.MapperScan;
4 | import org.springframework.context.annotation.Configuration;
5 |
6 |
7 | @Configuration
8 | //配置要扫描mapper的包
9 | @MapperScan("com.panda.**.mapper")
10 | public class ApplicationConfiguration {
11 | }
12 |
--------------------------------------------------------------------------------
/panda-framework/src/main/java/com/panda/framework/config/CrosConfig.java:
--------------------------------------------------------------------------------
1 | package com.panda.framework.config;
2 |
3 | import org.springframework.context.annotation.Configuration;
4 | import org.springframework.web.servlet.config.annotation.CorsRegistry;
5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
6 |
7 |
8 | @Configuration
9 | public class CrosConfig implements WebMvcConfigurer {
10 | @Override
11 | public void addCorsMappings(CorsRegistry registry) {
12 | registry.addMapping("/**")
13 | .allowedOrigins("http://localhost:8080")
14 | .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
15 | .allowCredentials(true)
16 | .maxAge(3600)
17 | .allowedHeaders("*");
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/panda-framework/src/main/java/com/panda/framework/config/QuartzConfig.java:
--------------------------------------------------------------------------------
1 | package com.panda.framework.config;
2 |
3 |
4 | import com.alibaba.fastjson.JSONArray;
5 | import com.alibaba.fastjson.JSONObject;
6 | import com.panda.common.exception.DataNotFoundException;
7 | import com.panda.common.utils.ApplicationContextUtils;
8 | import com.panda.system.domin.SysBill;
9 | import com.panda.system.domin.SysSession;
10 | import com.panda.system.service.impl.SysBillServiceImpl;
11 | import com.panda.system.service.impl.SysSessionServiceImpl;
12 | import org.quartz.*;
13 | import org.springframework.beans.factory.annotation.Autowired;
14 | import org.springframework.context.annotation.Bean;
15 | import org.springframework.context.annotation.Configuration;
16 | import org.springframework.scheduling.quartz.QuartzJobBean;
17 |
18 | import java.text.SimpleDateFormat;
19 | import java.util.Date;
20 | import java.util.LinkedHashMap;
21 | import java.util.List;
22 | import java.util.Map;
23 |
24 | @Configuration
25 | public class QuartzConfig {
26 |
27 | @Autowired
28 | private SysBillServiceImpl sysBillService;
29 |
30 | @Autowired
31 | private SysSessionServiceImpl sysSessionService;
32 |
33 | @Bean
34 | public JobDetail jobDetail() {
35 | QuartzJobBean quartzJob = new QuartzJobBean() {
36 | @Override
37 | protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
38 | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
39 | System.out.println("执行取消超时订单处理" + sdf.format(new Date()));
40 | // 取消所有超时订单并释放占座资源
41 | ApplicationContextUtils.getBean("cancelTimeoutBill");
42 | }
43 | };
44 | return JobBuilder.newJob(quartzJob.getClass()).storeDurably().build();
45 | }
46 |
47 | @Bean
48 | public SimpleTrigger trigger() {
49 | //每5分钟执行一次,一直重复执行
50 | SimpleScheduleBuilder scheduleBuilder =
51 | SimpleScheduleBuilder.simpleSchedule()
52 | .withIntervalInSeconds(5 * 60)
53 | .repeatForever();
54 | return TriggerBuilder.newTrigger()
55 | .forJob(jobDetail())
56 | .withSchedule(scheduleBuilder).build();
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/panda-framework/src/main/java/com/panda/framework/shiro/JwtFilter.java:
--------------------------------------------------------------------------------
1 | package com.panda.framework.shiro;
2 |
3 | import com.panda.common.constant.HttpStatus;
4 | import lombok.extern.slf4j.Slf4j;
5 | import org.apache.shiro.web.filter.authc.BasicHttpAuthenticationFilter;
6 | import org.springframework.stereotype.Component;
7 | import org.springframework.web.bind.annotation.RequestMethod;
8 |
9 | import javax.servlet.Filter;
10 | import javax.servlet.ServletRequest;
11 | import javax.servlet.ServletResponse;
12 | import javax.servlet.http.HttpServletRequest;
13 | import javax.servlet.http.HttpServletResponse;
14 |
15 | /**
16 | * 使用jwt过滤器作为shiro的过滤器
17 | */
18 | @Slf4j
19 | @Component
20 | public class JwtFilter extends BasicHttpAuthenticationFilter implements Filter {
21 |
22 | @Override
23 | protected boolean executeLogin(ServletRequest request, ServletResponse response) throws Exception {
24 | HttpServletRequest httpServletRequest = (HttpServletRequest) request;
25 | String token = httpServletRequest.getHeader("Token");
26 | JwtToken jwtToken = new JwtToken(token);
27 |
28 | //交给realm进行登入
29 | getSubject(request, response).login(jwtToken);
30 | return true;
31 | }
32 |
33 | /**
34 | * 登录认证
35 | *
36 | * @param request
37 | * @param response
38 | * @param mappedValue
39 | * @return
40 | */
41 | @Override
42 | protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue) {
43 | try {
44 | return executeLogin(request, response);
45 | } catch (Exception e) {
46 | log.error("JwtFilter过滤验证失败");
47 | return false;
48 | }
49 | }
50 |
51 | /**
52 | * 处理跨域
53 | *
54 | * @param request
55 | * @param response
56 | * @return
57 | * @throws Exception
58 | */
59 | @Override
60 | protected boolean preHandle(ServletRequest request, ServletResponse response) throws Exception {
61 | HttpServletRequest httpServletRequest = (HttpServletRequest) request;
62 | HttpServletResponse httpServletResponse = (HttpServletResponse) response;
63 | httpServletResponse.setHeader("Access-control-Allow-Origin", httpServletRequest.getHeader("Origin"));
64 | httpServletResponse.setHeader("Access-Control-Allow-Methods", "GET,POST,OPTIONS,PUT,DELETE");
65 | httpServletResponse.setHeader("Access-Control-Allow-Headers", httpServletRequest.getHeader("Access-Control-Request-Headers"));
66 | // 跨域时会首先发送一个option请求, 直接返回正常状态
67 | if (httpServletRequest.getMethod().equals(RequestMethod.OPTIONS.name())) {
68 | httpServletResponse.setStatus(HttpStatus.SUCCESS);
69 | return false;
70 | }
71 | return super.preHandle(request, response);
72 | }
73 |
74 | }
75 |
--------------------------------------------------------------------------------
/panda-framework/src/main/java/com/panda/framework/shiro/JwtToken.java:
--------------------------------------------------------------------------------
1 | package com.panda.framework.shiro;
2 |
3 | import org.apache.shiro.authc.AuthenticationToken;
4 |
5 | /**
6 | * 实现shiro的AuthenticationToken接口的类JwtToken
7 | */
8 | public class JwtToken implements AuthenticationToken {
9 |
10 | private String token;
11 |
12 | public JwtToken(String token) {
13 | this.token = token;
14 | }
15 |
16 | @Override
17 | public Object getPrincipal() {
18 | return token;
19 | }
20 |
21 | @Override
22 | public Object getCredentials() {
23 | return token;
24 | }
25 |
26 | }
27 |
--------------------------------------------------------------------------------
/panda-framework/src/main/java/com/panda/framework/shiro/realms/CustomerRealm.java:
--------------------------------------------------------------------------------
1 | package com.panda.framework.shiro.realms;
2 |
3 | import com.panda.common.utils.JwtUtil;
4 | import com.panda.framework.shiro.JwtToken;
5 | import com.panda.system.domin.SysUser;
6 | import com.panda.system.service.impl.SysUserServiceImpl;
7 | import lombok.extern.slf4j.Slf4j;
8 | import org.apache.shiro.authc.AuthenticationException;
9 | import org.apache.shiro.authc.AuthenticationInfo;
10 | import org.apache.shiro.authc.AuthenticationToken;
11 | import org.apache.shiro.authc.SimpleAuthenticationInfo;
12 | import org.apache.shiro.authz.AuthorizationInfo;
13 | import org.apache.shiro.realm.AuthorizingRealm;
14 | import org.apache.shiro.subject.PrincipalCollection;
15 | import org.springframework.beans.factory.annotation.Autowired;
16 |
17 | /**
18 | * 自定义realm
19 | */
20 | @Slf4j
21 | public class CustomerRealm extends AuthorizingRealm {
22 |
23 | @Autowired
24 | private SysUserServiceImpl sysUserService;
25 |
26 | /**
27 | * 重写此方法避免shiro报错
28 | *
29 | * @param token
30 | * @return
31 | */
32 | @Override
33 | public boolean supports(AuthenticationToken token) {
34 | return token instanceof JwtToken;
35 | }
36 |
37 | //授权
38 | @Override
39 | protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principalCollection) {
40 | return null;
41 | }
42 |
43 | //身份认证
44 | @Override
45 | protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken authenticationToken) throws AuthenticationException {
46 | String token = (String) authenticationToken.getCredentials();
47 | // 解密获得username,用于和数据库进行对比
48 | String username = null;
49 | try {
50 | //这里工具类没有处理空指针等异常这里处理一下(这里处理科学一些)
51 | username = JwtUtil.getUsername(token);
52 | } catch (Exception e) {
53 | throw new AuthenticationException("token拼写错误或者值为空");
54 | }
55 | if (username == null) {
56 | log.error("token无效(空''或者null都不行!)");
57 | throw new AuthenticationException("token无效");
58 | }
59 | SysUser user = sysUserService.findUserByName(username);
60 | if (user == null) {
61 | log.error("用户不存在)");
62 | throw new AuthenticationException("用户不存在");
63 | }
64 | if (!JwtUtil.verify(token, username, user.getPassword())) {
65 | log.error("用户名或密码错误(token无效或者与登录者不匹配)");
66 | throw new AuthenticationException("用户名或密码错误(token无效或者与登录者不匹配)");
67 | }
68 | return new SimpleAuthenticationInfo(token, token, this.getName());
69 | }
70 |
71 | }
72 |
--------------------------------------------------------------------------------
/panda-system/pom.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | 4.0.0
5 |
6 | panda
7 | com.panda
8 | 0.0.1-SNAPSHOT
9 |
10 |
11 | panda-system
12 | panda-system
13 | 系统代码模块
14 |
15 |
16 |
17 | com.panda
18 | panda-common
19 |
20 |
21 | org.projectlombok
22 | lombok
23 |
24 |
25 | javax.validation
26 | validation-api
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/LoginUser.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 当前登录用户
12 | */
13 | @Data
14 | @NoArgsConstructor
15 | @AllArgsConstructor
16 | @ToString
17 | public class LoginUser implements Serializable {
18 | //登录的用户信息
19 | private SysUser sysUser;
20 | //用户管理的影院id
21 | private Long cinemaId;
22 | //用户管理的影院名称
23 | private String cinemaName;
24 |
25 | //系统颁发的token
26 | private String token;
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysBill.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import javax.validation.constraints.NotBlank;
9 | import javax.validation.constraints.NotNull;
10 | import java.io.Serializable;
11 | import java.util.Date;
12 |
13 | /**
14 | * 订单实体类
15 | */
16 | @Data
17 | @NoArgsConstructor
18 | @AllArgsConstructor
19 | @ToString
20 | public class SysBill implements Serializable {
21 |
22 | private static final Long serialVersionUID = 1L;
23 |
24 | private Long billId;
25 |
26 | //订单状态,0表示未支付,1表示已完成
27 | private Boolean payState;
28 |
29 | //下订单的用户id
30 | @NotNull(message = "下订单用户不能为空")
31 | private Long userId;
32 |
33 | //订单所属的场次
34 | @NotNull(message = "订单所属场次不能为空")
35 | private Long sessionId;
36 |
37 | //订单的座位,如:1排10号、A排5号
38 | @NotBlank(message = "订单所选座位不能为空")
39 | private String seats;
40 |
41 | private Boolean cancelState;
42 |
43 | private Boolean cancelRole;
44 |
45 | private Date createTime;
46 |
47 | private Date deadline;
48 |
49 | private Date cancelTime;
50 |
51 | // 用户名作模糊查询条件
52 | private String queryByUserName;
53 |
54 | // 管理员操作识别,及备注内容。管理员操作点单,或添加或修改,必须要填写备注信息,购票子系统不需要填写,并清空
55 | private String remark;
56 | // 删除状态,1:删除,0:未删除
57 | private Boolean delState;
58 |
59 | //多表连接
60 | private SysSession sysSession;
61 |
62 | private SysUser sysUser;
63 |
64 | }
65 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysCinema.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import com.fasterxml.jackson.annotation.JsonFormat;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 | import lombok.ToString;
8 |
9 | import javax.validation.constraints.NotBlank;
10 | import javax.validation.constraints.NotNull;
11 | import java.io.Serializable;
12 | import java.util.List;
13 |
14 |
15 | @AllArgsConstructor
16 | @NoArgsConstructor
17 | @Data
18 | @ToString
19 | public class SysCinema implements Serializable {
20 | private final static Long serialVersionUID = 1L;
21 |
22 | private Long cinemaId;
23 |
24 | @NotBlank(message = "影院名称不能为空")
25 | private String cinemaName;
26 |
27 | private String hallCategoryList;
28 |
29 | private String cinemaPicture;
30 |
31 | private String cinemaAddress;
32 |
33 | private String cinemaPhone;
34 |
35 | @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "HH:mm")
36 | private String workStartTime;
37 |
38 | @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "HH:mm")
39 | private String workEndTime;
40 |
41 | //当前影院上映的所有电影,规则:上映的电影指包括今天在内,未来5天有安排目标影片的场次
42 | private List sysMovieList;
43 |
44 | }
45 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysHall.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import javax.validation.constraints.Max;
9 | import javax.validation.constraints.Min;
10 | import javax.validation.constraints.NotBlank;
11 | import java.io.Serializable;
12 |
13 |
14 | @AllArgsConstructor
15 | @NoArgsConstructor
16 | @Data
17 | @ToString
18 | public class SysHall implements Serializable {
19 | private final static Long serialVersionUID = 1L;
20 |
21 | private Long cinemaId;
22 |
23 | private Long hallId;
24 |
25 | @NotBlank(message = "影厅名称不能为空")
26 | private String hallName;
27 |
28 | private String hallCategory;
29 |
30 | //排开始标号:'1' / 'A' 等
31 | private String rowStart;
32 |
33 | //影厅排数
34 | @Min(value = 3, message = "排数不能小于3")
35 | @Max(value = 50, message = "排数不能大于50")
36 | private Integer rowNums;
37 |
38 | //每排座位数
39 | @Min(value = 3, message = "每排座位数不能小于3")
40 | @Max(value = 50, message = "每排座位数不能大于50")
41 | private Integer seatNumsRow;
42 |
43 | //总可用座位数,可以通过安排座位禁用指定座位
44 | @Min(value = 9, message = "座位数不能小于9")
45 | @Max(value = 2500, message = "座位数不能大于2500")
46 | private Integer seatNums;
47 |
48 | //座位的状态,使用json存储每个座位的状态,0表示可用,2表示禁用(1表示售出,在场次表中统计)
49 | private String seatState;
50 |
51 | private Boolean delState;
52 |
53 | //影厅表的多表连接
54 | private SysCinema sysCinema;
55 |
56 | }
57 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysMovie.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import javax.validation.constraints.NotBlank;
9 | import java.io.Serializable;
10 | import java.util.Date;
11 | import java.util.List;
12 |
13 |
14 | @Data
15 | @NoArgsConstructor
16 | @AllArgsConstructor
17 | @ToString
18 | public class SysMovie implements Serializable {
19 |
20 | private static final long serialVersionUID = 1L;
21 |
22 | private Long movieId;
23 |
24 | //电影名称
25 | @NotBlank(message = "电影名称不能为空")
26 | private String movieName;
27 |
28 | //电影时长
29 | private Integer movieLength;
30 |
31 | //电影海报
32 | private String moviePoster;
33 |
34 | private String movieArea;
35 |
36 | //上映日期
37 | private Date releaseDate;
38 |
39 | //电影总票房
40 | private Double movieBoxOffice;
41 |
42 | //电影简介
43 | private String movieIntroduction;
44 |
45 | //电影图集
46 | private String moviePictures;
47 |
48 | //电影的类别
49 | private List movieCategoryList;
50 |
51 | }
52 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysMovieCategory.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import javax.validation.constraints.NotBlank;
9 | import java.io.Serializable;
10 |
11 |
12 | @NoArgsConstructor
13 | @AllArgsConstructor
14 | @Data
15 | @ToString
16 | public class SysMovieCategory implements Serializable {
17 | //序列号
18 | private static final long serialVersionUID = 1L;
19 | //电影分类id
20 | private Long movieCategoryId;
21 | //电影分类名称
22 | @NotBlank(message = "电影分类名称不能为空")
23 | private String movieCategoryName;
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysMovieToCategory.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 存储电影与电影类别的多对多联系
12 | */
13 | @Data
14 | @AllArgsConstructor
15 | @NoArgsConstructor
16 | @ToString
17 | public class SysMovieToCategory implements Serializable {
18 |
19 | private static final Long serialVersionUID = 1L;
20 |
21 | private Long movieId;
22 |
23 | private Long movieCategoryId;
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysResource.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import javax.validation.constraints.NotBlank;
9 | import java.io.Serializable;
10 | import java.util.List;
11 |
12 |
13 | @Data
14 | @AllArgsConstructor
15 | @NoArgsConstructor
16 | @ToString
17 | public class SysResource implements Serializable {
18 |
19 | private static final Long serialVersionUID = 1L;
20 |
21 | private Long id;
22 |
23 | @NotBlank(message = "菜单名称不能为空")
24 | private String name;
25 |
26 | private String path;
27 |
28 | //菜单权限等级
29 | private Integer level;
30 |
31 | private Long parentId;
32 |
33 | //父菜单
34 | private SysResource parent;
35 |
36 | //子菜单
37 | private List children;
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysRole.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import javax.validation.constraints.NotBlank;
9 | import java.io.Serializable;
10 | import java.util.List;
11 |
12 |
13 | @Data
14 | @AllArgsConstructor
15 | @NoArgsConstructor
16 | @ToString
17 | public class SysRole implements Serializable {
18 |
19 | private static final Long serialVersionUID = 1L;
20 |
21 | private Long roleId;
22 |
23 | //角色名称
24 | @NotBlank(message = "角色名称不能为空")
25 | private String roleName;
26 |
27 | //角色描述
28 | @NotBlank(message = "角色描述不能为空")
29 | private String roleDesc;
30 |
31 |
32 | //角色拥有的权限,分多级权限存储,取名为children方便读取所有权限
33 | private List children;
34 | }
35 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysSession.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import com.fasterxml.jackson.annotation.JsonFormat;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 | import lombok.ToString;
8 |
9 | import javax.validation.constraints.NotBlank;
10 | import javax.validation.constraints.NotNull;
11 | import javax.validation.constraints.Size;
12 | import java.io.Serializable;
13 | import java.time.LocalDate;
14 |
15 | /**
16 | * 场次实体类
17 | */
18 | @Data
19 | @AllArgsConstructor
20 | @NoArgsConstructor
21 | @ToString
22 | public class SysSession implements Serializable {
23 |
24 | private static final Long serialVersionUID = 1L;
25 |
26 | //场次编号
27 | private Long sessionId;
28 |
29 | //影厅编号
30 | @NotNull(message = "场次所在影厅不能为空")
31 | private Long hallId;
32 |
33 | //该场次语言版本
34 | @NotBlank(message = "场次电影语言版本不能为空")
35 | private String languageVersion;
36 |
37 | // 电影编号
38 | @NotNull(message = "场次安排电影不能为空")
39 | private Long movieId;
40 |
41 | @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "HH:mm")
42 | private String playTime;
43 |
44 | @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "HH:mm")
45 | private String endTime;
46 |
47 | // 截止时间,此时间之前不可删不可改电影、影厅信息
48 | private String deadline;
49 |
50 | // 场次日期
51 | @NotNull(message = "场次日期不能为空")
52 | @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
53 | private LocalDate sessionDate;
54 |
55 | // 场次票价
56 | @NotNull(message = "场次票价不能为空")
57 | @Size(min = 0, message = "场次票价不能为负数")
58 | private Double sessionPrice;
59 |
60 | // 场次提示
61 | private String sessionTips;
62 |
63 | // 场次座位信息
64 | @NotBlank(message = "场次座位信息不能为空")
65 | private String sessionSeats;
66 |
67 | private Integer seatNums;
68 |
69 | // 已售座位数
70 | private Integer sallNums;
71 |
72 | private SysHall sysHall;
73 |
74 | private SysMovie sysMovie;
75 | }
76 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/SysUser.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import javax.validation.constraints.Email;
9 | import javax.validation.constraints.NotBlank;
10 | import javax.validation.constraints.Pattern;
11 | import java.io.Serializable;
12 |
13 |
14 | @AllArgsConstructor
15 | @NoArgsConstructor
16 | @Data
17 | @ToString
18 | public class SysUser implements Serializable {
19 | private final static Long serialVersionUID = 1L;
20 | //用户id
21 | private Long userId;
22 | //用户名
23 | @NotBlank(message = "用户名不能为空")
24 | private String userName;
25 | //密码
26 | @NotBlank(message = "密码不能为空")
27 | private String password;
28 | //盐
29 | private String salt;
30 | //邮箱
31 | @Email(message = "邮箱格式有误")
32 | private String email;
33 | //电话号码
34 | @Pattern(regexp = "^1[3|4|5|7|8]\\d{9}$", message = "电话号码格式有错")
35 | private String phoneNumber;
36 | //性别
37 | private Boolean sex;
38 | //用户头像
39 | private String userPicture;
40 | //用户对应的角色id,为简化操作,采用1对1
41 | private Long roleId;
42 |
43 | private String birthday;
44 |
45 | private String autograph;
46 |
47 | //用户的角色
48 | private SysRole sysRole;
49 | }
50 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/vo/SysBillVo.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin.vo;
2 |
3 | import com.panda.system.domin.SysBill;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 接收前端增加订单的数据
12 | */
13 | @Data
14 | @NoArgsConstructor
15 | @AllArgsConstructor
16 | public class SysBillVo implements Serializable {
17 |
18 | //订单信息
19 | private SysBill sysBill;
20 |
21 | //若成功更新后场次的座位信息
22 | private String sessionSeats;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/vo/SysMovieVo.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin.vo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import java.io.Serializable;
9 | import java.util.Date;
10 |
11 | /**
12 | * 封装电影查询的条件
13 | */
14 | @Data
15 | @AllArgsConstructor
16 | @NoArgsConstructor
17 | @ToString
18 | public class SysMovieVo implements Serializable {
19 |
20 | private String movieName;
21 |
22 | private String movieArea;
23 |
24 | private Long movieCategoryId;
25 |
26 | private Date startDate;
27 |
28 | private Date endDate;
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/vo/SysSessionVo.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin.vo;
2 |
3 | import com.fasterxml.jackson.annotation.JsonFormat;
4 | import lombok.AllArgsConstructor;
5 | import lombok.Data;
6 | import lombok.NoArgsConstructor;
7 |
8 | import java.io.Serializable;
9 | import java.time.LocalDate;
10 |
11 |
12 | @NoArgsConstructor
13 | @AllArgsConstructor
14 | @Data
15 | public class SysSessionVo implements Serializable {
16 |
17 | private Long hallId;
18 |
19 | private Long movieId;
20 |
21 | @JsonFormat(locale = "zh", timezone = "GMT+8", pattern = "yyyy-MM-dd")
22 | private LocalDate sessionDate;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/domin/vo/SysUserVo.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.domin.vo;
2 |
3 | import lombok.AllArgsConstructor;
4 | import lombok.Data;
5 | import lombok.NoArgsConstructor;
6 | import lombok.ToString;
7 |
8 | import java.io.Serializable;
9 |
10 | /**
11 | * 封装用户登录输入的信息
12 | */
13 | @Data
14 | @AllArgsConstructor
15 | @NoArgsConstructor
16 | @ToString
17 | public class SysUserVo implements Serializable {
18 |
19 | private String userName;
20 |
21 | private String password;
22 |
23 | }
24 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysBillMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.SysBill;
4 |
5 | import java.util.List;
6 |
7 |
8 | public interface SysBillMapper {
9 |
10 | List findAllBills(SysBill sysBill);
11 |
12 | SysBill findBillById(Long id);
13 |
14 | int addBill(SysBill sysBill);
15 |
16 | int updateBill(SysBill sysBill);
17 |
18 | int deleteBill(Long id);
19 |
20 | List findTimeoutBill();
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysCinemaMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.SysCinema;
4 |
5 | public interface SysCinemaMapper {
6 |
7 | SysCinema findCinema();
8 |
9 | int updateCinema(SysCinema sysCinema);
10 |
11 | // 前台展示单个影院信息,返回包含影院、上映中的所有电影信息
12 | SysCinema findCinemaById(Long id);
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysHallMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.SysHall;
4 |
5 | import java.util.List;
6 |
7 |
8 | public interface SysHallMapper {
9 | List findAllHalls(SysHall sysHall);
10 |
11 | SysHall findHallById(SysHall sysHall);
12 |
13 | int addHall(SysHall sysHall);
14 |
15 | int updateHall(SysHall sysHall);
16 |
17 | int deleteHall(SysHall sysHall);
18 | }
19 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysMovieCategoryMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.SysMovieCategory;
4 | import com.panda.system.domin.SysMovieToCategory;
5 |
6 | import java.util.List;
7 |
8 |
9 | public interface SysMovieCategoryMapper {
10 |
11 | List findAllCategorys();
12 |
13 | SysMovieCategory findCategoryById(Long id);
14 |
15 | List findOneMovieCategorys(Long id);
16 |
17 | int addCategory(SysMovieCategory sysMovieCategory);
18 |
19 | int updateCategory(SysMovieCategory sysMovieCategory);
20 |
21 | int deleteCategory(Long id);
22 |
23 | int addMovieToCategory(SysMovieToCategory sysMovieToCategory);
24 |
25 | int deleteMovieToCategory(SysMovieToCategory sysMovieToCategory);
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysMovieMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.SysMovie;
4 | import com.panda.system.domin.vo.SysMovieVo;
5 |
6 | import java.util.List;
7 |
8 |
9 | public interface SysMovieMapper {
10 |
11 | /**
12 | * 按照传入对象的参数进行条件分页查询
13 | * @param sysMovieVo
14 | * @return
15 | */
16 | List findAllMovies(SysMovieVo sysMovieVo);
17 |
18 | /**
19 | * 根据id查询
20 | * @param id
21 | * @return
22 | */
23 | SysMovie findMovieById(Long id);
24 |
25 | /**
26 | * 查询一个电影的信息,不查询相关的其他等信息
27 | * @param id
28 | * @return
29 | */
30 | SysMovie findOneMovie(Long id);
31 |
32 | int addMovie(SysMovie sysMovie);
33 |
34 | int updateMovie(SysMovie sysMovie);
35 |
36 | int deleteMovie(Long id);
37 |
38 | /**
39 | * 查询影院上映的所有电影
40 | *
41 | * @param id
42 | * @return
43 | */
44 | List findMovieByCinemaId(Long id);
45 |
46 | /**
47 | * 总票房榜
48 | * @return
49 | */
50 | List totalBoxOfficeList();
51 |
52 | /**
53 | * 国内票房榜 已上映的国内电影里,按票房取前10 国内电影 movieArea in (港台+大陆)
54 | * @return
55 | */
56 | List domesticBoxOfficeList();
57 |
58 | /**
59 | * 国外票房榜 已上映的国外电影里,按票房取前10 国外电影 movieArea not in (港台+大陆)
60 | * @return
61 | */
62 | List foreignBoxOfficeList();
63 |
64 | }
65 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysResourceMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.SysResource;
4 |
5 | import java.util.List;
6 |
7 |
8 | public interface SysResourceMapper {
9 |
10 | /**
11 | * 查询所有并包含其父菜单
12 | *
13 | * @return
14 | */
15 | List findAllResources();
16 |
17 | /**
18 | * 查出所有菜单并包含其直接children
19 | *
20 | * @return
21 | */
22 | List findWithChildren();
23 |
24 | /**
25 | * 查询所有按父子关系的权限
26 | *
27 | * @return
28 | */
29 | List findAllWithAllChildren();
30 |
31 | SysResource findResourceById(Long id);
32 |
33 | int addResource(SysResource sysResource);
34 |
35 | int updateResource(SysResource sysResource);
36 |
37 | int deleteResource(Long id);
38 |
39 | }
40 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysRoleMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.SysRole;
4 |
5 | import java.util.List;
6 |
7 |
8 | public interface SysRoleMapper {
9 |
10 | List findAllRoles();
11 |
12 | SysRole findRoleById(Long id);
13 |
14 | int addRole(SysRole sysRole);
15 |
16 | int updateRole(SysRole sysRole);
17 |
18 | int deleteRole(Long id);
19 |
20 | //给当前角色分配权限
21 | int addRight(Long roleId, Long resourceId);
22 |
23 | int deleteRight(Long roleId, Long resourceId);
24 |
25 | //查询指定角色的所有三级权限id
26 | List findAllRights(Long roleId);
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysSessionMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.SysSession;
4 | import com.panda.system.domin.vo.SysSessionVo;
5 |
6 | import java.util.List;
7 |
8 |
9 | public interface SysSessionMapper {
10 |
11 | /**
12 | * 根据条件查询
13 | *
14 | * @param sysSessionVo
15 | * @return
16 | */
17 | List findByVo(SysSessionVo sysSessionVo);
18 |
19 | /**
20 | * 查询一个
21 | *
22 | * @param sysSession
23 | * @return
24 | */
25 | List findSessionByMovieIdOrHallId(SysSession sysSession);
26 |
27 | /**
28 | * 查询一个
29 | *
30 | * @param id
31 | * @return
32 | */
33 | SysSession findSessionById(Long id);
34 |
35 | /**
36 | * 查询一个,不查询相关的信息
37 | *
38 | * @param id
39 | * @return
40 | */
41 | SysSession findOneSession(Long id);
42 |
43 | /**
44 | * 添加
45 | *
46 | * @param sysSession
47 | * @return
48 | */
49 | int addSession(SysSession sysSession);
50 |
51 | /**
52 | * 修改
53 | *
54 | * @param sysSession
55 | * @return
56 | */
57 | int updateSession(SysSession sysSession);
58 |
59 | /**
60 | * 删除
61 | *
62 | * @param id
63 | * @return
64 | */
65 | int deleteSession(Long id);
66 |
67 | /**
68 | * 根据影院id和电影id查询近5天上映的场次信息
69 | *
70 | * @param movieId
71 | * @return
72 | */
73 | List findSessionByMovieId(Long movieId);
74 |
75 | }
76 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/mapper/SysUserMapper.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.mapper;
2 |
3 | import com.panda.system.domin.LoginUser;
4 | import com.panda.system.domin.SysUser;
5 | import com.panda.system.domin.vo.SysUserVo;
6 |
7 | import java.util.List;
8 |
9 |
10 | public interface SysUserMapper {
11 | List findAllUsers(SysUser sysUser);
12 |
13 | SysUser findUserById(Long id);
14 |
15 | /**
16 | * jwt校验
17 | * @param userName
18 | * @return
19 | */
20 | SysUser findUserByName(String userName);
21 |
22 | int addUser(SysUser sysUser);
23 |
24 | int updateUser(SysUser sysUser);
25 |
26 | int deleteUser(Long id);
27 |
28 | LoginUser findLoginUser(SysUserVo sysUserVo);
29 |
30 | /**
31 | * 查出指定名字用户的所有id
32 | *
33 | * @param userName
34 | * @return
35 | */
36 | List checkUserNameUnique(String userName);
37 | }
38 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysBillService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.SysBill;
4 |
5 | import java.util.List;
6 |
7 |
8 | public interface SysBillService {
9 |
10 | List findAllBills(SysBill sysBill);
11 |
12 | SysBill findBillById(Long id);
13 |
14 | Object addBill(SysBill sysBill);
15 |
16 | int updateBill(SysBill sysBill);
17 |
18 | int deleteBill(Long[] ids);
19 |
20 | List findTimeoutBill();
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysCinemaService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.SysCinema;
4 |
5 |
6 | public interface SysCinemaService {
7 |
8 | SysCinema findCinema();
9 |
10 | int updateCinema(SysCinema sysCinema);
11 |
12 | SysCinema findCinemaById(Long id);
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysHallService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.SysHall;
4 |
5 | import java.util.List;
6 |
7 |
8 | public interface SysHallService {
9 | List findAllHalls(SysHall sysHall);
10 |
11 | SysHall findHallById(SysHall sysHall);
12 |
13 | int addHall(SysHall sysHall);
14 |
15 | int updateHall(SysHall sysHall);
16 |
17 | int deleteHall(SysHall[] sysHall);
18 | }
19 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysMovieCategoryService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.SysMovieCategory;
4 | import com.panda.system.domin.SysMovieToCategory;
5 |
6 | import java.util.List;
7 |
8 |
9 | public interface SysMovieCategoryService {
10 | List findAllCategorys();
11 |
12 | SysMovieCategory findCategoryById(Long id);
13 |
14 | int addCategory(SysMovieCategory sysMovieCategory);
15 |
16 | int updateCategory(SysMovieCategory sysMovieCategory);
17 |
18 | int deleteCategory(Long[] ids);
19 |
20 | int addMovieToCategory(SysMovieToCategory sysMovieToCategory);
21 |
22 | int deleteMovieToCategory(SysMovieToCategory sysMovieToCategory);
23 |
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysMovieService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.SysMovie;
4 | import com.panda.system.domin.vo.SysMovieVo;
5 |
6 | import java.util.List;
7 |
8 |
9 | public interface SysMovieService {
10 |
11 | List findAllMovies(SysMovieVo sysMovieVo);
12 |
13 | SysMovie findMovieById(Long id);
14 |
15 | SysMovie findOneMovie(Long id);
16 |
17 | int addMovie(SysMovie sysMovie);
18 |
19 | int updateMovie(SysMovie sysMovie);
20 |
21 | int deleteMovie(Long[] ids);
22 |
23 | //获取单个影院上映的所有电影信息
24 | // List findByCinemaId(Long id);
25 |
26 |
27 | //获取各种榜单
28 | List totalBoxOfficeList();
29 |
30 | List domesticBoxOfficeList();
31 |
32 | List foreignBoxOfficeList();
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysResourceService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.SysResource;
4 |
5 | import java.util.List;
6 |
7 |
8 | public interface SysResourceService {
9 | List findAllResources();
10 |
11 | List findWithChildren();
12 |
13 | List findAllWithAllChildren();
14 |
15 | SysResource findResourceById(Long id);
16 |
17 | int addResource(SysResource sysResource);
18 |
19 | int updateResource(SysResource sysResource);
20 |
21 | int deleteResource(Long[] ids);
22 | }
23 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysRoleService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.SysRole;
4 |
5 | import java.util.List;
6 |
7 |
8 | public interface SysRoleService {
9 | List findAllRoles();
10 |
11 | SysRole findRoleById(Long id);
12 |
13 | int addRole(SysRole sysRole);
14 |
15 | int updateRole(SysRole sysRole);
16 |
17 | int deleteRole(Long[] ids);
18 |
19 | int allotRight(Long roleId, Long[] resourceIds);
20 | }
21 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysSessionService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.SysSession;
4 | import com.panda.system.domin.vo.SysSessionVo;
5 |
6 | import java.util.List;
7 |
8 |
9 | public interface SysSessionService {
10 |
11 | List findByVo(SysSessionVo sysSessionVo);
12 |
13 | List findSessionByMovieIdOrHallId(SysSession sysSession);
14 |
15 | SysSession findSessionById(Long id);
16 |
17 | SysSession findOneSession(Long id);
18 |
19 | int addSession(SysSession sysSession);
20 |
21 | int updateSession(SysSession sysSession);
22 |
23 | int deleteSession(Long[] id);
24 |
25 | List findSessionByMovieId(Long movieId);
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/SysUserService.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service;
2 |
3 | import com.panda.system.domin.LoginUser;
4 | import com.panda.system.domin.SysUser;
5 | import com.panda.system.domin.vo.SysUserVo;
6 |
7 | import java.util.List;
8 |
9 |
10 | public interface SysUserService {
11 | List findAllUsers(SysUser sysUser);
12 |
13 | SysUser findUserById(Long id);
14 |
15 | SysUser findUserByName(String userName);
16 |
17 | int addUser(SysUser sysUser);
18 |
19 | int updateUser(SysUser sysUser);
20 |
21 | int deleteUser(Long[] ids);
22 |
23 | LoginUser login(SysUserVo sysUserVo);
24 |
25 | LoginUser findLoginUser(SysUserVo sysUserVo);
26 |
27 | boolean isUserNameUnique(String userName, Long userId);
28 | }
29 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/impl/SysBillServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service.impl;
2 |
3 | import com.panda.system.domin.SysBill;
4 | import com.panda.system.mapper.SysBillMapper;
5 | import com.panda.system.service.SysBillService;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Service;
8 |
9 | import java.util.List;
10 |
11 |
12 | @Service
13 | public class SysBillServiceImpl implements SysBillService {
14 |
15 | @Autowired
16 | private SysBillMapper sysBillMapper;
17 |
18 | @Override
19 | public List findAllBills(SysBill sysBill) {
20 | return sysBillMapper.findAllBills(sysBill);
21 | }
22 |
23 | @Override
24 | public SysBill findBillById(Long id) {
25 | return sysBillMapper.findBillById(id);
26 | }
27 |
28 | @Override
29 | public Object addBill(SysBill sysBill) {
30 | int rows = sysBillMapper.addBill(sysBill);
31 | return rows > 0 ? sysBill : rows;
32 | }
33 |
34 | @Override
35 | public int updateBill(SysBill sysBill) {
36 | return sysBillMapper.updateBill(sysBill);
37 | }
38 |
39 | @Override
40 | public int deleteBill(Long[] ids) {
41 | int rows = 0;
42 | for (Long id : ids) {
43 | rows += sysBillMapper.deleteBill(id);
44 | }
45 | return rows;
46 | }
47 |
48 | @Override
49 | public List findTimeoutBill() {
50 | return sysBillMapper.findTimeoutBill();
51 | }
52 |
53 | }
54 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/impl/SysCinemaServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service.impl;
2 |
3 | import com.panda.system.domin.SysCinema;
4 | import com.panda.system.mapper.SysCinemaMapper;
5 | import com.panda.system.service.SysCinemaService;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Service;
8 |
9 |
10 | @Service
11 | public class SysCinemaServiceImpl implements SysCinemaService {
12 |
13 | @Autowired
14 | private SysCinemaMapper sysCinemaMapper;
15 |
16 | @Override
17 | public SysCinema findCinema() {
18 | return sysCinemaMapper.findCinema();
19 | }
20 |
21 | @Override
22 | public int updateCinema(SysCinema sysCinema) {
23 | return sysCinemaMapper.updateCinema(sysCinema);
24 | }
25 |
26 | @Override
27 | public SysCinema findCinemaById(Long id) {
28 | return sysCinemaMapper.findCinemaById(id);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/impl/SysHallServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service.impl;
2 |
3 | import com.panda.system.domin.SysHall;
4 | import com.panda.system.mapper.SysHallMapper;
5 | import com.panda.system.service.SysHallService;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Service;
8 |
9 | import java.util.List;
10 |
11 |
12 | @Service
13 | public class SysHallServiceImpl implements SysHallService {
14 |
15 | @Autowired
16 | private SysHallMapper sysHallMapper;
17 |
18 | @Override
19 | public List findAllHalls(SysHall sysHall) {
20 | return sysHallMapper.findAllHalls(sysHall);
21 | }
22 |
23 | @Override
24 | public SysHall findHallById(SysHall sysHall) {
25 | return sysHallMapper.findHallById(sysHall);
26 | }
27 |
28 | @Override
29 | public int addHall(SysHall sysHall) {
30 | return sysHallMapper.addHall(sysHall);
31 | }
32 |
33 | @Override
34 | public int updateHall(SysHall sysHall) {
35 | return sysHallMapper.updateHall(sysHall);
36 | }
37 |
38 | @Override
39 | public int deleteHall(SysHall[] sysHalls) {
40 | int rows = 0;
41 | for (SysHall sysHall : sysHalls) {
42 | rows += sysHallMapper.deleteHall(sysHall);
43 | }
44 | return rows;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/impl/SysMovieCategoryServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service.impl;
2 |
3 | import com.panda.system.domin.SysMovieCategory;
4 | import com.panda.system.domin.SysMovieToCategory;
5 | import com.panda.system.mapper.SysMovieCategoryMapper;
6 | import com.panda.system.service.SysMovieCategoryService;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.stereotype.Service;
9 |
10 | import java.util.List;
11 |
12 |
13 | @Service
14 | public class SysMovieCategoryServiceImpl implements SysMovieCategoryService {
15 |
16 | @Autowired
17 | private SysMovieCategoryMapper sysMovieCategoryMapper;
18 |
19 | @Override
20 | public List findAllCategorys() {
21 | return sysMovieCategoryMapper.findAllCategorys();
22 | }
23 |
24 | @Override
25 | public SysMovieCategory findCategoryById(Long id) {
26 | return sysMovieCategoryMapper.findCategoryById(id);
27 | }
28 |
29 | @Override
30 | public int addCategory(SysMovieCategory sysMovieCategory) {
31 | return sysMovieCategoryMapper.addCategory(sysMovieCategory);
32 | }
33 |
34 | @Override
35 | public int updateCategory(SysMovieCategory sysMovieCategory) {
36 | return sysMovieCategoryMapper.updateCategory(sysMovieCategory);
37 | }
38 |
39 | @Override
40 | public int deleteCategory(Long[] ids) {
41 | int rows = 0;
42 | for (Long id : ids) {
43 | rows += sysMovieCategoryMapper.deleteCategory(id);
44 | }
45 | return rows;
46 | }
47 |
48 |
49 | @Override
50 | public int addMovieToCategory(SysMovieToCategory sysMovieToCategory) {
51 | return sysMovieCategoryMapper.addMovieToCategory(sysMovieToCategory);
52 | }
53 |
54 | @Override
55 | public int deleteMovieToCategory(SysMovieToCategory sysMovieToCategory) {
56 | return sysMovieCategoryMapper.deleteMovieToCategory(sysMovieToCategory);
57 | }
58 |
59 | }
60 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/impl/SysMovieServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service.impl;
2 |
3 | import com.panda.system.domin.SysMovie;
4 | import com.panda.system.domin.vo.SysMovieVo;
5 | import com.panda.system.mapper.SysMovieMapper;
6 | import com.panda.system.service.SysMovieService;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.stereotype.Service;
9 |
10 | import java.util.List;
11 |
12 |
13 | @Service
14 | public class SysMovieServiceImpl implements SysMovieService {
15 |
16 | @Autowired
17 | private SysMovieMapper sysMovieMapper;
18 |
19 | @Override
20 | public List findAllMovies(SysMovieVo sysMovieVo) {
21 | return sysMovieMapper.findAllMovies(sysMovieVo);
22 | }
23 |
24 | @Override
25 | public SysMovie findMovieById(Long id) {
26 | return sysMovieMapper.findMovieById(id);
27 | }
28 |
29 | @Override
30 | public SysMovie findOneMovie(Long id) {
31 | return sysMovieMapper.findOneMovie(id);
32 | }
33 |
34 | @Override
35 | public int addMovie(SysMovie sysMovie) {
36 | return sysMovieMapper.addMovie(sysMovie);
37 | }
38 |
39 | @Override
40 | public int updateMovie(SysMovie sysMovie) {
41 | return sysMovieMapper.updateMovie(sysMovie);
42 | }
43 |
44 | @Override
45 | public int deleteMovie(Long[] ids) {
46 | int rows = 0;
47 | for (Long id : ids) {
48 | rows += sysMovieMapper.deleteMovie(id);
49 | }
50 | return rows;
51 | }
52 |
53 | // @Override
54 | // public List findByCinemaId(Long id) {
55 | // return sysMovieMapper.findByCinemaId(id);
56 | // }
57 |
58 | /**
59 | * 总票房榜
60 | *
61 | * @return
62 | */
63 | @Override
64 | public List totalBoxOfficeList() {
65 | return sysMovieMapper.totalBoxOfficeList();
66 | }
67 |
68 | /**
69 | * 国内票房榜 已上映的国内电影里,按票房取前10 国内电影 movieArea in (港台+大陆)
70 | *
71 | * @return
72 | */
73 | @Override
74 | public List domesticBoxOfficeList() {
75 | return sysMovieMapper.domesticBoxOfficeList();
76 | }
77 |
78 | /**
79 | * 国外票房榜 已上映的国外电影里,按票房取前10 国外电影 movieArea not in (港台+大陆)
80 | *
81 | * @return
82 | */
83 | @Override
84 | public List foreignBoxOfficeList() {
85 | return sysMovieMapper.foreignBoxOfficeList();
86 | }
87 |
88 | }
89 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/impl/SysResourceServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service.impl;
2 |
3 | import com.panda.system.domin.SysResource;
4 | import com.panda.system.mapper.SysResourceMapper;
5 | import com.panda.system.service.SysResourceService;
6 | import lombok.extern.slf4j.Slf4j;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.stereotype.Service;
9 |
10 | import java.util.List;
11 |
12 |
13 | @Slf4j
14 | @Service
15 | public class SysResourceServiceImpl implements SysResourceService {
16 |
17 | @Autowired
18 | private SysResourceMapper sysResourceMapper;
19 |
20 | @Override
21 | public List findAllResources() {
22 | return sysResourceMapper.findAllResources();
23 | }
24 |
25 | @Override
26 | public List findWithChildren() {
27 | return sysResourceMapper.findWithChildren();
28 | }
29 |
30 | @Override
31 | public List findAllWithAllChildren() {
32 | return sysResourceMapper.findAllWithAllChildren();
33 | }
34 |
35 | @Override
36 | public SysResource findResourceById(Long id) {
37 | return sysResourceMapper.findResourceById(id);
38 | }
39 |
40 | @Override
41 | public int addResource(SysResource sysResource) {
42 | if (sysResource.getParentId() == 0) {
43 | sysResource.setLevel(1);
44 | } else {
45 | SysResource parent = this.findResourceById(sysResource.getParentId());
46 | if (parent != null) {
47 | sysResource.setLevel(parent.getLevel() + 1);
48 | }
49 | }
50 | return sysResourceMapper.addResource(sysResource);
51 | }
52 |
53 | @Override
54 | public int updateResource(SysResource sysResource) {
55 | if (sysResource.getParentId() == 0) {
56 | sysResource.setLevel(1);
57 | } else {
58 | SysResource parent = this.findResourceById(sysResource.getParentId());
59 | if (parent != null) {
60 | sysResource.setLevel(parent.getLevel() + 1);
61 | }
62 | }
63 | log.debug(sysResource.toString());
64 | return sysResourceMapper.updateResource(sysResource);
65 | }
66 |
67 | @Override
68 | public int deleteResource(Long[] ids) {
69 | int rows = 0;
70 | for (Long id : ids) {
71 | rows += sysResourceMapper.deleteResource(id);
72 | }
73 | return rows;
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/impl/SysRoleServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service.impl;
2 |
3 | import com.panda.system.domin.SysRole;
4 | import com.panda.system.mapper.SysRoleMapper;
5 | import com.panda.system.service.SysRoleService;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Service;
8 |
9 | import java.util.HashSet;
10 | import java.util.List;
11 |
12 |
13 | @Service
14 | public class SysRoleServiceImpl implements SysRoleService {
15 |
16 | @Autowired
17 | private SysRoleMapper sysRoleMapper;
18 |
19 | @Override
20 | public List findAllRoles() {
21 | return sysRoleMapper.findAllRoles();
22 | }
23 |
24 | @Override
25 | public SysRole findRoleById(Long id) {
26 | return sysRoleMapper.findRoleById(id);
27 | }
28 |
29 | @Override
30 | public int addRole(SysRole sysRole) {
31 | return sysRoleMapper.addRole(sysRole);
32 | }
33 |
34 | @Override
35 | public int updateRole(SysRole sysRole) {
36 | return sysRoleMapper.updateRole(sysRole);
37 | }
38 |
39 | @Override
40 | public int deleteRole(Long[] ids) {
41 | int rows = 0;
42 | for (Long id : ids) {
43 | rows += sysRoleMapper.deleteRole(id);
44 | }
45 | return rows;
46 | }
47 |
48 | @Override
49 | public int allotRight(Long roleId, Long[] keys) {
50 | int rows = 0;
51 | HashSet originResources = new HashSet<>(sysRoleMapper.findAllRights(roleId));
52 |
53 | for (Long id : keys) {
54 | if (originResources.contains(id)) {
55 | originResources.remove(id);
56 | } else {
57 | rows += sysRoleMapper.addRight(roleId, id);
58 | }
59 | }
60 | for (Long id : originResources) {
61 | rows += sysRoleMapper.deleteRight(roleId, id);
62 | }
63 | return rows;
64 | }
65 | }
66 |
--------------------------------------------------------------------------------
/panda-system/src/main/java/com/panda/system/service/impl/SysSessionServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.panda.system.service.impl;
2 |
3 | import com.panda.system.domin.SysSession;
4 | import com.panda.system.domin.vo.SysSessionVo;
5 | import com.panda.system.mapper.SysSessionMapper;
6 | import com.panda.system.service.SysSessionService;
7 | import org.springframework.beans.factory.annotation.Autowired;
8 | import org.springframework.stereotype.Service;
9 |
10 | import java.util.List;
11 |
12 |
13 | @Service
14 | public class SysSessionServiceImpl implements SysSessionService {
15 |
16 | @Autowired
17 | private SysSessionMapper sysSessionMapper;
18 |
19 | @Override
20 | public List findByVo(SysSessionVo sysSessionVo) {
21 | return sysSessionMapper.findByVo(sysSessionVo);
22 | }
23 |
24 | @Override
25 | public List findSessionByMovieIdOrHallId(SysSession sysSession) {
26 | return sysSessionMapper.findSessionByMovieIdOrHallId(sysSession);
27 | }
28 |
29 | @Override
30 | public SysSession findSessionById(Long id) {
31 | return sysSessionMapper.findSessionById(id);
32 | }
33 |
34 | @Override
35 | public SysSession findOneSession(Long id) {
36 | return sysSessionMapper.findOneSession(id);
37 | }
38 |
39 | @Override
40 | public int addSession(SysSession sysSession) {
41 | return sysSessionMapper.addSession(sysSession);
42 | }
43 |
44 | @Override
45 | public int updateSession(SysSession sysSession) {
46 | return sysSessionMapper.updateSession(sysSession);
47 | }
48 |
49 | @Override
50 | public int deleteSession(Long[] ids) {
51 | int rows = 0;
52 | for (Long id : ids) {
53 | rows += sysSessionMapper.deleteSession(id);
54 | }
55 | return rows;
56 | }
57 |
58 | @Override
59 | public List findSessionByMovieId(Long movieId) {
60 | return sysSessionMapper.findSessionByMovieId(movieId);
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/panda-system/src/main/resources/mapper/SysCinemaMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
23 |
24 |
25 | update sys_cinema set
26 | cinema_name = #{cinemaName}, cinema_picture = #{cinemaPicture},
27 | cinema_address = #{cinemaAddress}, cinema_phone = #{cinemaPhone},
28 | work_start_time = #{workStartTime}, work_end_time = #{workEndTime},
29 | hall_category_list = #{hallCategoryList}
30 | where cinema_id = #{cinemaId}
31 |
32 |
33 |
36 |
37 |
--------------------------------------------------------------------------------
/panda-system/src/main/resources/mapper/SysHallMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
25 |
26 |
29 |
30 |
31 | insert into sys_hall
32 | (hall_name, hall_category, row_start, row_nums, seat_nums_row, seat_nums, seat_state)
33 | values
34 | (#{hallName}, #{hallCategory},
35 | #{rowStart}, #{rowNums}, #{seatNumsRow}, #{seatNums}, #{seatState})
36 |
37 |
38 |
39 | update sys_hall set
40 | hall_name = #{hallName},
41 | hall_category = #{hallCategory},
42 | row_start = #{rowStart},
43 | row_nums = #{rowNums},
44 | seat_nums_row = #{seatNumsRow},
45 | seat_nums = #{seatNums},
46 | seat_state = #{seatState}
47 | where hall_id = #{hallId}
48 |
49 |
50 |
51 | update sys_hall set del_state = 1 where hall_id = #{hallId}
52 |
53 |
54 |
--------------------------------------------------------------------------------
/panda-system/src/main/resources/mapper/SysMovieCategoryMapper.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
9 |
10 |
13 |
14 |
18 |
19 |
20 | insert into sys_movie_category(movie_category_name) values(#{movieCategoryName})
21 |
22 |
23 |
24 | update sys_movie_category set movie_category_name = #{movieCategoryName} where movie_category_id = #{movieCategoryId}
25 |
26 |
27 |
28 | delete from sys_movie_category where movie_category_id = #{movieCategoryId}
29 |
30 |
31 |
32 | insert into sys_movie_to_category values(#{movieId}, #{movieCategoryId})
33 |
34 |
35 |
36 | delete from sys_movie_to_category where movie_id = #{movieId} and movie_category_id = #{movieCategoryId}
37 |
38 |
39 |
--------------------------------------------------------------------------------
/panda-ui/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/panda-ui/.editorconfig:
--------------------------------------------------------------------------------
1 |
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
--------------------------------------------------------------------------------
/panda-ui/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/panda-ui/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/panda-ui/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "panda-ui",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build"
8 | },
9 | "dependencies": {
10 | "core-js": "^3.6.5",
11 | "crypto-js": "^4.0.0",
12 | "element-ui": "^2.4.5",
13 | "moment": "^2.29.1",
14 | "nprogress": "^0.2.0",
15 | "vue": "^2.6.11",
16 | "vue-resource": "^1.5.1",
17 | "vue-router": "^3.2.0",
18 | "vuex": "^3.4.0"
19 | },
20 | "devDependencies": {
21 | "@vue/cli-plugin-babel": "^4.5.0",
22 | "@vue/cli-service": "^4.5.0",
23 | "axios": "^0.18.1",
24 | "echarts": "^5.1.1",
25 | "node-sass": "^4.9.2",
26 | "sass-loader": "^7.0.3",
27 | "vue-cli-plugin-axios": "0.0.4",
28 | "vue-cli-plugin-element": "^1.0.1",
29 | "vue-template-compiler": "^2.6.11"
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/panda-ui/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-ui/public/favicon.ico
--------------------------------------------------------------------------------
/panda-ui/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/panda-ui/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
18 |
19 |
28 |
--------------------------------------------------------------------------------
/panda-ui/src/assets/404images/bg_purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-ui/src/assets/404images/bg_purple.png
--------------------------------------------------------------------------------
/panda-ui/src/assets/404images/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/panda-ui/src/assets/404images/rocket.svg:
--------------------------------------------------------------------------------
1 |
5 |
6 |
--------------------------------------------------------------------------------
/panda-ui/src/assets/css/fonts/iconfont.css:
--------------------------------------------------------------------------------
1 | @font-face {font-family: "iconfont";
2 | src: url('iconfont.eot?t=1607409819552'); /* IE9 */
3 | src: url('iconfont.eot?t=1607409819552#iefix') format('embedded-opentype'), /* IE6-IE8 */
4 | url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMMAAsAAAAABuAAAALAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqBSIFYATYCJAMMCwgABCAFhG0HNRsdBhEVlDlkH0pQAE4AmBGSSIIGggEAAACAeIDW/f+Z3bn3Af5wpNDEaDaohF8ZhegsHM1pCYzoCRWSdWXPOnCf8OWhpMq2ylYp2vyEnJyeAZfT/9ocyDzLcptj8JiACQa6B0ZRogWUIDeMXeAS7hOQr1kPYeToiTPliqxlAWHjujXL5OaiosgKuYJszd4onJCRmxxMHis4Hn4/fGGFXBKZlLV26upRKw19n/dhQ7r//9FCnxAjgIczSNEDkbC4NjtXKjBOKl8b2yuzoiCZK/H/P6FUV2ftPzwSgZBl1ReCLiiX8L7pikj4EMvv+pEUZBExEPMRvfI9iSS3trB0TVE48OzQE3ay/1ar+NCdYnrgbrsgHHh++KlCweHb/vPnq2fPlk+ezJ8+XeQH57j6dE7B0+ed4rNnk/sds4GzZu1wWga+ujau5n91R5ddM66kPFt37tw3XBturqj+9+MwJixeGEaF0b5pTLBLliw02ii47mzf+4Kwa3uYX1S+q3iBTKldJWVFYX7RZylrYdoh7QNpu+TRT/6Nv22Hl5QM/JpbEMHrv97l0Br1z+VKYLJfKus5FHWFZUujKnWlpj/VOtKdABvy8Z8VLPduvLHqtt1Bbk7GkMjRhFSuDmSk90BGgZ7IymUdgnzdTQ4XqCCUhZiHbm4AQakHEsXuIVXqSUb6DzKq/SKrNJSRb3aoOLNApxC2Rgi0FXrg7CF0KWOOQ7Wixin668QWWUXIXaKQYQJMzSgWJpihmGOD3PiWUgyYoBTG4DFMEoJcUISu0gKl8q6us7oXaS6lhZYRBGRTkAc49kDIRTLMn6y0Sp+fQr61hE20tNXEl5AghdMDk8boQU60Wa+2e3lG2vBZFIUBjEBSYAxmoUSCgLx+VgS5FE0wIp3r0u1xrK9WW1+ffkAJ68K6Kg1JSEMUN5IbV7ZIFIUC') format('woff2'),
5 | url('iconfont.woff?t=1607409819552') format('woff'),
6 | url('iconfont.ttf?t=1607409819552') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
7 | url('iconfont.svg?t=1607409819552#iconfont') format('svg'); /* iOS 4.1- */
8 | }
9 |
10 | .iconfont {
11 | font-family: "iconfont" !important;
12 | font-size: 16px;
13 | font-style: normal;
14 | -webkit-font-smoothing: antialiased;
15 | -moz-osx-font-smoothing: grayscale;
16 | }
17 |
18 | .icon-lock:before {
19 | content: "\e76b";
20 | }
21 |
22 | .icon-user:before {
23 | content: "\e609";
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/panda-ui/src/assets/css/fonts/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-ui/src/assets/css/fonts/iconfont.eot
--------------------------------------------------------------------------------
/panda-ui/src/assets/css/fonts/iconfont.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
33 |
--------------------------------------------------------------------------------
/panda-ui/src/assets/css/fonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-ui/src/assets/css/fonts/iconfont.ttf
--------------------------------------------------------------------------------
/panda-ui/src/assets/css/fonts/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-ui/src/assets/css/fonts/iconfont.woff
--------------------------------------------------------------------------------
/panda-ui/src/assets/css/global.css:
--------------------------------------------------------------------------------
1 | /*全局样式*/
2 |
3 | html, body, #app{
4 | padding: 0px;
5 | margin: 0px;
6 | height: 100%;
7 | }
8 |
9 | .el-breadcrumb{
10 | margin: 15px 0 10px 15px;
11 | /*margin-bottom: 15px;*/
12 | font-size: 10px;
13 | }
14 |
15 | .el-card{
16 | box-shadow: 0 1px 1px rgba(0,0,0,0.15) !important;
17 | border-top: gray solid 0;
18 | border-radius: 0px !important;
19 | }
20 |
21 | .board{
22 | margin-top: 0px;
23 | border-bottom: gray solid 0;
24 | background-color: white;
25 | padding: 5px 5px;
26 | }
27 |
28 | .el-table{
29 | margin-top: 15px;
30 | font-size: 40px;
31 | }
32 |
33 | .el-pagination {
34 | margin-top: 15px;
35 | }
--------------------------------------------------------------------------------
/panda-ui/src/assets/js/permission.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | /**权限指令**/
3 | const has = Vue.directive('has', {
4 | // 当被绑定的元素插入到 DOM 中时……
5 | inserted: function (el, binding, vnode) {
6 | let btnPermission = '';
7 | // 获取路由按钮权限,路由的js文件中配置,是操作所需要的权限
8 | btnPermission = vnode.context.$route.meta.btnPermission;
9 | if (!Vue.prototype.$_has(btnPermission)) {
10 | console.log("not have this permission");
11 | el.remove()
12 | }
13 | }
14 | });
15 | // 权限检查方法
16 | Vue.prototype.$_has = function (value) {
17 | let btnPermission = sessionStorage.getItem("btnPermission");
18 | if (btnPermission == undefined || btnPermission == null) {
19 | return false;
20 | }
21 | // value 是路由中所需要的权限,btnPermission是实际拥有的权限,在Login.vue登录时授权
22 | // console.log(value + " === test === " + btnPermission)
23 | let res = value == btnPermission
24 | if(res) return true
25 | return false
26 | };
27 |
28 | export {has}
--------------------------------------------------------------------------------
/panda-ui/src/assets/login-background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-ui/src/assets/login-background.jpg
--------------------------------------------------------------------------------
/panda-ui/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-ui/src/assets/logo.png
--------------------------------------------------------------------------------
/panda-ui/src/assets/welcome.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-ui/src/assets/welcome.jpg
--------------------------------------------------------------------------------
/panda-ui/src/components/global_variable.vue:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/panda-ui/src/element-variables.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Write your variables here. All available variables can be
3 | found in element-ui/packages/theme-chalk/src/common/var.scss.
4 | For example, to overwrite the theme color:
5 | */
6 | $--color-primary: #409EFF;
7 |
8 | /* icon font path, required */
9 | $--font-path: '~element-ui/lib/theme-chalk/fonts';
10 |
11 | @import "~element-ui/packages/theme-chalk/src/index";
12 |
--------------------------------------------------------------------------------
/panda-ui/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import './plugins/axios'
3 | import App from './App.vue'
4 | import router from './router'
5 | import store from './store'
6 | import './plugins/element.js'
7 | // 导入字体图标
8 | import './assets/css/fonts/iconfont.css'
9 | import {Message} from 'element-ui'
10 | import has from './assets/js/permission'
11 | import global_variable from "@/components/global_variable";
12 | // import echarts from 'echarts'
13 | // Vue.prototype.$echarts = echarts
14 |
15 | Vue.prototype.global = global_variable
16 |
17 | axios.defaults.baseURL = 'http://127.0.0.1:8181/'
18 | axios.interceptors.request.use(config => {
19 | config.headers.Token = window.sessionStorage.getItem('token')
20 | return config
21 | })
22 |
23 | // 状态码错误信息
24 | const codeMessage = {
25 | 401: '用户没有权限,请登录',
26 | 403: '用户没有权限,请联系管理员',
27 | 404: '访问的资源不存在',
28 | 406: '请求的格式不可得',
29 | 410: '请求的资源被永久删除,且不会再得到的',
30 | 422: '当创建一个对象时,发生一个验证错误',
31 | 500: '服务器发生错误,请检查服务器',
32 | 502: '网关错误',
33 | 503: '服务不可用,服务器暂时过载或维护',
34 | 504: '网关超时'
35 | };
36 |
37 | axios.interceptors.response.use(response => {
38 | return response
39 | }, error => {
40 | if(error){
41 | if(!error.response){
42 | return console.log('Error', error.message);
43 | }
44 | //获取状态码
45 | const status = error.response.status;
46 | const errortext = codeMessage[status] || error.response.statusText;
47 |
48 | //提示错误信息
49 | Message.error(errortext)
50 |
51 | // 错误状态处理
52 | if (status === 401) {
53 | router.push('/login')
54 | } else if (status === 403) {
55 | router.push('/login')
56 | } else if (status >= 404 && status < 422) {
57 | router.push('/404')
58 | }
59 | }
60 | return Promise.reject(error)
61 | })
62 |
63 | Vue.config.productionTip = false
64 |
65 | new Vue({
66 | router,
67 | store,
68 | render: h => h(App)
69 | }).$mount('#app')
70 |
--------------------------------------------------------------------------------
/panda-ui/src/plugins/axios.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | import Vue from 'vue';
4 | import axios from "axios";
5 |
6 | // Full config: https://github.com/axios/axios#request-config
7 | // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
8 | // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
9 | // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
10 |
11 | let config = {
12 | // baseURL: process.env.baseURL || process.env.apiUrl || ""
13 | // timeout: 60 * 1000, // Timeout
14 | // withCredentials: true, // Check cross-site Access-Control
15 | };
16 |
17 | const _axios = axios.create(config);
18 |
19 | _axios.interceptors.request.use(
20 | function(config) {
21 | // Do something before request is sent
22 | return config;
23 | },
24 | function(error) {
25 | // Do something with request error
26 | return Promise.reject(error);
27 | }
28 | );
29 |
30 | // Add a response interceptor
31 | _axios.interceptors.response.use(
32 | function(response) {
33 | // Do something with response data
34 | return response;
35 | },
36 | function(error) {
37 | // Do something with response error
38 | return Promise.reject(error);
39 | }
40 | );
41 |
42 | Plugin.install = function(Vue, options) {
43 | Vue.axios = _axios;
44 | window.axios = _axios;
45 | Object.defineProperties(Vue.prototype, {
46 | axios: {
47 | get() {
48 | return _axios;
49 | }
50 | },
51 | $axios: {
52 | get() {
53 | return _axios;
54 | }
55 | },
56 | });
57 | };
58 |
59 | Vue.use(Plugin)
60 |
61 | export default Plugin;
62 |
--------------------------------------------------------------------------------
/panda-ui/src/plugins/element.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Element from 'element-ui'
3 | import '../element-variables.scss'
4 |
5 | Vue.use(Element)
6 |
--------------------------------------------------------------------------------
/panda-ui/src/router/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import VueRouter from 'vue-router'
3 | import { Message }from 'element-ui'
4 | import NProgress from 'nprogress'
5 | import 'nprogress/nprogress.css'
6 |
7 | import Login from '../views/Login';
8 | import Welcome from "../views/Welcome";
9 | import Home from '../views/Home.vue';
10 | import CinemaInfo from "../views/cinema/CinemaInfo";
11 | import MovieInfo from "../views/movie/MovieInfo";
12 | import MovieCategory from "../views/movie/MovieCategory";
13 | import HallInfo from "../views/hall/HallInfo";
14 | import SessionInfo from "../views/hall/SessionInfo";
15 | import BillInfo from "../views/bill/BillInfo";
16 | import UserInfo from "../views/user/UserInfo";
17 | import RoleInfo from "../views/role/RoleInfo";
18 | import ResourceInfo from "../views/role/ResourceInfo";
19 | import Error404 from "../views/Error404";
20 |
21 | Vue.use(VueRouter)
22 |
23 | const routes = [
24 | {
25 | path: '/',
26 | component: Login,
27 | redirect: '/login'
28 | },
29 | {
30 | path: '/login',
31 | component: Login
32 | },
33 | {
34 | path: '/home',
35 | component: Home,
36 | redirect: '/welcome',
37 | children: [
38 | { path: '/welcome', component: Welcome },
39 | { path: '/cinema', component: CinemaInfo},
40 | { path: '/movie', component: MovieInfo},
41 | { path: '/movieCategory', component: MovieCategory},
42 | { path: '/hall', component: HallInfo},
43 | { path: '/session', component: SessionInfo},
44 | { path: '/user', component: UserInfo},
45 | { path: '/bill', component: BillInfo},
46 | { path: '/role', component: RoleInfo},
47 | { path: '/resource', component: ResourceInfo}
48 | ]
49 | },
50 | {
51 | path: '/*',
52 | component: Error404
53 | }
54 | ]
55 |
56 | const router = new VueRouter({
57 | routes,
58 | mode: 'history',
59 | })
60 |
61 | //挂载路由导航守卫
62 | router.beforeEach((to, from, next) =>{
63 | //to 将要访问的路径
64 | //from 从哪个页面来
65 | //next 一个放行函数
66 |
67 | if(to.path === '/login' || to.path === '/404') return next();
68 |
69 | //顶部进度条
70 | NProgress.start()
71 | //获取token
72 | const token = window.sessionStorage.getItem("token")
73 | if(!token){
74 | Message.error('抱歉,请先登录')
75 | return next('/login');
76 | }
77 | next();
78 | })
79 |
80 | router.afterEach(() => {
81 | NProgress.done()
82 | })
83 |
84 | const originalPush = VueRouter.prototype.push
85 | VueRouter.prototype.push = function push(location){
86 | return originalPush.call(this, location).catch(err => err)
87 | }
88 |
89 |
90 | export default router
91 |
--------------------------------------------------------------------------------
/panda-ui/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | Vue.use(Vuex)
5 |
6 | export default new Vuex.Store({
7 | state: {
8 | },
9 | mutations: {
10 | },
11 | actions: {
12 | },
13 | modules: {
14 | }
15 | })
16 |
--------------------------------------------------------------------------------
/panda-ui/src/views/Welcome.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
10 |
11 |
--------------------------------------------------------------------------------
/panda-ui/vue.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | devServer: {
3 | port: 8888
4 | },
5 | publicPath:process.env.NODE_ENV === 'production' ? '/panda-ui' : '/'
6 | }
7 |
--------------------------------------------------------------------------------
/panda-user/.browserslistrc:
--------------------------------------------------------------------------------
1 | > 1%
2 | last 2 versions
3 | not dead
4 |
--------------------------------------------------------------------------------
/panda-user/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /dist
4 |
5 |
6 | # local env files
7 | .env.local
8 | .env.*.local
9 |
10 | # Log files
11 | npm-debug.log*
12 | yarn-debug.log*
13 | yarn-error.log*
14 | pnpm-debug.log*
15 |
16 | # Editor directories and files
17 | .idea
18 | .vscode
19 | *.suo
20 | *.ntvs*
21 | *.njsproj
22 | *.sln
23 | *.sw?
24 |
--------------------------------------------------------------------------------
/panda-user/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/panda-user/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "panda-user",
3 | "version": "0.1.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build"
8 | },
9 | "dependencies": {
10 | "core-js": "^3.6.5",
11 | "crypto-js": "^4.0.0",
12 | "element-ui": "^2.4.5",
13 | "moment": "^2.29.1",
14 | "pinyin": "^2.9.1",
15 | "vue": "^2.6.11",
16 | "vue-router": "^3.2.0",
17 | "vuex": "^3.4.0"
18 | },
19 | "devDependencies": {
20 | "@vue/cli-plugin-babel": "^4.5.0",
21 | "@vue/cli-service": "^4.5.0",
22 | "axios": "^0.18.0",
23 | "node-sass": "^4.9.2",
24 | "sass-loader": "^7.0.3",
25 | "vue-cli-plugin-axios": "0.0.4",
26 | "vue-cli-plugin-element": "^1.0.1",
27 | "vue-template-compiler": "^2.6.11"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/panda-user/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/public/favicon.ico
--------------------------------------------------------------------------------
/panda-user/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/panda-user/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
13 |
14 |
17 |
--------------------------------------------------------------------------------
/panda-user/src/assets/404images/bg_purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/404images/bg_purple.png
--------------------------------------------------------------------------------
/panda-user/src/assets/404images/logo.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/panda-user/src/assets/404images/rocket.svg:
--------------------------------------------------------------------------------
1 |
5 |
6 |
--------------------------------------------------------------------------------
/panda-user/src/assets/bill-invalid.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/bill-invalid.png
--------------------------------------------------------------------------------
/panda-user/src/assets/carousel1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/carousel1.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/carousel2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/carousel2.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/carousel3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/carousel3.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/carousel4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/carousel4.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/css/fonts/iconfont.css:
--------------------------------------------------------------------------------
1 | @font-face {font-family: "iconfont";
2 | src: url('iconfont.eot?t=1607409819552'); /* IE9 */
3 | src: url('iconfont.eot?t=1607409819552#iefix') format('embedded-opentype'), /* IE6-IE8 */
4 | url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMMAAsAAAAABuAAAALAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCDBgqBSIFYATYCJAMMCwgABCAFhG0HNRsdBhEVlDlkH0pQAE4AmBGSSIIGggEAAACAeIDW/f+Z3bn3Af5wpNDEaDaohF8ZhegsHM1pCYzoCRWSdWXPOnCf8OWhpMq2ylYp2vyEnJyeAZfT/9ocyDzLcptj8JiACQa6B0ZRogWUIDeMXeAS7hOQr1kPYeToiTPliqxlAWHjujXL5OaiosgKuYJszd4onJCRmxxMHis4Hn4/fGGFXBKZlLV26upRKw19n/dhQ7r//9FCnxAjgIczSNEDkbC4NjtXKjBOKl8b2yuzoiCZK/H/P6FUV2ftPzwSgZBl1ReCLiiX8L7pikj4EMvv+pEUZBExEPMRvfI9iSS3trB0TVE48OzQE3ay/1ar+NCdYnrgbrsgHHh++KlCweHb/vPnq2fPlk+ezJ8+XeQH57j6dE7B0+ed4rNnk/sds4GzZu1wWga+ujau5n91R5ddM66kPFt37tw3XBturqj+9+MwJixeGEaF0b5pTLBLliw02ii47mzf+4Kwa3uYX1S+q3iBTKldJWVFYX7RZylrYdoh7QNpu+TRT/6Nv22Hl5QM/JpbEMHrv97l0Br1z+VKYLJfKus5FHWFZUujKnWlpj/VOtKdABvy8Z8VLPduvLHqtt1Bbk7GkMjRhFSuDmSk90BGgZ7IymUdgnzdTQ4XqCCUhZiHbm4AQakHEsXuIVXqSUb6DzKq/SKrNJSRb3aoOLNApxC2Rgi0FXrg7CF0KWOOQ7Wixin668QWWUXIXaKQYQJMzSgWJpihmGOD3PiWUgyYoBTG4DFMEoJcUISu0gKl8q6us7oXaS6lhZYRBGRTkAc49kDIRTLMn6y0Sp+fQr61hE20tNXEl5AghdMDk8boQU60Wa+2e3lG2vBZFIUBjEBSYAxmoUSCgLx+VgS5FE0wIp3r0u1xrK9WW1+ffkAJ68K6Kg1JSEMUN5IbV7ZIFIUC') format('woff2'),
5 | url('iconfont.woff?t=1607409819552') format('woff'),
6 | url('iconfont.ttf?t=1607409819552') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */
7 | url('iconfont.svg?t=1607409819552#iconfont') format('svg'); /* iOS 4.1- */
8 | }
9 |
10 | .iconfont {
11 | font-family: "iconfont" !important;
12 | font-size: 16px;
13 | font-style: normal;
14 | -webkit-font-smoothing: antialiased;
15 | -moz-osx-font-smoothing: grayscale;
16 | }
17 |
18 | .icon-lock:before {
19 | content: "\e76b";
20 | }
21 |
22 | .icon-user:before {
23 | content: "\e609";
24 | }
25 |
26 |
--------------------------------------------------------------------------------
/panda-user/src/assets/css/fonts/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/css/fonts/iconfont.eot
--------------------------------------------------------------------------------
/panda-user/src/assets/css/fonts/iconfont.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
33 |
--------------------------------------------------------------------------------
/panda-user/src/assets/css/fonts/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/css/fonts/iconfont.ttf
--------------------------------------------------------------------------------
/panda-user/src/assets/css/fonts/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/css/fonts/iconfont.woff
--------------------------------------------------------------------------------
/panda-user/src/assets/css/global.css:
--------------------------------------------------------------------------------
1 | /* 全局样式表 */
2 | html, body, #app{
3 | height: 100%;
4 | margin: 0;
5 | padding: 0;
6 | }
--------------------------------------------------------------------------------
/panda-user/src/assets/finish.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/finish.png
--------------------------------------------------------------------------------
/panda-user/src/assets/homeLogo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/homeLogo.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/login-background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/login-background.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/logo.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/money.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/money.png
--------------------------------------------------------------------------------
/panda-user/src/assets/movie-info-background.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/movie-info-background.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/register-footer.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/register-footer.jpg
--------------------------------------------------------------------------------
/panda-user/src/assets/register.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/register.png
--------------------------------------------------------------------------------
/panda-user/src/assets/sofa-empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/sofa-empty.png
--------------------------------------------------------------------------------
/panda-user/src/assets/sofa-forbidden.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/sofa-forbidden.png
--------------------------------------------------------------------------------
/panda-user/src/assets/sofa-pick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/sofa-pick.png
--------------------------------------------------------------------------------
/panda-user/src/assets/sofa-unpick.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/JavaGraduationProject/CinemaMovieTicketSalesManagementSystem/a06790dc48f273988d12cf9bd81695696ef72f0f/panda-user/src/assets/sofa-unpick.png
--------------------------------------------------------------------------------
/panda-user/src/components/global_variable.vue:
--------------------------------------------------------------------------------
1 |
2 |
10 |
--------------------------------------------------------------------------------
/panda-user/src/element-variables.scss:
--------------------------------------------------------------------------------
1 | /*
2 | Write your variables here. All available variables can be
3 | found in element-ui/packages/theme-chalk/src/common/var.scss.
4 | For example, to overwrite the theme color:
5 | */
6 |
7 | /* icon font path, required */
8 | $--font-path: '~element-ui/lib/theme-chalk/fonts';
9 |
10 | @import "~element-ui/packages/theme-chalk/src/index";
11 |
--------------------------------------------------------------------------------
/panda-user/src/main.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import './plugins/axios'
3 | import App from './App.vue'
4 | import router from './router'
5 | import store from './store'
6 | import './plugins/element.js'
7 | import {Message} from 'element-ui'
8 | import './assets/css/fonts/iconfont.css'
9 | import global_variable from "@/components/global_variable";
10 |
11 | Vue.prototype.global = global_variable
12 |
13 | Vue.config.productionTip = false
14 |
15 | axios.defaults.baseURL = 'http://127.0.0.1:8181/'
16 | axios.interceptors.request.use(config => {
17 | config.headers.Token = window.sessionStorage.getItem('token')
18 | return config
19 | })
20 |
21 | // 状态码错误信息
22 | const codeMessage = {
23 | 401: '用户没有权限,请登录',
24 | 403: '用户没有权限,请联系管理员',
25 | 404: '访问的资源不存在',
26 | 406: '请求的格式不可得',
27 | 410: '请求的资源被永久删除,且不会再得到的',
28 | 422: '当创建一个对象时,发生一个验证错误',
29 | 500: '服务器发生错误,请检查服务器',
30 | 502: '网关错误',
31 | 503: '服务不可用,服务器暂时过载或维护',
32 | 504: '网关超时'
33 | };
34 |
35 | axios.interceptors.response.use(response => {
36 | return response
37 | }, error => {
38 | if(error){
39 | if(!error.response){
40 | return console.log('Error', error.message);
41 | }
42 | //获取状态码
43 | const status = error.response.status;
44 | const errortext = codeMessage[status] || error.response.statusText;
45 |
46 | //提示错误信息
47 | Message.error(errortext)
48 |
49 | // 错误状态处理
50 | if (status === 401) {
51 | router.push('/login')
52 | } else if (status === 403) {
53 | router.push('/login')
54 | } else if (status >= 404 && status < 422) {
55 | router.push('/404')
56 | }
57 | }
58 | return Promise.reject(error)
59 | })
60 |
61 | new Vue({
62 | router,
63 | store,
64 | render: h => h(App)
65 | }).$mount('#app')
66 |
--------------------------------------------------------------------------------
/panda-user/src/plugins/axios.js:
--------------------------------------------------------------------------------
1 | "use strict";
2 |
3 | import Vue from 'vue';
4 | import axios from "axios";
5 |
6 | // Full config: https://github.com/axios/axios#request-config
7 | // axios.defaults.baseURL = process.env.baseURL || process.env.apiUrl || '';
8 | // axios.defaults.headers.common['Authorization'] = AUTH_TOKEN;
9 | // axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded';
10 |
11 | let config = {
12 | // baseURL: process.env.baseURL || process.env.apiUrl || ""
13 | // timeout: 60 * 1000, // Timeout
14 | // withCredentials: true, // Check cross-site Access-Control
15 | };
16 |
17 | const _axios = axios.create(config);
18 |
19 | _axios.interceptors.request.use(
20 | function(config) {
21 | // Do something before request is sent
22 | return config;
23 | },
24 | function(error) {
25 | // Do something with request error
26 | return Promise.reject(error);
27 | }
28 | );
29 |
30 | // Add a response interceptor
31 | _axios.interceptors.response.use(
32 | function(response) {
33 | // Do something with response data
34 | return response;
35 | },
36 | function(error) {
37 | // Do something with response error
38 | return Promise.reject(error);
39 | }
40 | );
41 |
42 | Plugin.install = function(Vue, options) {
43 | Vue.axios = _axios;
44 | window.axios = _axios;
45 | Object.defineProperties(Vue.prototype, {
46 | axios: {
47 | get() {
48 | return _axios;
49 | }
50 | },
51 | $axios: {
52 | get() {
53 | return _axios;
54 | }
55 | },
56 | });
57 | };
58 |
59 | Vue.use(Plugin)
60 |
61 | export default Plugin;
62 |
--------------------------------------------------------------------------------
/panda-user/src/plugins/element.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Element from 'element-ui'
3 | import '../element-variables.scss'
4 |
5 | Vue.use(Element)
6 |
--------------------------------------------------------------------------------
/panda-user/src/store/index.js:
--------------------------------------------------------------------------------
1 | import Vue from 'vue'
2 | import Vuex from 'vuex'
3 |
4 | Vue.use(Vuex)
5 |
6 | export default new Vuex.Store({
7 | state: {
8 | },
9 | mutations: {
10 | },
11 | actions: {
12 | },
13 | modules: {
14 | }
15 | })
16 |
--------------------------------------------------------------------------------
/panda-user/src/views/.editorconfig:
--------------------------------------------------------------------------------
1 |
2 | root = true
3 |
4 | [*]
5 | charset = utf-8
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
--------------------------------------------------------------------------------
/panda-user/src/views/movie/MovieClassics.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
抱歉,没有找到相关结果,请尝试用其他条件筛选。
9 |
10 |
11 |
12 |
19 |
20 |
21 |
22 |
23 |
24 |
82 |
83 |
104 |
--------------------------------------------------------------------------------
/panda-user/src/views/movie/MovieOngoing.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
抱歉,没有找到相关结果,请尝试用其他条件筛选。
9 |
10 |
11 |
12 |
19 |
20 |
21 |
22 |
23 |
24 |
84 |
85 |
106 |
--------------------------------------------------------------------------------
/panda-user/src/views/movie/MovieUpcoming.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
抱歉,没有找到相关结果,请尝试用其他条件筛选。
9 |
10 |
11 |
12 |
19 |
20 |
21 |
22 |
23 |
24 |
82 |
83 |
104 |
--------------------------------------------------------------------------------
/panda-user/src/views/rankinglist/ForeignBoxOfficeList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{index+1}}
7 |
8 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
48 |
49 |
126 |
--------------------------------------------------------------------------------
/panda-user/src/views/rankinglist/RankingList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
14 |
15 |
16 |
17 |
45 |
46 |
58 |
--------------------------------------------------------------------------------
/panda-user/src/views/rankinglist/TotalBoxOfficeList.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | {{index+1}}
7 |
8 |
13 |
17 |
18 |
19 |
20 |
21 |
22 |
47 |
48 |
125 |
--------------------------------------------------------------------------------
/panda-user/src/views/search/Search.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
62 |
63 |
106 |
--------------------------------------------------------------------------------
/panda-user/src/views/user/UserMenu.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 个人中心
5 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
39 |
40 |
52 |
--------------------------------------------------------------------------------
/panda-user/vue.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | devServer: {
3 | port: 8081
4 | }
5 | }
--------------------------------------------------------------------------------