——————————DescriptionStart——————————
运行环境
Java≥8、MySQL≥5.7
开发工具
eclipse/idea/myeclipse/sts等均可配置运行
适用
课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明




基于javaweb的SpringBoot在线电影售票系统设计和实现(java+springboot+jpa+mysql+freemarker+maven)
一、项目简述
前台:
1、正在上映的电影浏览查看。
2、影院信息浏览查看。
3、新闻咨询信息浏览查看。
4、地域信息查看切换。
5、用户注册登录。
6、电影排期查看。
7、在线选座生成订单并支付。
8、电影、影院的评价及评价浏览。
9、用户个人中心。
10、用户中心订单管理。
11、用户中心余额充值。
12、用户中心电影评价、影院评价管理。
后台:
1、地域管理。
2、电影管理、电影评价管理。
3、影院管理、影院评价管理。
4、影厅管理。
5、拍片场次管理。
6、新闻咨询管理。
7、用户管理。
8、订单管理。
9、支付管理。
10、统计类:包括用户、电影、影院、票房等等的统计。
二、项目运行
环境配置: Jdk1.8 + mysql + Eclispe (IntelliJ IDEA,Eclispe,MyEclispe,Sts 都支持)
项目技术: Springboot+ SpringMVC + Spring Data JPA + freemarker + JavaScript + JQuery + Ajax + maven等等
——————————CodeStart——————————
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| operaterLogService.add("添加菜单信息【" + menu + "】"); return Result.success(true); }
@RequestMapping(value="/edit",method=RequestMethod.GET) public String eidt(Model model,@RequestParam(name="id",required=true)Long id){ List<Menu> findAll = menuService.findAll(); model.addAttribute("title","菜单列表"); model.addAttribute("topMenus",MenuUtil.getTopMenus(findAll)); model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll)); model.addAttribute("menu",menuService.find(id)); return "admin/menu/edit"; }
@RequestMapping(value="/edit",method=RequestMethod.POST) @ResponseBody public Result<Boolean> edit(Menu menu){ if(menu == null){ Result.error(CodeMsg.DATA_ERROR); } if(menu.getId() == null){ Result.error(CodeMsg.ADMIN_MENU_ID_EMPTY); } CodeMsg validate = ValidateEntityUtil.validate(menu); if(validate.getCode() != CodeMsg.SUCCESS.getCode()){ return Result.error(validate); } if(menu.getParent() != null){ if(menu.getParent().getId() == null){ menu.setParent(null); } } Menu existMenu = menuService.find(menu.getId());
|
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
| orderItem.setMoney(cinemaHallSession.getNewPrice()); orderItems.add(orderItem); } if(!orderService.generateOrder(order, orderItems)){ return Result.error(CodeMsg.HOME_ADD_ORDER_ERROR); } log.info("订单已经生成"); return Result.success(order.getSn()); }
@RequestMapping(value="order_pay",method=RequestMethod.GET) public String orderPay(@RequestParam(name="order_sn",required=true)String sn,Model model){ Order order = orderService.find(sn); if(order == null){ model.addAttribute("msg", "订单编号不存在!"); return RuntimeConstant.RUN_ERROR_VIEW; } if(order.getStatus() != Order.status_unpay){ model.addAttribute("msg", "订单状态不可支付!"); return RuntimeConstant.RUN_ERROR_VIEW; } long passTime = System.currentTimeMillis()/1000 - order.getCreateTime().getTime()/1000; if(passTime > orderTimeout){ model.addAttribute("msg", "订单已超时,不可支付!"); return RuntimeConstant.RUN_ERROR_VIEW; } model.addAttribute("leftTime", orderTimeout - passTime); model.addAttribute("order", order); model.addAttribute("orderItemList", orderItemService.find(order.getId())); return "home/order/pay_order"; }
@RequestMapping(value="order_pay",method=RequestMethod.POST) @ResponseBody public Result<Boolean> orderPay(@RequestParam(name="order_sn",required=true)String sn){ Order order = orderService.find(sn); if(order == null){ return Result.error(CodeMsg.HOME_ORDER_NO_EXIST); } if(order.getStatus() != Order.status_unpay){ return Result.error(CodeMsg.HOME_ORDER_STATUS_UNABLE);
|
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 54
| account.setPassword(password); if(accountService.save(account) == null){ return Result.error(CodeMsg.HOME_ACCOUNT_REGISTER_ERROR); } SessionUtil.set(SessionConstant.SESSION_ACCOUNT_LOGIN_KEY, account); return Result.success(true); }
@RequestMapping(value="/login",method=RequestMethod.POST) @ResponseBody public Result<Boolean> login(@RequestParam(name="mobile",required=true)String mobile, @RequestParam(name="password")String password, @RequestParam(name="checkCode")String checkCode, @RequestParam(name="tag")Integer tag ){ Account account = null; if(tag == 1){ if(StringUtils.isEmpty(password)){ return Result.error(CodeMsg.ADMIN_PASSWORD_EMPTY); } account = accountService.find(mobile); if(account == null){ return Result.error(CodeMsg.HOME_ACCOUNT_REGISTER_MOBILE_NO_EXIST); } if(!password.equals(account.getPassword())){ return Result.error(CodeMsg.HOME_ACCOUNT_LOGIN_PWD_ERROR); } } if(tag == 2){ String smsCode = (String)SessionUtil.get("home_login_sms_code"); if(smsCode == null){ return Result.error(CodeMsg.SESSION_EXPIRED); } if(!smsCode.equalsIgnoreCase(checkCode)){ return Result.error(CodeMsg.SMS_CODE_ERROR); } SessionUtil.set("home_login_sms_code", null); account = accountService.find(mobile); if(account == null){ return Result.error(CodeMsg.HOME_ACCOUNT_REGISTER_MOBILE_NO_EXIST);
|
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
|
@RequestMapping("/admin/menu") @Controller public class MenuController {
@Autowired private MenuService menuService; @Autowired private OperaterLogService operaterLogService;
@RequestMapping(value="/list") public String list(Model model){ List<Menu> findAll = menuService.findAll(); model.addAttribute("title","菜单列表"); model.addAttribute("topMenus", MenuUtil.getTopMenus(findAll)); model.addAttribute("secondMenus",MenuUtil.getSecondMenus(findAll)); model.addAttribute("thirdMenus",MenuUtil.getThirdMenus(findAll)); return "admin/menu/list"; }
@RequestMapping(value="/add",method=RequestMethod.GET) public String add(Model model){ List<Menu> findAll = menuService.findAll(); model.addAttribute("title","菜单列表");
|
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
|
@RequestMapping(value="/list") public String list(Model model, Cinema cinema, PageBean<Cinema> pageBean){ model.addAttribute("pageBean", cinemaService.findPage(cinema, pageBean)); model.addAttribute("name",cinema.getName()); return "admin/cinema/list"; }
@RequestMapping(value="/add",method=RequestMethod.GET) public String add(Model model){ model.addAttribute("provinceList", areaService.getAllProvince()); model.addAttribute("cinemaServiceList", CinemaServices.values()); return "admin/cinema/add"; }
@RequestMapping(value="/edit",method=RequestMethod.GET) public String edit(Model model,@RequestParam(name="id",required=true)Long id){ Cinema cinema = cinemaService.findById(id); model.addAttribute("cinema", cinema); model.addAttribute("provinceList", areaService.getAllProvince()); model.addAttribute("cityList", areaService.getAllCity(cinema.getArea().getProvinceId())); model.addAttribute("districtList", areaService.getAllDistrict(cinema.getArea().getCityId())); model.addAttribute("cinemaServiceList", CinemaServices.values()); return "admin/cinema/edit"; }
|
——————————PayStart——————————
项目链接:
https://javayms.github.io?id=041422282105200cf
https://javayms.pages.dev?id=041422282105200cf