基于javaweb的SpringBoot电影院售票购票系统(java+springboot+maven+vue+element-ui+mysql)

运行环境

Java≥8、MySQL≥5.7、Node.js≥14

开发工具

后端:eclipse/idea/myeclipse/sts等均可配置运行
前端:WebStorm/VSCode/HBuilderX等均可

❗没学过node.js的不要搞前后端分离项目

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

功能说明

372125181301

382125181301

392125181301

402125181301

412125181301

432125181301

442125181301

452125181301

462125181301

472125181301

572125201301

基于javaweb的SpringBoot电影院售票购票系统(java+springboot+maven+vue+element-ui+mysql)

后端启动类:StartApplication
前端启动命令:npm run serve

backend:后端
front-end-admin:前端管理员端
front-end-user:前端用户端

管理员:
admin 123465

用户:
user 123456

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
    FileUploadUtils.setDefaultBaseDir(FileUploadUtils.userPath);
String filename = FileUploadUtils.upload(file);
log.debug("上传文件名 : " + filename);
return ResponseResult.success((Object) filename);
}

@PostMapping("/movie")
public ResponseResult uploadMovie(@RequestParam("file") MultipartFile file) throws IOException {
FileUploadUtils.setDefaultBaseDir(FileUploadUtils.moviePath);
String filename = FileUploadUtils.upload(file);
log.debug("上传文件名 : " + filename);
return ResponseResult.success((Object) filename);
}

@PostMapping("/cinema")
public ResponseResult uploadCinema(@RequestParam("file") MultipartFile file) throws IOException {
FileUploadUtils.setDefaultBaseDir(FileUploadUtils.cinemaPath);
String filename = FileUploadUtils.upload(file);
log.debug("上传文件名 : " + filename);
return ResponseResult.success((Object) filename);
}

@PostMapping("/actor")
public ResponseResult uploadActor(@RequestParam("file") MultipartFile file) throws IOException {
FileUploadUtils.setDefaultBaseDir(FileUploadUtils.actorPath);
String filename = FileUploadUtils.upload(file);
log.debug("上传文件名 : " + filename);
return ResponseResult.success((Object) filename);
}

@RequestMapping("/delete")
public ResponseResult deletePicture(String filePath) {
try {
String path = ResourceUtils.getURL("classpath:").getPath().substring(1) + "static" + filePath;
log.debug("删除文件路径为:" + path);
boolean flag = FileUploadUtils.deleteFile(path);
log.debug(flag ? "删除成功" : "删除失败");
} catch (FileNotFoundException e) {
System.out.println("删除文件不存在");
} finally {
return ResponseResult.success();
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
    @PutMapping("/sysMovieCategory")
public ResponseResult updateCategory(@Validated @RequestBody SysMovieCategory sysMovieCategory) {
return getResult(sysMovieCategoryService.updateCategory(sysMovieCategory));
}

@DeleteMapping("/sysMovieCategory/{ids}")
public ResponseResult deleteCategory(@PathVariable Long[] ids) {
return getResult(sysMovieCategoryService.deleteCategory(ids));
}

@PostMapping("/sysMovieToCategory/{movieId}/{movieCategoryId}")
public ResponseResult addMovieToCategory(@PathVariable Long movieId, @PathVariable Long movieCategoryId) {
return getResult(sysMovieCategoryService.addMovieToCategory(new SysMovieToCategory(movieId, movieCategoryId)));
}

@DeleteMapping("/sysMovieToCategory/{movieId}/{movieCategoryId}")
public ResponseResult deleteMovieToCategory(@PathVariable Long movieId, @PathVariable Long movieCategoryId) {
return getResult(sysMovieCategoryService.deleteMovieToCategory(new SysMovieToCategory(movieId, movieCategoryId)));
}

}




@RestController
public class SysMovieController extends BaseController {

@Autowired
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
    ApplicationContextUtils.getBean("cancelTimeoutBill");
List<SysBill> data = sysBillService.findAllBills(sysBill);
return getResult(data);
}

@GetMapping("/sysBill/{id}")
public ResponseResult findBillById(@PathVariable Long id) {
return getResult(sysBillService.findBillById(id));
}

@PostMapping("/sysBill")
public ResponseResult addBill(@Validated @RequestBody SysBillVo sysBillVo) {
// 获取当前场次信息
SysSession curSession = sysSessionService.findOneSession(sysBillVo.getSysBill().getSessionId());
if (curSession == null) {
throw new DataNotFoundException("添加订单的场次没找到");
}
System.out.println(curSession.getSessionSeats());
curSession.setSessionSeats(sysBillVo.getSessionSeats());

int addSallNums = sysBillVo.getSysBill().getSeats().split(",").length;
curSession.setSallNums(curSession.getSallNums() + addSallNums);
// 更新场次座位信息
sysSessionService.updateSession(curSession);

Object obj = sysBillService.addBill(sysBillVo.getSysBill());
if (obj instanceof Integer) {
return getResult((Integer) obj);
}
return getResult(obj);
}

@PutMapping("/sysBill")
public ResponseResult pay(@RequestBody SysBill sysBill) {
int rows = sysBillService.updateBill(sysBill);
if (rows > 0 && sysBill.getPayState()) {
//更新场次的座位状态
SysSession curSession = sysSessionService.findOneSession(sysBill.getSessionId());
if (curSession == null) {
throw new DataNotFoundException("支付订单的场次没找到");
}
//更新电影票房
SysMovie curMovie = sysMovieService.findOneMovie(curSession.getMovieId());
if (curMovie == null) {
throw new DataNotFoundException("支付订单的电影没找到");
}
//订单的座位数
int seatNum = sysBill.getSeats().split(",").length;
double price = curSession.getSessionPrice();
curMovie.setMovieBoxOffice(curMovie.getMovieBoxOffice() + seatNum * price);
sysMovieService.updateMovie(curMovie);
}
return getResult(rows);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
    }
System.out.println(curSession.getSessionSeats());
curSession.setSessionSeats(sysBillVo.getSessionSeats());

int addSallNums = sysBillVo.getSysBill().getSeats().split(",").length;
curSession.setSallNums(curSession.getSallNums() + addSallNums);
// 更新场次座位信息
sysSessionService.updateSession(curSession);

Object obj = sysBillService.addBill(sysBillVo.getSysBill());
if (obj instanceof Integer) {
return getResult((Integer) obj);
}
return getResult(obj);
}

@PutMapping("/sysBill")
public ResponseResult pay(@RequestBody SysBill sysBill) {
int rows = sysBillService.updateBill(sysBill);
if (rows > 0 && sysBill.getPayState()) {
//更新场次的座位状态
SysSession curSession = sysSessionService.findOneSession(sysBill.getSessionId());
if (curSession == null) {
throw new DataNotFoundException("支付订单的场次没找到");
}
//更新电影票房
SysMovie curMovie = sysMovieService.findOneMovie(curSession.getMovieId());
if (curMovie == null) {
throw new DataNotFoundException("支付订单的电影没找到");
}
//订单的座位数
int seatNum = sysBill.getSeats().split(",").length;
double price = curSession.getSessionPrice();
curMovie.setMovieBoxOffice(curMovie.getMovieBoxOffice() + seatNum * price);
sysMovieService.updateMovie(curMovie);
}
return getResult(rows);
}

@PutMapping("/sysBill/cancel")
public ResponseResult cancel(@RequestBody SysBillVo sysBillVo) {
// 订单取消,更新订单状态
int rows = sysBillService.updateBill(sysBillVo.getSysBill());
if (rows > 0 && sysBillVo.getSysBill().getCancelState()) {
// 订单取消座位不再占用,更新场次的座位状态
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
    @DeleteMapping("/sysUser/{ids}")
public ResponseResult deleteUser(@PathVariable Long[] ids) {
return getResult(sysUserService.deleteUser(ids));
}

/**
* 用户登录请求
*
* @param sysUserVo
* @return
*/
@RequestMapping("/sysUser/login")
public ResponseResult login(@RequestBody SysUserVo sysUserVo) {
return getResult(sysUserService.login(sysUserVo));
}

/**
* 用户注册请求
*
* @param sysUser
* @return
*/
@PostMapping("/sysUser/register")
public ResponseResult register(@Validated @RequestBody SysUser sysUser) {
// 注册只接收部分参数值,重新建立一个实例对象只接受注册接受的参数
SysUser registerUserInfo = new SysUser();
registerUserInfo.setUserName(sysUser.getUserName());
registerUserInfo.setPassword(sysUser.getPassword());
registerUserInfo.setSex(sysUser.getSex());
registerUserInfo.setPhoneNumber(sysUser.getPhoneNumber());
return getResult(sysUserService.addUser(registerUserInfo));
}

}




@RestController
public class SysMovieCategoryController extends BaseController {

@Autowired
private SysMovieCategoryServiceImpl sysMovieCategoryService;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

@GetMapping(value = {"/sysCinema/find/{cinemaId}/{movieId}", "/sysCinema/find/{cinemaId}"})
public ResponseResult findCinemaById(@PathVariable Long cinemaId, @PathVariable(required = false) Long movieId) {
SysCinema cinema = sysCinemaService.findCinemaById(cinemaId);
if (movieId == null || movieId == 0) {
movieId = cinema.getSysMovieList().size() > 0 ? cinema.getSysMovieList().get(0).getMovieId() : 0;
}
List<SysSession> sessions = null;
if (movieId != null && movieId != 0) {
sessions = sysSessionService.findSessionByMovieId(movieId);
}

HashMap<String, Object> response = new HashMap<>();
response.put("cinema", cinema);
response.put("sessions", sessions);
return getResult(response);
}

}



@RestController
public class SysResourceController extends BaseController {

@Autowired
SysResourceServiceImpl sysResourceService;

@GetMapping("/sysResource")
public ResponseResult findAllResources() {
startPage();
List<SysResource> data = sysResourceService.findAllResources();
return getResult(data);
}


项目链接:
https://javayms.github.io?id=362125181301201pr
https://javayms.pages.dev?id=362125181301201pr