博主主页:猫头鹰源码
博主简介:Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战
主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询
文末联系获取
该系统创作于2022年4月,包含详细数据库设计。基于springboot技术,数据层为MyBatis,mysql数据库,页面使用html,具有完整的业务逻辑,适合选题:旅游、自助旅游、旅游服务、旅游攻略、**景点旅游平台等。



后端:springboot、mybatis
前端:layui,js,css等,html页面
开发工具:idea
数据库:mysql 5.7
JDK版本:jdk1.8
下面是用户首页

旅游路线,分页查询,可以筛选

旅游路线详情,可以收藏

旅游攻略查询

旅游攻略详情

导游服务查询

服务详情

登录注册

管理员-首页

管理员-对旅游路线进行管理

管理员-旅游攻略管理

管理员-帖子维护

管理员-导游管理

导游-发布帖子

拦截器
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- HttpSession session = request.getSession();
- if(session.getAttribute("userInfo") != null){
- return true;
- }
- // 不符合条件的给出提示信息,并转发到主页面
- request.setAttribute("msg", "您还没有登录,请先登录!");
- request.getRequestDispatcher("/logout").forward(request, response);
- //返回true通过,返回false拦截
- return false;
- }
美食操作
- /**进入列表页面*/
- @GetMapping("/foodGuild")
- public String userIframe(){
- return "FoodGuildList";
- }
-
- /**列表数据*/
- @GetMapping("/list")
- @ResponseBody
- public PageResultVo findFoodGuild(FoodGuild foodGuild, Integer limit, Integer page,HttpSession session){
- String type = (String)session.getAttribute("type");
- if(type.equals("02")){
- User user = (User)session.getAttribute("userInfo");
- foodGuild.setUid(String.valueOf(user.getId()));
- }
- PageHelper.startPage(page,limit);
- List
foodGuildList = foodGuildService.selectByCondition(foodGuild); - PageInfo
pages = new PageInfo<>(foodGuildList); - return JsonData.table(foodGuildList,pages.getTotal());
- }
-
-
- /**编辑详情*/
- @GetMapping("/edit")
- @ResponseBody
- public FoodGuild edit(Model model, String id){
- return foodGuildService.selectById(id);
- }
-
-
- /**编辑*/
- @PostMapping("/edit")
- @ResponseBody
- public JsonData edit(FoodGuild foodGuild){
- int a = foodGuildService.updateById(foodGuild);
- if (a > 0) {
- return JsonData.success(null,"编辑成功!");
- } else {
- return JsonData.fail("编辑失败");
- }
- }
-
-
- /**删除*/
- @PostMapping("/del")
- @ResponseBody
- public JsonData del(String id){
- try{
- foodGuildService.deleteById(Integer.parseInt(id));
- }catch(Exception ex){
- JsonData.fail("出现错误");
- }
- return JsonData.success(null,"删除成功");
- }
-
-
- /**审核*/
- @PostMapping("/updateStatus")
- @ResponseBody
- public JsonData updateStatus(String id,String status){
- try{
- FoodGuild foodGuild = new FoodGuild();
- foodGuild.setId(Integer.parseInt(id));
- foodGuild.setStatus(status);
- foodGuildService.updateById(foodGuild);
- }catch(Exception ex){
- JsonData.fail("出现错误");
- }
- return JsonData.success(null,"操作成功");
- }
登录操作
- /**
- * 登录
- * 将提交数据(username,password)写入Admin对象
- */
- @RequestMapping(value = "/login")
- @ResponseBody
- public String login(String username,String password,String type, Model model, HttpSession session) {
- Map mp = new HashMap();
- if(username.equals("") || password.equals("")){
- return "202";
- }
- if(type.equals("01")){
- mp.put("username",username);
- mp.put("password",password);
- List
admins = adminService.queryFilter(mp); - if(admins!=null && admins.size()==1){
- session.setAttribute("userInfo", admins.get(0));
- session.setAttribute("type", "01");
- }else{
- return "201";
- }
- }else if(type.equals("02")){
- mp.put("phone",username);
- mp.put("password",password);
- mp.put("type","01");
- List
users = userService.queryFilter(mp); - if(users!=null && users.size()==1){
- session.setAttribute("userInfo", users.get(0));
- session.setAttribute("type", "02");
- }else{
- return "201";
- }
- }else{
- mp.put("phone",username);
- mp.put("password",password);
- mp.put("type","02");
- List
users = userService.queryFilter(mp); - if(users!=null && users.size()==1){
- session.setAttribute("userInfo", users.get(0));
- session.setAttribute("type", "03");
- }else{
- return "201";
- }
- }
- return "200";
- }
以上就是部分功能展示,从整体上来看,本系统功能是十分完整的,界面设计简洁大方,交互友好,数据库设计也很合理,规模适中,代码工整,清晰,适合学习使用。
好了,今天就到这儿吧,小伙伴们点赞、收藏、评论,一键三连走起呀,下期见~~