当前位置:   article > 正文

基于springboot+vue的景区民宿预约系统(前后端分离)_springboot+vue景区预约

springboot+vue景区预约

博主主页猫头鹰源码

博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战

主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询

文末联系获取

项目介绍: 

本系统适合选题:景区、预约、美食、民宿预约、民宿、前后端分离等。系统采用springboot+vue整合开发,前端框架主要使用了element-ui框架、数据层采用mybatis,功能齐全,界面美观。

功能介绍:

系统包含技术:

后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8

部分截图说明:

下面是首页

景点详情

房间信息

美食信息

美食详情

个人中心

登录

房间类型管理

工作人员管理

景点信息管理

部分代码:

  1. /**
  2. * 后端列表
  3. */
  4. @RequestMapping("/page")
  5. public R page(@RequestParam Map<String, Object> params, HttpServletRequest request){
  6. logger.debug("page方法:,,Controller:{},,params:{}",this.getClass().getName(),JSONObject.toJSONString(params));
  7. String role = String.valueOf(request.getSession().getAttribute("role"));
  8. if(false)
  9. return R.error(511,"永不会进入");
  10. else if("用户".equals(role))
  11. params.put("yonghuId",request.getSession().getAttribute("userId"));
  12. else if("工作人员".equals(role))
  13. params.put("gongzuorenyuanId",request.getSession().getAttribute("userId"));
  14. if(params.get("orderBy")==null || params.get("orderBy")==""){
  15. params.put("orderBy","id");
  16. }
  17. PageUtils page = fangjianService.queryPage(params);
  18. //字典表数据转换
  19. List<FangjianView> list =(List<FangjianView>)page.getList();
  20. for(FangjianView c:list){
  21. //修改对应字典表字段
  22. dictionaryService.dictionaryConvert(c, request);
  23. }
  24. return R.ok().put("data", page);
  25. }
  26. /**
  27. * 后端详情
  28. */
  29. @RequestMapping("/info/{id}")
  30. public R info(@PathVariable("id") Long id, HttpServletRequest request){
  31. logger.debug("info方法:,,Controller:{},,id:{}",this.getClass().getName(),id);
  32. FangjianEntity fangjian = fangjianService.selectById(id);
  33. if(fangjian !=null){
  34. //entity转view
  35. FangjianView view = new FangjianView();
  36. BeanUtils.copyProperties( fangjian , view );//把实体数据重构到view中
  37. //修改对应字典表字段
  38. dictionaryService.dictionaryConvert(view, request);
  39. return R.ok().put("data", view);
  40. }else {
  41. return R.error(511,"查不到数据");
  42. }
  43. }
  44. /**
  45. * 后端保存
  46. */
  47. @RequestMapping("/save")
  48. public R save(@RequestBody FangjianEntity fangjian, HttpServletRequest request){
  49. logger.debug("save方法:,,Controller:{},,fangjian:{}",this.getClass().getName(),fangjian.toString());
  50. String role = String.valueOf(request.getSession().getAttribute("role"));
  51. if(false)
  52. return R.error(511,"永远不会进入");
  53. Wrapper<FangjianEntity> queryWrapper = new EntityWrapper<FangjianEntity>()
  54. .eq("fangjian_name", fangjian.getFangjianName())
  55. .eq("fangjian_tese", fangjian.getFangjianTese())
  56. .eq("fangjian_peizhi", fangjian.getFangjianPeizhi())
  57. .eq("fangjian_types", fangjian.getFangjianTypes())
  58. .eq("fangjian_number", fangjian.getFangjianNumber())
  59. .eq("fangjian_clicknum", fangjian.getFangjianClicknum())
  60. ;
  61. logger.info("sql语句:"+queryWrapper.getSqlSegment());
  62. FangjianEntity fangjianEntity = fangjianService.selectOne(queryWrapper);
  63. if(fangjianEntity==null){
  64. fangjian.setFangjianClicknum(1);
  65. fangjian.setCreateTime(new Date());
  66. fangjianService.insert(fangjian);
  67. return R.ok();
  68. }else {
  69. return R.error(511,"表中有相同数据");
  70. }
  71. }
  72. /**
  73. * 后端修改
  74. */
  75. @RequestMapping("/update")
  76. public R update(@RequestBody FangjianEntity fangjian, HttpServletRequest request){
  77. logger.debug("update方法:,,Controller:{},,fangjian:{}",this.getClass().getName(),fangjian.toString());
  78. String role = String.valueOf(request.getSession().getAttribute("role"));
  79. // if(false)
  80. // return R.error(511,"永远不会进入");
  81. //根据字段查询是否有相同数据
  82. Wrapper<FangjianEntity> queryWrapper = new EntityWrapper<FangjianEntity>()
  83. .notIn("id",fangjian.getId())
  84. .andNew()
  85. .eq("fangjian_name", fangjian.getFangjianName())
  86. .eq("fangjian_tese", fangjian.getFangjianTese())
  87. .eq("fangjian_peizhi", fangjian.getFangjianPeizhi())
  88. .eq("fangjian_types", fangjian.getFangjianTypes())
  89. .eq("fangjian_number", fangjian.getFangjianNumber())
  90. .eq("fangjian_clicknum", fangjian.getFangjianClicknum())
  91. ;
  92. logger.info("sql语句:"+queryWrapper.getSqlSegment());
  93. FangjianEntity fangjianEntity = fangjianService.selectOne(queryWrapper);
  94. if("".equals(fangjian.getFangjianPhoto()) || "null".equals(fangjian.getFangjianPhoto())){
  95. fangjian.setFangjianPhoto(null);
  96. }
  97. if(fangjianEntity==null){
  98. fangjianService.updateById(fangjian);//根据id更新
  99. return R.ok();
  100. }else {
  101. return R.error(511,"表中有相同数据");
  102. }
  103. }
  104. /**
  105. * 删除
  106. */
  107. @RequestMapping("/delete")
  108. public R delete(@RequestBody Integer[] ids){
  109. logger.debug("delete:,,Controller:{},,ids:{}",this.getClass().getName(),ids.toString());
  110. fangjianService.deleteBatchIds(Arrays.asList(ids));
  111. return R.ok();
  112. }

以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。

好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/367160
推荐阅读
相关标签
  

闽ICP备14008679号