文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Java如何实现诚途旅游系统

2023-06-25 16:01

关注

这篇文章主要为大家展示了“Java如何实现诚途旅游系统”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Java如何实现诚途旅游系统”这篇文章吧。

采用ssm架构实现的旅游网站系统 包括网站展示和后台管理功能,网站主要是页面浏览以及评论、制定旅游方案、智能推荐功能 后台就是维护网站展示的内容,添加旅游景点、管理用户、查看用户的搜索记录功能

Java如何实现诚途旅游系统

Java如何实现诚途旅游系统

Java如何实现诚途旅游系统

Java如何实现诚途旅游系统

Java如何实现诚途旅游系统

酒店信息控制层:

@Controller@CrossOrigin@RequestMapping("/hotel")public class HotelController { @Autowiredprivate HotelService hotelService; @Autowiredprivate ScenicService scenicService;   @ResponseBody@RequestMapping(value = "/list",method= RequestMethod.GET)public Result findAll(){List<Hotel> all = hotelService.findAll();return new Result(true, StatusCode.OK,"查询成功",all,all.size());}@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.GET)public Result findById(@PathVariable Long id){return new Result(true,StatusCode.OK,"查询成功",hotelService.findById(id));}  @ResponseBody@RequestMapping(value = "/add",method=RequestMethod.POST)public Result add(Hotel hotel){if(StringUtils.isEmpty(hotel.getName())){return new Result(false,StatusCode.ERROR,"请填写酒店名称");}if(StringUtils.isEmpty(hotel.getImg())){return new Result(false,StatusCode.ERROR,"请上传酒店封面图片");}if(StringUtils.isEmpty(hotel.getAddr())){return new Result(false,StatusCode.ERROR,"请填写酒店地址");}if(StringUtils.isEmpty(hotel.getMiaoshu())){return new Result(false,StatusCode.ERROR,"请填写酒店描述");}hotel.setCommentCount(0);hotel.setStar(0);if(hotelService.add(hotel)==null){return new Result(false,StatusCode.ERROR,"酒店添加失败");}return new Result(true,StatusCode.OK,"添加成功");}  @ResponseBody@RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST)public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){Page<Hotel> pageList = hotelService.findSearch(searchMap, page, size);return  new Result(true,StatusCode.OK,"查询成功",  new PageResult<Hotel>(pageList.getTotalElements(), pageList.getContent()) );} @ResponseBody    @RequestMapping(value="/search",method = RequestMethod.POST)    public Result findSearch( @RequestBody Map searchMap){        return new Result(true,StatusCode.OK,"查询成功",hotelService.findSearch(searchMap));    }  @ResponseBody@RequestMapping(value="/edit",method= RequestMethod.PUT)public Result update(Hotel hotel){Hotel hotelById = hotelService.findById(hotel.getId());if(hotelById==null){return new Result(false,StatusCode.ERROR,"该酒店信息不存在");}if(StringUtils.isEmpty(hotel.getName())){return new Result(false,StatusCode.ERROR,"请填写酒店名称");}BeanUtils.copyProperties(hotel,hotelById,"id","img","miaoshu","day","startdate","addr","commentCount");if(hotelService.update(hotelById)==null){return new Result(false,StatusCode.ERROR,"酒店编辑失败");}return new Result(true,StatusCode.OK,"修改成功");}@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.DELETE)public Result delete(@PathVariable String id ){hotelService.deleteById(id);return new Result(true,StatusCode.OK,"删除成功");} @RequestMapping(value = "/hotelList")public String hotelList(){return "admin/hotelmanage/hotelList";} @RequestMapping(value = "/hotelAdd")public String hotelAdd(){return "admin/hotelmanage/hotelAdd";}  @RequestMapping("/oneAttr")public String One_attr(Model model, Long id){Hotel scenic=hotelService.findById(id);model.addAttribute("oneAttr",scenic);return "page/hotelDetail";} @RequestMapping("/local")public String localRefresh(Model model,Long id) {Hotel hotel=hotelService.findById(id);//Sort sort=new Sort(Sort.Direction.DESC,"star");System.out.println("1111"+hotel.toString());List<Scenic> scenics=scenicService.findByCountryLike(hotel.getAddr());System.out.println("2222"+scenics.toString());Collections.sort(scenics, new Comparator<Scenic>() {@Overridepublic int compare(Scenic o1, Scenic o2) {if (o1.getStart()<o2.getStart()){return 2;}if (o1.getStart().equals(o2.getStart()) ){return 1;}return -1;}});if (scenics.size()>=4){List newList=scenics.subList(0,3);model.addAttribute("scenics",newList);}else {model.addAttribute("scenics",scenics);} return "page/hotelDetail::table_refresh";}}

管理员信息控制器层:

@Controller@CrossOrigin@RequestMapping("/admin")public class AdminController { @Autowiredprivate AdminService adminService;@AutowiredBCryptPasswordEncoder encoder; @ResponseBody@RequestMapping(method= RequestMethod.GET)public Result findAll(){return new Result(true, StatusCode.OK,"查询成功",adminService.findAll());}@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.GET)public Result findById(@PathVariable Long id){return new Result(true,StatusCode.OK,"查询成功",adminService.findById(id));}  @ResponseBody@RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST)public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){Page<Admin> pageList = adminService.findSearch(searchMap, page, size);return  new Result(true,StatusCode.OK,"查询成功",  new PageResult<Admin>(pageList.getTotalElements(), pageList.getContent()) );} @ResponseBody    @RequestMapping(value="/search",method = RequestMethod.POST)    public Result findSearch( @RequestBody Map searchMap){        return new Result(true,StatusCode.OK,"查询成功",adminService.findSearch(searchMap));    }@ResponseBody@RequestMapping(method=RequestMethod.POST)public Result add(@RequestBody Admin admin  ){adminService.add(admin);return new Result(true,StatusCode.OK,"增加成功");}@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.PUT)public Result update(@RequestBody Admin admin, @PathVariable Long id ){admin.setId(id);adminService.update(admin);return new Result(true,StatusCode.OK,"修改成功");}@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.DELETE)public Result delete(@PathVariable String id ){adminService.deleteById(id);return new Result(true,StatusCode.OK,"删除成功");} @RequestMapping(value = "/adminlogin")public String adminlogin(){return "admin/login/login";}  @ResponseBody@RequestMapping(value="/login",method= RequestMethod.POST)public Result login(@RequestParam Map<String,String> loginMap,HttpServletRequest request){Admin admin = adminService.finbyNameAndPassword(loginMap.get("name"),loginMap.get("password"));if (admin!=null){ request.getSession().setAttribute("admin",admin);Map map=new HashMap();map.put("name",admin.getName());return new Result(true,StatusCode.OK,"登录成功");}else {return new Result(false,StatusCode.ERROR,"账号密码错误");}} @RequestMapping(value = "/index")public String success(){return "admin/index";}  @RequestMapping(value = "/userList")public String user(){return "admin/usermanage/userList";} @RequestMapping(value = "/echars")public String analysis(){return "admin/echars/console";}  @RequestMapping(value = "/logout")public String logout(HttpSession session){session.removeAttribute("admin");return "admin/login/login";}  @ResponseBody@RequestMapping(value = "/passwd")public Result passwd(HttpSession session,String passwd,String oldpad){ Admin admindmin= (Admin) session.getAttribute("admin");Admin admins=adminService.findById(admindmin.getId());boolean old=encoder.matches(oldpad,admins.getPassword());if (old){String newPassd=encoder.encode(passwd);admins.setPassword(newPassd);adminService.update(admins);return new Result(true,StatusCode.OK,"成功");}else {return new Result(false,StatusCode.ERROR,"更新失败");}} }

景点信息控制层:

@Controller@CrossOrigin@RequestMapping("/travel")public class RecomTravelController {     @Autowired    private ScenicService scenicService;     @Autowired    private ScenicDao scenicDao;     @Autowired    private HotelService hotelService;     @Autowired    private HotelDao hotelDao;         @ResponseBody    @RequestMapping(value = "/star",method = RequestMethod.POST)    public Result judgeStar(String id,String start){        System.out.println(id+"===="+start);        Optional<Scenic> s = scenicDao.findById(id);        if (s.isPresent()){            Scenic scenic = s.get();            int valuestar = (Integer.valueOf(start)+Integer.valueOf(scenic.getStart()))/2;            scenic.setStart(valuestar);            scenicDao.save(scenic);            System.out.println("数据不为空!");            return new Result(true,1,"","");        }else {            System.out.println("数据为空!");            return new Result(false,0,"","");         }     }          @ResponseBody    @RequestMapping(value = "/hotel",method = RequestMethod.POST)    public Result judgeHotelStar(Long id,String start){        Hotel scenic = hotelService.findById(id);        if (scenic!=null){            int valuestar = (Integer.valueOf(start)+Integer.valueOf(scenic.getStar()))/2;            scenic.setStar(valuestar);            hotelDao.save(scenic);            System.out.println("数据不为空!");            return new Result(true,1,"","");        }else {            System.out.println("数据为空!");            return new Result(false,0,"","");         }     }          @RequestMapping("/oneAttr")    public String One_attr(Model model,Long id){        Scenic scenic=scenicService.findById(id);        model.addAttribute("oneAttr",scenic);        return "page/product";    }          @RequestMapping("/search_attrs")    public String search_attrs(Model model,@RequestParam(value = "start" ,defaultValue = "0")Integer start,                             @RequestParam(value = "limit" ,defaultValue = "6")Integer limit,                               @RequestParam String search_key){        start=start<0?0:start;        Sort sort=new Sort(Sort.Direction.DESC,"id");        Pageable pageable=PageRequest.of(start,limit,sort);        Specification specification=new Specification() {            @Override            public Predicate toPredicate(Root root, CriteriaQuery criteriaQuery, CriteriaBuilder criteriaBuilder) {                List<Predicate> scenics=new ArrayList<>();                if (StringUtils.isNotBlank(search_key)){                    scenics.add( criteriaBuilder.like(root.get("name"),"%"+search_key+"%"));                }                return criteriaBuilder.and(scenics.toArray(new Predicate[scenics.size()]));            }        };        Page<Scenic> page=scenicDao.findAll(specification,pageable);         model.addAttribute("name",search_key);        model.addAttribute("attrs",page);        model.addAttribute("number",page.getNumber());        model.addAttribute("numberOfElements",page.getNumberOfElements());        model.addAttribute("size",page.getSize());        model.addAttribute("totalElements",page.getTotalElements());        model.addAttribute("totalPages",page.getTotalPages());        model.addAttribute("first",page.isFirst());        model.addAttribute("last",page.isLast());        return "page/travel";    }     @RequestMapping("/local")    public String localRefresh(Model model,Long id) {        Scenic scenic=scenicService.findById(id);        System.out.println(scenic.toString());        List<Hotel> hotels=hotelService.findByCountryLike(scenic.getContry());        Collections.sort(hotels, new Comparator<Hotel>() {            @Override            public int compare(Hotel o1, Hotel o2) {                if (o1.getStar()<o2.getStar()){                    return 2;                }                if (o1.getStar().equals(o2.getStar()) ){                    return 1;                }                return -1;            }        });        if (hotels.size()>=4){            List newList=hotels.subList(0,3);            model.addAttribute("scenics",newList);            System.out.println("个数:"+newList.size());        }else {            model.addAttribute("scenics",hotels);            System.out.println("个数2:"+hotels.size());         }        return "page/product::table_refresh";    }   }

订单控制器层:

@Controller@CrossOrigin@RequestMapping("/orders")public class OrdersController { @Autowiredprivate OrdersService ordersService;   @Autowiredprivate HotelOrdersService hotel_ordersService; @Autowiredprivate HotelService hotelService; @Autowiredprivate ScenicService scenicService; @ResponseBody@RequestMapping(value = "/list",method= RequestMethod.GET)public Result findAll(){List<Orders> all = ordersService.findAll();return new Result(true, StatusCode.OK,"查询成功",all,all.size());} @ResponseBody@RequestMapping(value = "/allorders",method = RequestMethod.POST)public String findAllOrders(HttpSession session, Model model) throws ParseException {User user= (User) session.getAttribute("user");model.addAttribute("orders",ordersService.findOrders(user.getId().toString()));return "index_header::table_refresh";} @ResponseBody@RequestMapping(value = "/allorder",method = RequestMethod.POST)public List<Orders> findAllOrder(HttpSession session) throws ParseException {User user= (User) session.getAttribute("user");return ordersService.findOrders(user.getId().toString());}  @ResponseBody@RequestMapping(value = "/allorderhotel",method = RequestMethod.POST)public List<HotelOrders> findAllOrderHotel(HttpSession session){User user= (User) session.getAttribute("user");List<HotelOrders> hotel_orders=hotel_ordersService.hotel_orders(user.getId());return hotel_orders;}   @ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.GET)public Result findById(@PathVariable Long id){return new Result(true,StatusCode.OK,"查询成功",ordersService.findById(id));}  @ResponseBody@RequestMapping(value="/search/{page}/{size}",method=RequestMethod.POST)public Result findSearch(@RequestBody Map searchMap , @PathVariable int page, @PathVariable int size){Page<Orders> pageList = ordersService.findSearch(searchMap, page, size);return  new Result(true,StatusCode.OK,"查询成功",  new PageResult<Orders>(pageList.getTotalElements(), pageList.getContent()) );} @ResponseBody    @RequestMapping(value="/search",method = RequestMethod.POST)    public Result findSearch( @RequestBody Map searchMap){        return new Result(true,StatusCode.OK,"查询成功",ordersService.findSearch(searchMap));    }@ResponseBody@RequestMapping(value ="/add",method=RequestMethod.POST)public Result add(Orders orders, HttpSession session){//获取数量User user = (User) session.getAttribute("user");if (user == null){return new Result(false,StatusCode.ACCESSERROR,"请登录");} return ordersService.add(orders,user.getId(),orders.getId(),orders.getQty());}@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.PUT)public Result update(@PathVariable Long id){ordersService.updateStatus(id);return new Result(true,StatusCode.OK,"修改成功");}@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.DELETE)public Result delete(@PathVariable Long id ){ordersService.deleteById(id);return new Result(true,StatusCode.OK,"删除成功");} @RequestMapping(value = "/ordersList")public String ordersList(){return "admin/ordersmanage/orderslist";}  @ResponseBody@PostMapping("/hotelOrderStar")public Result hotelOrderStar(Hotel hotel,@RequestParam("orderId")Long orderId){Long id = hotel.getId();Hotel newHotel = hotelService.findById(id);if(newHotel==null){return new Result(false,StatusCode.ERROR,"未找到该酒店!");}Integer currentStar = hotel.getStar();Integer totalStar = newHotel.getStar();if(currentStar<0){return new Result(false,StatusCode.ERROR,"请选择评分!");}Integer commentCount = newHotel.getCommentCount();commentCount=commentCount+1;totalStar=currentStar+totalStar;int avgStar = totalStar / commentCount;hotel.setCommentCount(commentCount);hotel.setStar(avgStar);Integer hotel1 = hotelService.updateStar(hotel);hotel_ordersService.updateStarStatus(orderId);if(hotel1==null){return new Result(false,StatusCode.ERROR,"评分更新失败!");}return new Result(true,StatusCode.OK,"评价成功!");} @ResponseBody@PostMapping("/travelOrderStar")public Result travelOrderStar(Scenic scenic,@RequestParam("orderId")Long orderId){Long id = scenic.getId();Scenic newScenic = scenicService.findById(id);if(newScenic==null){return new Result(false,StatusCode.ERROR,"未找到该景点!");}Integer totalStar = newScenic.getStart();Integer currentStar = scenic.getStart();if(currentStar<0){return new Result(false,StatusCode.ERROR,"请选择评分!");}Integer commentCount = newScenic.getCommentCount();commentCount=commentCount+1;totalStar=currentStar+totalStar;int avgStar = totalStar / commentCount;scenic.setCommentCount(commentCount);scenic.setStart(avgStar);Integer scenic1 = scenicService.updateStar(scenic);ordersService.updateStarStatus(orderId);if(scenic1==null){return new Result(false,StatusCode.ERROR,"评分更新失败!");}return new Result(true,StatusCode.OK,"评价成功!");}  }

以上是“Java如何实现诚途旅游系统”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯