发布时间:2024-07-23 17:01
源码获取:俺的博客首页 \"资源\" 里下载!
影院购票系统,本项目分为前台和后台,用户有普通用户和管理员,普通用户只可访问前台页面,管理员可以访问后台;
前台主要功能:
电影分类、电影排行、电影详细介绍、选座购票、评论等功能;
后台主要功能:
用户管理、电影管理、订单管理、评论管理、标签管理、放映厅管理、场次安排等功能。
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 8.x,9.x版本均可 注:不可使用tomcat7.0,会造成图片显示异常等问题;
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7版本;
1. 后端:spring + spring mvc + mybatis + spring security
2. 前端:JSP+jQuery+bootstrap+layui+echarts
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 将项目中applicationContext.xml配置文件中的数据库配置改为自己的配置;
3. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;
若为maven项目,导入成功后请执行maven clean;maven install命令,配置tomcat,然后运行;
4. 运行项目,在浏览器中输入http://localhost:8080/ 登录
@RestController()
public class AccountController {
private final static String ACCOUNT_INFO_ERROR=\"用户名或密码错误\";
@Autowired
private AccountServiceImpl accountService;
@PostMapping(\"/login\")
public ResponseVO login(@RequestBody UserForm userForm, HttpSession session){
UserVO user = accountService.login(userForm);
if(user==null){
return ResponseVO.buildFailure(ACCOUNT_INFO_ERROR);
}
//注册session
session.setAttribute(InterceptorConfiguration.SESSION_KEY,userForm);
return ResponseVO.buildSuccess(user);
}
@PostMapping(\"/register\")
public ResponseVO registerAccount(@RequestBody UserForm userForm){
return accountService.registerAccount(userForm);
}
@PostMapping(\"/logout\")
public String logOut(HttpSession session){
session.removeAttribute(InterceptorConfiguration.SESSION_KEY);
return \"index\";
}
@GetMapping(\"/get/history\")
public ResponseVO getHistory(@RequestParam int userId){
return accountService.getHistoryByUserId(userId);
}
@PostMapping(\"insert/history\")
public ResponseVO insertHistory(@RequestBody historyItem history){return accountService.insertHistory(history); }
@GetMapping(\"/get/user\")
public ResponseVO getUserById(@RequestParam int userId){return accountService.getUserById(userId);}
@PostMapping(\"/update/user\")
public ResponseVO updateUser(@RequestBody User user){return accountService.updateUser(user);}
@GetMapping(\"/get/all/user\")
public ResponseVO getAllUser(){return accountService.getAllUser();}
@PostMapping(\"/delete/user\")
public ResponseVO deleteUser(@RequestParam int userId){return accountService.deleteUser(userId);}
}
@RestController
@RequestMapping(\"/ticket\")
public class TicketController {
@Autowired
TicketService ticketService;
@Autowired
AccountService accountService;
@PostMapping(\"/vip/buy\")
public ResponseVO buyTicketByVIPCard(@RequestParam List ticketId, @RequestParam int couponId){
return ticketService.completeByVIPCard(ticketId,couponId);
}
@PostMapping(\"/lockSeat\")
public ResponseVO lockSeat(@RequestBody TicketForm ticketForm){
return ticketService.addTicket(ticketForm);
}
@PostMapping(\"/buy\")
public ResponseVO buyTicket(@RequestParam List ticketId,@RequestParam int couponId){
return ticketService.completeTicket(ticketId,couponId);
}
@GetMapping(\"/get/{userId}\")
public ResponseVO getTicketByUserId(@PathVariable int userId){
return ticketService.getTicketByUser(userId);
}
@GetMapping(\"/get/occupiedSeats\")
public ResponseVO getOccupiedSeats(@RequestParam int scheduleId){
return ticketService.getBySchedule(scheduleId);
}
@PostMapping(\"/cancel\")
public ResponseVO cancelTicket(@RequestParam List ticketId){
return ticketService.cancelTicket(ticketId);
}
@PostMapping(\"insert/history\")
public ResponseVO insertHistory(@RequestBody historyItem history){return accountService.insertHistory(history); }
}
@RestController
public class MovieController {
@Autowired
private MovieService movieService;
@Autowired
private MovieLikeService movieLikeService;
@RequestMapping(value = \"/movie/add\", method = RequestMethod.POST)
public ResponseVO addMovie(@RequestBody MovieForm addMovieForm){
return movieService.addMovie(addMovieForm);
}
@RequestMapping(value = \"/movie/{id}/{userId}\", method = RequestMethod.GET)
public ResponseVO searchOneMovieByIdAndUserId(@PathVariable int id, @PathVariable int userId){
return movieService.searchOneMovieByIdAndUserId(id, userId);
}
@RequestMapping(value = \"/movie/all\", method = RequestMethod.GET)
public ResponseVO searchAllMovie(){
//返回结果中包括已经下架的电影
return movieService.searchAllMovie();
}
@RequestMapping(value = \"/movie/all/exclude/off\", method = RequestMethod.GET)
public ResponseVO searchOtherMoviesExcludeOff(){
//返回结果中不包括已经下架的电影
return movieService.searchOtherMoviesExcludeOff();
}
@RequestMapping(value = \"/movie/{movieId}/like\", method = RequestMethod.POST)
public ResponseVO likeMovie(@PathVariable int movieId,@RequestParam int userId){
return movieLikeService.likeMovie(userId,movieId);
}
@RequestMapping(value = \"/movie/{movieId}/unlike\", method = RequestMethod.POST)
public ResponseVO unlikeMovie(@PathVariable int movieId,@RequestParam int userId){
return movieLikeService.unLikeMovie(userId,movieId);
}
@RequestMapping(value = \"/movie/{movieId}/like/count\", method = RequestMethod.GET)
public ResponseVO getMovieLikeCounts(@PathVariable int movieId){
return movieLikeService.getCountOfLikes(movieId);
}
@RequestMapping(value = \"/movie/{movieId}/like/date\", method = RequestMethod.GET)
public ResponseVO getMovieLikeCountByDate(@PathVariable int movieId){
return movieLikeService.getLikeNumsGroupByDate(movieId);
}
@RequestMapping(value = \"/movie/search\",method = RequestMethod.GET)
public ResponseVO getMovieByKeyword(@RequestParam String keyword){
return movieService.getMovieByKeyword(keyword);
}
@RequestMapping(value = \"/movie/off/batch\",method = RequestMethod.POST)
public ResponseVO pullOfBatchOfMovie(@RequestBody MovieBatchOffForm movieBatchOffForm){
return movieService.pullOfBatchOfMovie(movieBatchOffForm);
}
@RequestMapping(value = \"/movie/update\",method = RequestMethod.POST)
public ResponseVO updateMovie(@RequestBody MovieForm updateMovieForm){
return movieService.updateMovie(updateMovieForm);
}
}
源码获取:俺的博客首页 \"资源\" 里下载!