<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
環境設定:
Jdk1.8 + Tomcat8.5 + mysql + Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支援)
專案技術:
JSP +Spring + SpringMVC + MyBatis + html+ css + JavaScript + JQuery + Ajax + layui+ maven等等。
/** * 後臺使用者管理控制器 * @author yy * */ @RequestMapping("/admin/user") @Controller public class UserController { @Autowired private UserService userService; @Autowired private RoleService roleService; @Autowired private OperaterLogService operaterLogService; /** * 使用者列表頁面 * @param model * @param user * @param pageBean * @return */ @RequestMapping(value="/list") public String list(Model model, User user, PageBean<User> pageBean){ model.addAttribute("title", "使用者列表"); model.addAttribute("username", user.getUsername()); model.addAttribute("pageBean", userService.findList(user, pageBean)); return "admin/user/list"; } /** * 新增使用者頁面 * @param model * @return */ @RequestMapping(value="/add",method=RequestMethod.GET) public String add(Model model){ model.addAttribute("roles", roleService.findAll()); return "admin/user/add"; } /** * 使用者新增表單提交處理 * @param user * @return */ @RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Result<Boolean> add(User user){ //用統一驗證實體方法驗證是否合法 CodeMsg validate = ValidateEntityUtil.validate(user); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(user.getRole() == null || user.getRole().getId() == null){ return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY); } //判斷使用者名稱是否存在 if(userService.isExistUsername(user.getUsername(), 0l)){ return Result.error(CodeMsg.ADMIN_USERNAME_EXIST); } //到這說明一切符合條件,進行資料庫新增 if(userService.save(user) == null){ return Result.error(CodeMsg.ADMIN_USE_ADD_ERROR); } operaterLogService.add("新增使用者,使用者名稱:" + user.getUsername()); return Result.success(true); } /** * 使用者編輯頁面 * @param model * @return */ @RequestMapping(value="/edit",method=RequestMethod.GET) public String edit(Model model,@RequestParam(name="id",required=true)Long id){ model.addAttribute("roles", roleService.findAll()); model.addAttribute("user", userService.find(id)); return "admin/user/edit"; } /** * 編輯使用者資訊表單提交處理 * @param user * @return */ @RequestMapping(value="/edit",method=RequestMethod.POST) @ResponseBody public Result<Boolean> edit(User user){ //用統一驗證實體方法驗證是否合法 CodeMsg validate = ValidateEntityUtil.validate(user); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(user.getRole() == null || user.getRole().getId() == null){ return Result.error(CodeMsg.ADMIN_USER_ROLE_EMPTY); } if(user.getId() == null || user.getId().longValue() <= 0){ return Result.error(CodeMsg.ADMIN_USE_NO_EXIST); } if(userService.isExistUsername(user.getUsername(), user.getId())){ return Result.error(CodeMsg.ADMIN_USERNAME_EXIST); } //到這說明一切符合條件,進行資料庫儲存 User findById = userService.find(user.getId()); //講提交的使用者資訊指定欄位複製到已存在的user物件中,該方法會覆蓋新欄位內容 BeanUtils.copyProperties(user, findById, "id","createTime","updateTime"); if(userService.save(findById) == null){ return Result.error(CodeMsg.ADMIN_USE_EDIT_ERROR); } operaterLogService.add("編輯使用者,使用者名稱:" + user.getUsername()); return Result.success(true); } /** * 刪除使用者 * @param id * @return */ @RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){ try { userService.delete(id); } catch (Exception e) { return Result.error(CodeMsg.ADMIN_USE_DELETE_ERROR); } operaterLogService.add("新增使用者,使用者ID:" + id); return Result.success(true); } }
/** * 電影管理控制器 * @author yy * */ @RequestMapping("/admin/movie") @Controller public class MovieController { @Autowired private MovieService movieService; @Autowired private MovieCommentService movieCommentService; /** * 電影列表頁面 * @param model * @return */ @RequestMapping(value="/list") public String list(Model model, Movie movie, PageBean<Movie> pageBean){ model.addAttribute("pageBean", movieService.findPage(movie, pageBean)); model.addAttribute("name",movie.getName()); return "admin/movie/list"; } /** * 電影新增頁面 * @param model * @return */ @RequestMapping(value="/add",method=RequestMethod.GET) public String add(Model model){ model.addAttribute("movieAreaList", MovieArea.values()); model.addAttribute("movieTypeList", MovieType.values()); model.addAttribute("movieLangList", MovieLang.values()); return "admin/movie/add"; } /** * 電影編輯頁面 * @param model * @param id * @return */ @RequestMapping(value="/edit",method=RequestMethod.GET) public String edit(Model model,@RequestParam(name="id",required=true)Long id){ model.addAttribute("movie", movieService.findById(id)); model.addAttribute("movieAreaList", MovieArea.values()); model.addAttribute("movieTypeList", MovieType.values()); model.addAttribute("movieLangList", MovieLang.values()); return "admin/movie/edit"; } /** * 新增電影表單提交 * @param movie * @return */ @RequestMapping(value="/add",method=RequestMethod.POST) @ResponseBody public Result<Boolean> add(Movie movie){ if(movie == null){ return Result.error(CodeMsg.DATA_ERROR); } CodeMsg validate = ValidateEntityUtil.validate(movie); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } //判斷是否是編輯 if(movie.getId() != null && movie.getId() > 0){ Movie findById = movieService.findById(movie.getId()); movie.setCreateTime(findById.getCreateTime()); movie.setRate(findById.getRate()); movie.setRateCount(findById.getRateCount()); movie.setTotalMoney(findById.getTotalMoney()); } //表示資料合法,可以儲存到資料庫 if(movieService.save(movie) == null){ return Result.error(CodeMsg.ADMIN_AREA_SAVE_ERROR); } return Result.success(true); } /** * 刪除 * @param id * @return */ @RequestMapping(value="/delete",method=RequestMethod.POST) @ResponseBody public Result<Boolean> delete(@RequestParam(name="id",required=true)Long id){ try { movieService.delete(id); } catch (Exception e) { return Result.error(CodeMsg.ADMIN_MOVIE_DELETE_ERROR); } return Result.success(true); } /** * ----------電影評價管理------------- */ /** * 電影評價列表 * @param model * @param movieComment * @param pageBean * @return */ @RequestMapping(value="/comment_list") public String list(Model model,MovieComment movieComment,PageBean<MovieComment> pageBean){ model.addAttribute("pageBean", movieCommentService.findPage(movieComment, pageBean)); model.addAttribute("content",movieComment.getContent()); return "admin/movie/comment_list"; } /** * 刪除評價 * @param id * @return */ @RequestMapping(value="/delete_comment",method=RequestMethod.POST) @ResponseBody public Result<Boolean> deleteComment(@RequestParam(name="id",required=true)Long id){ movieCommentService.delete(id); return Result.success(true); } }
/** * 前臺電影控制器 * @author yy * */ @RequestMapping("/home/movie") @Controller public class HomeMovieController { @Autowired private MovieService movieService; @Autowired private MovieCommentService movieCommentService; @Autowired private NewsService newsService; @Autowired private CinemaHallSessionService cinemaHallSessionService; @Autowired private CinemaService cinemaService; @Autowired private CinemaHallSeatService cinemaHallSeatService; @Value("${movie.select.seat.max.num}") private Integer selectedSeatMax;//最大選座數 @Autowired private OrderService orderService; @Autowired private OrderItemService orderItemService; /** * 電影列表頁面 * @param model * @return */ @RequestMapping("/list") public String list(Model model,@RequestParam(name="type",defaultValue="0") Integer type){ model.addAttribute("movieList", type == 0 ? movieService.findShowList() : movieService.findFutureList()); model.addAttribute("type", type); model.addAttribute("topNewsList", newsService.findTop()); model.addAttribute("topMoneyMovieList", movieService.findTopMoneyList()); return "home/movie/list"; } /** * 電影詳情頁面 * @param model * @param id * @return */ @RequestMapping("/detail") public String detail(Model model,@RequestParam(name="id",required=true) Long id){ model.addAttribute("movie", movieService.findById(id)); model.addAttribute("topMovieList", movieService.findTopList(5)); model.addAttribute("distinctCinemaHallSessionList", cinemaHallSessionService.findDistinctCinemaByMovieId(id)); model.addAttribute("distinctShowDateCinemaHallSessionList", cinemaHallSessionService.findDistinctShowDateByMovieId(id)); model.addAttribute("commentList", movieCommentService.findByMovie(id)); return "home/movie/detail"; } /** * 選座頁面 * @param model * @param id * @return */ @RequestMapping("/select_seat") public String selectSeat(Model model,@RequestParam(name="id",required=true) Long id){ CinemaHallSession cinemaHallSession = cinemaHallSessionService.findById(id); model.addAttribute("cinemaHallSession", cinemaHallSession); model.addAttribute("cinemaHallSeatList", cinemaHallSeatService.findAll(cinemaHallSession.getCinemaHall().getId())); model.addAttribute("selectedSeatMax", selectedSeatMax); List<Order> findByCinemaHallSession = orderService.findByCinemaHallSession(id); model.addAttribute("orderSeatList", JSONArray.toJSONString(orderItemService.findOrderItemSeatIds(findByCinemaHallSession))); return "home/movie/select_seat"; } /** * 獲取指定電影、指定影院、指定時間下的場次 * @param model * @param mid * @param cid * @param showDate * @return */ @RequestMapping("/get_show_session") public String getShowSession(Model model, @RequestParam(name="mid",required=true) Long mid, @RequestParam(name="cid",required=true) Long cid, @RequestParam(name="showDate",required=true) String showDate){ model.addAttribute("cinemaHallSessionList", cinemaHallSessionService.findByMovieIdAndCinemaIdAndShowDate(mid, cid, showDate)); return "home/movie/get_show_session"; } /** * 統計電影上映場次 * @param movieId * @return */ @RequestMapping("/get_show_stats") @ResponseBody public Result<List<Integer>> getShowStats(@RequestParam(name="mid",required=true) Long movieId) { List<Integer> ret = new ArrayList<Integer>(); List<Integer> showTotal = cinemaHallSessionService.getShowTotal(movieId); if(showTotal == null || showTotal.size() <= 0){ ret.add(0); ret.add(0); return Result.success(ret); } ret.add(showTotal.size());//上映的影院數 //計算場次數 int totalSession = 0; for(int i=0; i< showTotal.size();i++){ totalSession += Integer.parseInt(showTotal.get(i)+""); } ret.add(totalSession); return Result.success(ret); } }
以上就是Java實戰之電影線上觀看系統的實現的詳細內容,更多關於Java電影觀看系統的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45