基于javaweb的旅游管理系统旅行平台(springboot+ssm)
项目意义:

改革开放以来, 我国的旅游业发展迅速,但比较而言,我国旅游业发展的广度和深度都远远不能满足经济发展和人民生活水平提高的需要。 随着市场经济的发展和人民收入水平的进一步提高, 人民对旅游消费的需求将进一步上升, 目前旅游业在国民经济中的地位和作用越来越重要。 但我国旅游产业仍然基础薄弱, 管理手段滞后,信息化程度较低,企业效益较差;旅游行政管理部门的管理方式落后,缺乏信息化管理手段。面对困难和挑战,我国旅游业必须转变观念,创新思维,以信息化建设为突破口和新手段,整合各种资源,从而实现整个行业的新跨越。

项目意义:

本文拟设计并实现的爱游旅行平台前台+后台信息系统, 能够改变旅游企业的传统经营模式,提高各级管理部门的工作效率和管理水平,降低工作成本,加大宣传力度,提高信息实效性;能够满足游客的个性化需求,提高旅游服务质量。 旅游管理的网络化,将会进一步壮大旅游支柱产业, 提升旅游产业整体信息化水平,优化产业结构和资源配置,完善产业链,进而带动众多相关产业发展,拉动内需,扩大就业,对经济发展起到积极的推动作用,从而提高整个旅游产业素质

主要技术:spring、 springmvc、 springboot、 md5 、mybatis 、 jquery 、layui、 、bootstarp.js tomcat、富文本编译器、拦截器等
主要功能:网站首页展示、用户登录、用户注册、旅游线路、关注线路、旅游攻略、酒店预订、我发布的旅游攻略、景点预订、关键字搜索酒店和景点信息等主要功能:
主要功能介绍:

系统前台首页:
查看首页一些基本信息和功能操作、比如旅游线路、旅游攻略、酒店预订以及模糊搜索和个人信息等操作










适用

课程设计,大作业,毕业设计,项目练习,学习演示等

     return new Result(true, StatusCode.OK,"查询成功",adminService.findAll());}/*** 根据ID查询* @param id ID* @return*/@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.GET)public Result findById(@PathVariable Long id){return new Result(true,StatusCode.OK,"查询成功",adminService.findById(id));}/*** 分页+多条件查询* @param searchMap 查询条件封装* @param page 页码* @param size 页大小* @return 分页结果*/@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);
         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;
         return new Result(true,StatusCode.OK,"登录成功");}else {return new Result(false,StatusCode.ERROR,"账号密码错误");}}/*** 管理员登录成功* @return*/@RequestMapping(value = "/index")public String success(){return "admin/index";}
  * @return*/@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,"账号密码错误");}}/*** 管理员登录成功* @return*/@RequestMapping(value = "/index")public String success(){return "admin/index";}
            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";}
}
插入部分代码展示:
package hue.edu.xiong.volunteer_travel.controller;
 @RequestMapping("/saveTravelStrategy")@ResponseBodypublic Result saveTravelStrategy(HttpServletRequest request,TravelStrategy travelStrategy) {return systemService.saveTravelStrategy(request,travelStrategy);}
}
酒店和景点预订:
用户登录后可以进行酒店信息和景点信息查看以及预订
酒店和景点详情信息:
旅游攻略相关模块:
点击查看所有的旅行线路以及我关注的线路以及根据关键字搜索线路操作等
收藏、关注、预订:
对于酒店、线路、景点 用户可以旅行攻略收藏、景点关注、预订酒店
后台管理模块:
后台管理模块主要是一些基础数据的维护和管理、具体有用户管理、酒店信息管理、景点信息管理、攻略信息管理、路线信息管理、发布功率审核、以及登录退出等
用户发布攻略审核:
主要数据表表设计:
酒店表:
CREATE TABLE `NewTable` (
`id`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`image`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`hotel_name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
@CrossOrigin
@RequestMapping("/travel")
public class RecomTravelController {@Autowiredprivate ScenicService scenicService;@Autowiredprivate ScenicDao scenicDao;@Autowiredprivate HotelService hotelService;@Autowiredprivate HotelDao hotelDao;/***查询星级* @return*/@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;
         String newPassd=encoder.encode(passwd);admins.setPassword(newPassd);adminService.update(admins);return new Result(true,StatusCode.OK,"成功");}else {return new Result(false,StatusCode.ERROR,"更新失败");}}
}
酒店信息控制层:
/*** 控制器层**/
     *查询星级* @return*/@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,"","");}}/***查询星级* @return
 /*** 根据ID查询* @param id ID* @return*/@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.GET)public Result findById(@PathVariable Long id){return new Result(true,StatusCode.OK,"查询成功",hotelService.findById(id));}/*** 酒店添加操作* @param hotel
 }/*** 管理员跳转* @return*/@RequestMapping(value = "/adminlogin")public String adminlogin(){return "admin/login/login";}/***  admin登录* @param loginMap
 /*** 查询单个酒店* @param model* @param id* @return*/@RequestMapping("/oneAttr")public String One_attr(Model model, Long id){Hotel scenic=hotelService.findById(id);model.addAttribute("oneAttr",scenic);return "page/hotelDetail";}
     * @return*/@ResponseBody@RequestMapping(value="/search",method = RequestMethod.POST)public Result findSearch( @RequestBody Map searchMap){return new Result(true,StatusCode.OK,"查询成功",hotelService.findSearch(searchMap));}/*** 修改* @param hotel*/
     return  new Result(true,StatusCode.OK,"查询成功",  new PageResult<Admin>(pageList.getTotalElements(), pageList.getContent()) );}/*** 根据条件查询* @param searchMap* @return*/@ResponseBody@RequestMapping(value="/search",method = RequestMethod.POST)public Result findSearch( @RequestBody Map searchMap){return new Result(true,StatusCode.OK,"查询成功",adminService.findSearch(searchMap));}/*** 增加* @param admin*/
  */@ResponseBody@RequestMapping(method= RequestMethod.GET)public Result findAll(){return new Result(true, StatusCode.OK,"查询成功",adminService.findAll());}/*** 根据ID查询* @param id ID* @return*/@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.GET)public Result findById(@PathVariable Long id){return new Result(true,StatusCode.OK,"查询成功",adminService.findById(id));}/*** 分页+多条件查询* @param searchMap 查询条件封装* @param page 页码
 /*** 查询单个酒店* @param model* @param id* @return*/@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) {
 @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";}@RequestMapping("/getTravelStrategyById")@ResponseBodypublic Result getTravelStrategyById(String id) {return ResultGenerator.genSuccessResult(systemService.getTravelStrategyById(id));}@RequestMapping("/updateTravelStrategyStatus")@ResponseBodypublic Result updateTravelStrategyStatus(String id) {return systemService.updateTravelStrategyStatus(id);
        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>() {@Overridepublic int compare(Hotel o1, Hotel o2) {if (o1.getStar()<o2.getStar()){return 2;}
        return "redirect:/system";}@RequestMapping("/hotelListUI")public String hotelListUI(Model model, @PageableDefault(size = 10) Pageable pageable) {Page<Hotel> page = systemService.getHotelPage(pageable);model.addAttribute("page", page);return "system/hotel/list";}@RequestMapping("/saveHotel")
        Sort sort=new Sort(Sort.Direction.DESC,"id");Pageable pageable=PageRequest.of(start,limit,sort);Specification specification=new Specification() {@Overridepublic 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()]));}};
 @RequestMapping("/saveTravelStrategy")@ResponseBodypublic Result saveTravelStrategy(HttpServletRequest request,TravelStrategy travelStrategy) {return systemService.saveTravelStrategy(request,travelStrategy);}
}
酒店和景点预订:
用户登录后可以进行酒店信息和景点信息查看以及预订
酒店和景点详情信息:
旅游攻略相关模块:
点击查看所有的旅行线路以及我关注的线路以及根据关键字搜索线路操作等
收藏、关注、预订:
对于酒店、线路、景点 用户可以旅行攻略收藏、景点关注、预订酒店
后台管理模块:
后台管理模块主要是一些基础数据的维护和管理、具体有用户管理、酒店信息管理、景点信息管理、攻略信息管理、路线信息管理、发布功率审核、以及登录退出等
用户发布攻略审核:
主要数据表表设计:
酒店表:
CREATE TABLE `NewTable` (
`id`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`image`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
  */@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()) );}/*** 根据条件查询* @param searchMap* @return
`hotel_name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`hotel_address`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`hotel_describe`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`hotel_status`  int(2) NULL DEFAULT 0 ,
`create_date`  datetime NOT NULL ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
ROW_FORMAT=COMPACT
;景区表:
CREATE TABLE `NewTable` (
`id`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`image`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`attractions_name`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
 * 控制器层*/
@Controller
@CrossOrigin
@RequestMapping("/admin")
public class AdminController {@Autowiredprivate AdminService adminService;@AutowiredBCryptPasswordEncoder encoder;/**
    }/*** 查询单个景点* @param model* @param id* @return*/@RequestMapping("/oneAttr")public String One_attr(Model model,Long id){Scenic scenic=scenicService.findById(id);model.addAttribute("oneAttr",scenic);return "page/product";}/**
    }@RequestMapping("/getUserById")@ResponseBodypublic Result getUserById(String id) {return ResultGenerator.genSuccessResult(systemService.getUserById(id));}@RequestMapping("/logout")public String logout(HttpServletRequest request, HttpServletResponse response) {systemService.logout(request,response);return "redirect:/system";}@RequestMapping("/hotelListUI")
    @RequestMapping(value="/search",method = RequestMethod.POST)public Result findSearch( @RequestBody Map searchMap){return new Result(true,StatusCode.OK,"查询成功",adminService.findSearch(searchMap));}/*** 增加* @param admin*/@ResponseBody@RequestMapping(method=RequestMethod.POST)public Result add(@RequestBody Admin admin  ){adminService.add(admin);return new Result(true,StatusCode.OK,"增加成功");}/*** 修改* @param admin*/@ResponseBody@RequestMapping(value="/{id}",method= RequestMethod.PUT)public Result update(@RequestBody Admin admin, @PathVariable Long id ){admin.setId(id);

适用

课程设计,大作业,毕业设计,项目练习,学习演示等

基于javaweb的旅游管理系统旅行平台(springboot+ssm)相关推荐

  1. 基于javaweb的旅游管理系统(java+jsp+html5+bootstrap+servlet+mysql)

    基于javaweb的旅游管理系统(java+jsp+html5+bootstrap+servlet+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse ...

  2. 基于javaweb的新闻发布系统(java+springboot+ssm+mysql)

    基于javaweb的新闻发布系统(java+springboot+ssm+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可 ...

  3. 基于javaweb的二手图书商城平台(java+ssm+jsp+js+jquery+mysql)

    基于javaweb的二手图书商城平台(java+ssm+jsp+js+jquery+mysql) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/my ...

  4. 基于javaweb+mysql的+JPA旅行网站旅游管理系统(前台、后台)

    基于javaweb+mysql的+JPA旅行网站旅游管理系统(前台.后台) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/sts等均可配置运行 适 ...

  5. 基于javaweb的药品管理系统(java+springboot+html+layui+bootstrap+echarts+mysql)

    基于javaweb的药品管理系统(java+springboot+html+layui+bootstrap+echarts+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 ecli ...

  6. 基于javaweb的erp管理系统(java+springboot+easyui+mysql)

    基于javaweb的erp管理系统(java+springboot+easyui+mysql) 运行环境 Java≥8.MySQL≥5.7 开发工具 eclipse/idea/myeclipse/st ...

  7. 基于javaweb+mysql的校园招聘平台招聘管理系统(平台、企业、用户)

    基于javaweb+mysql的校园招聘平台招聘管理系统(平台.企业.用户) 运行环境 Java≥8.MySQL≥5.7.Tomcat≥8 开发工具 eclipse/idea/myeclipse/st ...

  8. 基于javaweb的医院管理系统(java+springboot+mybatis+vue+mysql)

    基于javaweb的医院管理系统(java+springboot+mybatis+vue+mysql) 运行环境 Java≥8.MySQL≥5.7.Node.js≥10 开发工具 后端:eclipse ...

  9. 基于JAVAweb开发数码产品推荐平台系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVAweb开发数码产品推荐平台系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAweb开发数码产品推荐平台系统设计与实现计算机毕业设计源码+数据库+lw文档+系统+部 ...

  10. 基于JAVAWeb商铺租赁管理系统计算机毕业设计源码+数据库+lw文档+系统+部署

    基于JAVAWeb商铺租赁管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVAWeb商铺租赁管理系统计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S ...

最新文章

  1. 深入理解 JavaScript 中的 replace 方法
  2. tensorflow keras 上采样(放大图片) tf.keras.layers.UpSampling2D 示例
  3. Linux管道指令(pipe)与shell 重定向的区别
  4. 《实时控制软件开发》学生四次作业成绩总排名
  5. 标书中如何正确描述所用的统计学方法
  6. [转载]Sybase数据库SQL语句REPLACE的对应函数
  7. Django从理论到实战(part37)--关于迁移
  8. 云主机安装linux发行版,用Ubuntu服务器版部署一个私有云
  9. 无人驾驶货运再添新玩家:G7控股,腾讯系,主攻L4
  10. 如何在TransCAD中制作美观的地图
  11. 路由器与交换机配置——交换机默认网关(实现跨网段telnet)
  12. fMRI与MRI区别+名词解释+MRI中T1和T2的含义与区分
  13. 生成哑变量的几种方法
  14. Python中Pickle模块的dump()方法和load()方法
  15. 宽带隙器件增强电机控制设计
  16. 张跃平教授:无线电科学与技术中的因子4
  17. android ota 方案实战,Android 系统OTA升级流程
  18. 【答读者问47】一场由夏普率引发的乱斗(backtrader和joinquant计算夏普率的方式哪一种更稳定?)
  19. Taro打卡日历组件。支持h5、ReactNative、后续支持小程序
  20. TDengine 签约航天五院,助力航天事业信息化

热门文章

  1. ★★★★★手把手教你如何利用凤凰实现破 解后台权限以及升级固件(刷机)★★★★★
  2. Python语言核心编程
  3. 【读书笔记《Android游戏编程之从零开始》】17.游戏开发基础(游戏适屏的简述和作用、让游戏主角动起来)
  4. Viewflipper
  5. C语言 头哥习题答案截图
  6. eclipse主题彻底美化——你还在用白底黑字的编辑器吗?
  7. 工欲善其事必先利其器——网络工程师必备六款软件(收藏下载❤️)
  8. txt文档转excel方法
  9. c语言函数调用原理底层分析
  10. 鼠标宏设置到鼠标左键,重置回去!