——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明 前台:路线收藏、攻略发布与收藏、景点预定、酒店预定等……
后台: 管理审核用户、酒店、景点、攻略、路线等……
前台
后台
技术框架 JavaWeb SpringBoot JPA Thymeleaf HTML Bootstrap JavaScript SpringMVC MySQL
基于javaweb的SpringBoot+JPA旅行网站旅游管理系统(前台、后台)(java+springboot+jpa+thymeleaf+html+bootstrap+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 Page<Attractions> page = reserveService.reserveAttractionsListUI(searchName,pageable); List<Hotel> top10Hotel = reserveService.getTop10Hotel(); List<Attractions> top10Attractions = reserveService.getTop10Attractions(); model.addAttribute("top10Hotel" , top10Hotel); model.addAttribute("top10Attractions" , top10Attractions); model.addAttribute("page" , page); return "reserve/reserve-attractions" ; } @RequestMapping("/attractionsDetailsUI") public String attractionsDetailsUI (Model model, HttpServletRequest request, @RequestParam(name = "id") String id) { Attractions attractions = reserveService.findAttractionsById(id); Boolean flag = reserveService.isReserveAttractions(request, id); List<Hotel> top10Hotel = reserveService.getTop10Hotel(); List<Attractions> top10Attractions = reserveService.getTop10Attractions(); model.addAttribute("top10Hotel" , top10Hotel); model.addAttribute("top10Attractions" , top10Attractions); model.addAttribute("attractions" , attractions); model.addAttribute("flag" , flag); return "reserve/reserve-attractions-details" ; } @RequestMapping("/cancelAttractionsReserve") @ResponseBody public Result cancelAttractionsReserve (HttpServletRequest request,String id) { return reserveService.cancelAttractionsReserve(request,id); } } package com.demo.controller;
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 @Service public class ReserveService { @Autowired private HotelRepository hotelRepository; @Autowired private AttractionsRepository attractionsRepository; @Autowired private UserRepository userRepository; @Autowired private UserHotelRepository userHotelRepository; @Autowired private UserAttractionsRepository userAttractionsRepository; public Page<Hotel> reserveHotelListUI (String searchName, Pageable pageable) { Page<Hotel> hotelPage = hotelRepository.findAll((root, query, cb) -> { List<Predicate> predicates = new ArrayList<>();
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 int i = random.nextInt(100 ); attractions.setImage("MY_jingdian_0" + (i % 8 + 1 )); } else { Attractions oldAttractions = getAttractionsById(attractions.getId()); attractions.setStatus(oldAttractions.getStatus()); attractions.setCreateDate(oldAttractions.getCreateDate()); attractions.setImage(oldAttractions.getImage()); } attractionsRepository.saveAndFlush(attractions); return ResultGenerator.genSuccessResult(); } public Page<TravelRoute> getTravelRoutePage (Pageable pageable) { Page<TravelRoute> travelRoutePage = travelRouteRepository.findAll((root, query, cb) -> { List<Predicate> predicates = new ArrayList<>(); query.where(predicates.toArray(new Predicate[]{})); query.orderBy(cb.desc(root.get("createDate" ))); return null ; }, pageable); return travelRoutePage; } @Transactional(rollbackFor = Exception.class) public Result saveTravelRoute (TravelRoute travelRoute) { if (StringUtils.isEmpty(travelRoute.getId())) { travelRoute.setId(IdGenerator.id()); if (travelRoute.getStatus() == null ) { travelRoute.setStatus(StatusEnum.DOWM_STATUS.getCode()); travelRoute.setCollectNumber(0 ); travelRoute.setCreateDate(new Date()); } } else { TravelRoute oldTravelRoute = getTravelRouteById(travelRoute.getId()); travelRoute.setStatus(oldTravelRoute.getStatus()); travelRoute.setCollectNumber(oldTravelRoute.getCollectNumber()); travelRoute.setCreateDate(oldTravelRoute.getCreateDate()); } travelRouteRepository.saveAndFlush(travelRoute); return ResultGenerator.genSuccessResult(); }
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 @RequestMapping("/travelStrategyDetailsUI") public String travelStrategyDetailsUI (Model model, HttpServletRequest request, @RequestParam(name = "id") String id) { TravelStrategy travelStrategy = strategyService.findTravelStrategyById(id); Boolean flag = strategyService.isStrategy(request, id); List<TravelStrategy> top10Strategy = strategyService.findTop10Strategy(); model.addAttribute("top10Strategy" , top10Strategy); model.addAttribute("travelStrategy" , travelStrategy); model.addAttribute("flag" , flag); return "strategy/travelStrategy-details" ; } @RequestMapping("/cancelTravelStrategyReserve") @ResponseBody public Result cancelTravelStrategyReserve (HttpServletRequest request, String id) { return strategyService.cancelTravelStrategyReserve(request, id); } @RequestMapping("/strategyManageUI") public String strategyManageUI (Model model, HttpServletRequest request) { List<UserStrategy> userStrategyList = strategyService.getTravelStrategyByUser(request); List<TravelStrategy> top10Strategy = strategyService.findTop10Strategy(); model.addAttribute("top10Strategy" , top10Strategy); model.addAttribute("userStrategyList" , userStrategyList); return "strategy/strategy-manage" ; } @RequestMapping("/saveTravelStrategy") @ResponseBody public Result saveTravelStrategy (HttpServletRequest request, TravelStrategy travelStrategy) { return strategyService.saveTravelStrategy(request, travelStrategy); } @RequestMapping("/pushStrategyListUI") public String pushStrategyListUI (HttpServletRequest request, Model model, @ModelAttribute("searchName") String searchName, @PageableDefault(size = 10) Pageable pageable) { Page<TravelStrategy> page = strategyService.PushStrategyListUI(request,searchName, pageable); List<TravelStrategy> top10Strategy = strategyService.findTop10Strategy(); model.addAttribute("top10Strategy" , top10Strategy); model.addAttribute("page" , page); return "strategy/pushStrategy" ; } } package com.demo.controller;
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 @RequestMapping("/getAttractionsById") @ResponseBody public Result getAttractionsById (String id) { return ResultGenerator.genSuccessResult(systemService.getAttractionsById(id)); } @RequestMapping("/updateAttractionsStatus") @ResponseBody public Result updateAttractionsStatus (String id) { return systemService.updateAttractionsStatus(id); } @RequestMapping("/saveAttractions") @ResponseBody public Result saveAttractions (Attractions attractions) { return systemService.saveAttractions(attractions); } @RequestMapping("/travelRouteListUI") public String travelRouteListUI (Model model, @PageableDefault(size = 10) Pageable pageable) { Page<TravelRoute> page = systemService.getTravelRoutePage(pageable); model.addAttribute("page" , page); return "system/route/list" ; } @RequestMapping("/getTravelRouteById") @ResponseBody public Result getTravelRouteById (String id) { return ResultGenerator.genSuccessResult(systemService.getTravelRouteById(id)); } @RequestMapping("/updateTravelRouteStatus") @ResponseBody public Result updateTravelRouteStatus (String id) { return systemService.updateTravelRouteStatus(id); } @RequestMapping("/saveTravelRoute") @ResponseBody public Result saveTravelRoute (TravelRoute travelRoute) { return systemService.saveTravelRoute(travelRoute); } @RequestMapping("/travelStrategyListUI") public String travelStrategyListUI (Model model, @PageableDefault(size = 10) Pageable pageable) { Page<TravelStrategy> page = systemService.getTravelStrategyPage(pageable); model.addAttribute("page" , page); return "system/strategy/list" ; }
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 } hotelRepository.saveAndFlush(hotel); return ResultGenerator.genSuccessResult(); } public Hotel getHotelById (String id) { Hotel hotel = hotelRepository.findById(id).orElseThrow(() -> new ServiceException("酒店ID错误!" )); return hotel; } public Result updateStatus (String id) { Hotel hotel = getHotelById(id); if (hotel.getStatus().equals(StatusEnum.DOWM_STATUS.getCode())) { hotel.setStatus(StatusEnum.UP_STATUS.getCode()); } else { hotel.setStatus(StatusEnum.DOWM_STATUS.getCode()); } hotelRepository.saveAndFlush(hotel); return ResultGenerator.genSuccessResult(); } public Page<Attractions> getAttractionsPage (Pageable pageable) { Page<Attractions> attractionsPage = attractionsRepository.findAll((root, query, cb) -> { List<Predicate> predicates = new ArrayList<>(); query.where(predicates.toArray(new Predicate[]{})); query.orderBy(cb.desc(root.get("createDate" ))); return null ; }, pageable); return attractionsPage; } public Attractions getAttractionsById (String id) { Attractions attractions = attractionsRepository.findById(id).orElseThrow(() -> new ServiceException("景点ID错误" )); return attractions; } public Result updateAttractionsStatus (String id) { Attractions attractions = getAttractionsById(id); if (attractions.getStatus().equals(StatusEnum.DOWM_STATUS.getCode())) { attractions.setStatus(StatusEnum.UP_STATUS.getCode()); } else { attractions.setStatus(StatusEnum.DOWM_STATUS.getCode()); } attractionsRepository.saveAndFlush(attractions); return ResultGenerator.genSuccessResult(); }
——————————PayStart——————————
项目链接: https://javayms.github.io?id=511522430404105ab https://javayms.pages.dev?id=511522430404105ab