——————————DescriptionStart——————————
运行环境 Java≥8、MySQL≥5.7
开发工具 eclipse/idea/myeclipse/sts等均可配置运行
适用 课程设计,大作业,毕业设计,项目练习,学习演示等
功能说明
基于javaweb的SpringBoot旅游管理系统(java+springboot+jpa+thymeleaf+html+bootstrap+maven)
前台:http://localhost:8765/travel/ user1 123456 user2 123456
后台:http://localhost:8765/travel/system admin 123456
——————————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 48 private UserRepository userRepository;@Autowired private HotelRepository hotelRepository;@Autowired private AttractionsRepository attractionsRepository;@Autowired private TravelRouteRepository travelRouteRepository;@Autowired private TravelStrategyRepository travelStrategyRepository;private Random random = new Random(100 );public Result login (SysUser sysUser, HttpServletResponse response) { SysUser sysUserByUsrname = sysUserRepository.findSysUserByUsername(sysUser.getUsername()); if (sysUserByUsrname == null ) { return ResultGenerator.genFailResult("用户名错误!" ); } else { if (sysUser.getPassword().equals(sysUserByUsrname.getPassword())) { CookieUitl.set(response, "sysUsername" , sysUser.getUsername(), 3600 ); return ResultGenerator.genSuccessResult(); } else { return ResultGenerator.genFailResult("密码错误" ); } } } public void logout (HttpServletRequest request, HttpServletResponse response) { Cookie cookie = CookieUitl.get(request, "sysUsername" ); if (cookie != null ) { CookieUitl.set(response, "sysUsername" , null , 0 ); } } public Page<User> getUserPage (Pageable pageable) { Page<User> userPage = userRepository.findAll((root, query, cb) -> { List<Predicate> predicates = new ArrayList<>(); query.where(predicates.toArray(new Predicate[]{})); query.orderBy(cb.desc(root.get("id" ))); return null ; }, pageable); return userPage;
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 if (!StringUtils.isEmpty(searchName)) { predicates.add((cb.like(root.get("name" ), "%" + searchName + "%" ))); } query.where(predicates.toArray(new Predicate[]{})); query.orderBy(cb.desc(root.get("createDate" ))); return null ; }, pageable); return attractionsPage; } public Attractions findAttractionsById (String id) { return attractionsRepository.findById(id).orElseThrow(() -> new ServiceException("景点id错误!" )); } public List<UserHotel> getReserveHotelByUser (HttpServletRequest request) { Cookie cookie = CookieUitl.get(request, "username" ); if (cookie == null ) { throw new ServiceException("未能获得正确的用户名" ); } User user = userRepository.findUserByUsername(cookie.getValue()); return userHotelRepository.findUserHotelsByUser(user); } @Transactional(rollbackFor = Exception.class) public Result cancelReserve (HttpServletRequest request, String id) { Cookie cookie = CookieUitl.get(request, "username" ); if (cookie == null ) { throw new ServiceException("用户没有登录!" ); } Hotel hotel = findHotelById(id); User user = userRepository.findUserByUsername(cookie.getValue()); UserHotel userHotel = userHotelRepository.findUserHotelByHotelAndUser(hotel, user); if (userHotel != null ) { userHotelRepository.delete(userHotel); } else { UserHotel newUserHotel = new UserHotel(); newUserHotel.setId(IdGenerator.id()); newUserHotel.setCreateDate(new Date()); newUserHotel.setUser(user); newUserHotel.setHotel(hotel); userHotelRepository.saveAndFlush(newUserHotel); } return ResultGenerator.genSuccessResult(); } public Boolean isReserveHotel (HttpServletRequest request, String id) {
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 model.addAttribute("user" , user); return "center/user-center" ; } @RequestMapping("/centerEditUI") public String centerEditUI (Model model, HttpServletRequest request) { User user = userCenterService.getUser(request); model.addAttribute("user" , user); return "center/user-center-edit" ; } @RequestMapping("/centerEdit") @ResponseBody public Result centerEdit (Model model, User user) { return userCenterService.centerEdit(user); } @RequestMapping("/centerEditPWUI") public String centerEditPWUI (Model model, HttpServletRequest request) { User user = userCenterService.getUser(request); model.addAttribute("id" , user.getId()); return "center/user-center-editpw" ; } @RequestMapping("/centerEditPW") @ResponseBody public Result centerEditPW (HttpServletRequest request, HttpServletResponse response, Model model, @RequestParam("id") String id, @RequestParam("oldPassword") String oldPassword, @RequestParam("newPassword") String newPassword) { return userCenterService.centerEditPW(request, response, id, oldPassword, newPassword); } }
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 } User user = userRepository.findUserByUsername(cookie.getValue()); if (StringUtils.isEmpty(travelStrategy.getId())) { travelStrategy.setId(IdGenerator.id()); if (travelStrategy.getStatus() == null ) { travelStrategy.setStatus(StatusEnum.DOWM_STATUS.getCode()); travelStrategy.setCreateDate(new Date()); travelStrategy.setUser(user); } } else { TravelStrategy oldTravelStrategy = getTravelStrategyById(travelStrategy.getId()); travelStrategy.setStatus(oldTravelStrategy.getStatus()); travelStrategy.setCreateDate(oldTravelStrategy.getCreateDate()); } travelStrategyRepository.saveAndFlush(travelStrategy); return ResultGenerator.genSuccessResult(); } public List<TravelStrategy> findTop10Strategy () { PageRequest pageable = PageRequest.of(0 , 10 ); Page<TravelStrategy> travelStrategyPage = travelStrategyRepository.findAll((root, query, cb) -> { List<Predicate> predicates = new ArrayList<>(); predicates.add((cb.equal(root.get("status" ), 0 ))); query.where(predicates.toArray(new Predicate[]{})); query.orderBy(cb.desc(root.get("createDate" ))); return null ; }, pageable); return travelStrategyPage.getContent(); } }
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 public Result login (User user, HttpServletResponse response) { User userByUsername = userRepository.findUserByUsername(user.getUsername()); if (userByUsername == null ) { return ResultGenerator.genFailResult("用户名错误!" ); } else { if (user.getPassword().equals(userByUsername.getPassword())) { Cookie cookie = new Cookie("username" , user.getUsername()); cookie.setPath("/" ); cookie.setMaxAge(3600 ); response.addCookie(cookie); return ResultGenerator.genSuccessResult(); } else { return ResultGenerator.genFailResult("密码错误!" ); } } } public void logout (HttpServletRequest request, HttpServletResponse response) { Cookie cookie = CookieUitl.get(request, "username" ); if (cookie != null ){ CookieUitl.set(response,"username" ,null ,0 ); } } public Result register (User user) { User userByUsername = userRepository.findUserByUsername(user.getUsername()); if (userByUsername != null ){ return ResultGenerator.genFailResult("用户名重复!" ); } user.setId(IdGenerator.id()); userRepository.save(user);
——————————PayStart——————————
项目链接: https://javayms.github.io?id=111124401105201lr https://javayms.pages.dev?id=111124401105201lr