项目介绍:
本系统为原创项目,以江西旅游为主题,采用前后端分离,创作于2022年4月,项目代码工整,结构清晰,适合选题:旅游、旅游攻略、**旅游网、前后端分离类其他旅游系统等。系统采用springboot+vue整合开发,前端主要使用了element-ui框架、项目后端主要使用了springboot,数据层采用mybatis。
项目功能:
数据模型:
数据库表结构:
系统包含技术:
后端:springboot,mybatis
前端:element-ui、js、css等
开发工具:idea/vscode
数据库:mysql 5.7
JDK版本:jdk1.8
部分截图说明:
下面是首页,展示景点、攻略等
前台登录
旅游攻略,可以分类查看,也可以分页查看
攻略详情
旅游路线,可以分类查看,也可以分页查看
路线详情
景点
酒店住宿信息
下面是个人中心,登录后可以看到
用户也可以反馈留言
后台登录
管理员对用户进行管理
管理员对旅游路线管理员对用户进行管理进行管理
管理员对用景点推荐进行管理
管理员对推荐进行编辑
项目前端结构
项目后端结构
部分代码:
/** * 分页查询 */ @PostMapping("selectAll") public PageInfo<Hotel> selectAll(@RequestBody Map<String,String> mp) { PageHelper.startPage(Integer.parseInt(mp.get("currentPage").toString()), Integer.parseInt(mp.get("pagesize").toString())); List<Hotel> list = hotelService.queryAllByLimit(mp); PageInfo<Hotel> pageInfo = new PageInfo<Hotel>(list); return pageInfo; } /** * 修改 */ @RequestMapping("edit") public String edit(@RequestBody Hotel hotel) { try { hotelService.update(hotel); return "200"; }catch (Exception e){ e.printStackTrace(); return "201"; } } /** * 新增 */ @RequestMapping("add") public String add(@RequestBody Hotel hotel) { try { Date date = new Date(); hotel.setCreateTime(date); hotelService.insert(hotel); return "200"; }catch (Exception e){ e.printStackTrace(); return "201"; } } /** * 通过主键查询单条数据 */ @GetMapping("selectOne") public Hotel selectOne(Integer id) { return hotelService.queryById(id); } /** * 通过主键删除数据 */ @GetMapping("deleteById") public String deleteById(Integer id) { try { hotelService.deleteById(id); return "200"; }catch (Exception e){ e.printStackTrace(); return "201"; } } /** * 导出excel */ @RequestMapping("/downExcel") public List<Hotel> downExcel(){ Hotel hotel = new Hotel(); return hotelService.queryCondition(hotel); }
文件上传
@RequestMapping("/imgUpload") public Map<String, Object> yunUploadFile(@RequestParam("file") MultipartFile multiFile) { Map<String, Object> outMap = new HashMap<>(); try { SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddHHmmss"); String name = sf.format(new Date()); //获取文件的扩展名 String ext = FilenameUtils.getExtension(multiFile.getOriginalFilename()); //以绝对路径保存重名命后的图片 multiFile.transferTo(new File(uploadDir+"/"+name + "." + ext)); //jsonObject.put("code",name + "." + ext); outMap.put("imgUrl", "/api/upload/"+name + "." + ext); outMap.put("url", "http://127.0.0.1:8080/api/upload/"+name + "." + ext); outMap.put("message", "图片上传成功!"); outMap.put("result", "true"); return outMap; } catch (IOException e) { e.printStackTrace(); outMap.put("result", "false"); outMap.put("message", "图片上传失败,请重新上传!"); } return outMap; }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~