首页 > 其他分享 >基于springboot的自助旅游服务平台

基于springboot的自助旅游服务平台

时间:2023-09-04 17:35:58浏览次数:30  
标签:return String mp JsonData session 自助 服务平台 type springboot


博主主页猫头鹰源码

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

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

项目介绍: 

该系统创作于2022年4月,包含详细数据库设计。基于springboot技术,数据层为MyBatis,mysql数据库,页面使用html,具有完整的业务逻辑,适合选题:旅游、自助旅游、旅游服务、旅游攻略、**景点旅游平台等。

项目功能:

基于springboot的自助旅游服务平台_java

数据库表结构文档:

基于springboot的自助旅游服务平台_java_02

数据模型:

基于springboot的自助旅游服务平台_java_03

系统包含技术:

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

部分截图说明:

下面是用户首页

基于springboot的自助旅游服务平台_旅游_04

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

基于springboot的自助旅游服务平台_旅游_05

旅游路线详情,可以收藏

基于springboot的自助旅游服务平台_spring boot_06

旅游攻略查询

基于springboot的自助旅游服务平台_后端_07

旅游攻略详情

基于springboot的自助旅游服务平台_java_08

导游服务查询

基于springboot的自助旅游服务平台_spring boot_09

 服务详情

基于springboot的自助旅游服务平台_spring boot_10

登录注册

基于springboot的自助旅游服务平台_java_11

管理员-首页

基于springboot的自助旅游服务平台_后端_12

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

基于springboot的自助旅游服务平台_后端_13

 管理员-旅游攻略管理

基于springboot的自助旅游服务平台_后端_14

 管理员-帖子维护

基于springboot的自助旅游服务平台_旅游_15

 管理员-导游管理

基于springboot的自助旅游服务平台_后端_16

导游-发布帖子

基于springboot的自助旅游服务平台_javaweb_17

部分代码:

拦截器

@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<FoodGuild> foodGuildList = foodGuildService.selectByCondition(foodGuild);
        PageInfo<FoodGuild> 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<Admin> 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<User> 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<User> 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";
	}

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

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

标签:return,String,mp,JsonData,session,自助,服务平台,type,springboot
From: https://blog.51cto.com/u_14544277/7353272

相关文章

  • 基于springboot+vue的江西旅游网(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统为原创项目,以江西旅游为主题,采用前后端分......
  • 基于springboot+vue的商城/体育用品商城/衣服商城系统(前后端分离)
    项目技术:系统使用技术:SpringBoot+SpringDataJpa前端技术:AntDesign、js、css开发工具:idea/vscode数据库:mysql5.7项目介绍:本系统是一个前后端分离的商城系统,适用于课题:前后端分离、商城、体育用品商城、手机商城、服饰商城等各类商城系统,含有详细的数据库设计文档,以及系统介绍,只需......
  • 基于springboot+vue的医院预约系统(前后端分离)
    技术详情: 系统使用技术:springboot+mybatis前端技术:ElementUI、ajax、node.js、js、css开发工具:idea数据库:mysql5.7项目介绍:本系统采用springboot+vue整合开发,前端主要使用了Vue框架、ElementUI和AJAX技术。项目后端主要使用了springboot等一系列框架和MyBatis以及Maven。这一套技......
  • 基于springboot+vue的高校迎新系统(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 本系统为2022年11月开发完成,最新原创项目,采用前后端分离,项目......
  • 基于springboot+vue的社区健康码管理系统(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统为2022年11月开发完成,采用前后端分离,项目......
  • 基于springboot+vue的电子村务系统(前后端分离)
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 本系统为原创项目,以电子村务为主题,采用前后端分......
  • 基于springboot的校园跑腿系统
    博主主页:猫头鹰源码博主简介:Java领域优质创作者、博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询项目介绍: 该系统创作于2022年5月,包含详细数据库设计。基于springboot......
  • 基于springboot自习室预约管理
    博主主页:猫头鹰源码博主简介:Java领域优质创作者博客专家、公司架构师、全网粉丝5万+、专注Java技术领域和毕业设计项目实战主要内容:毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询文末联系获取项目介绍: 该系统创作于2023年3月,基于springboot技术,数据层......
  • SpringBoot+Nacos+OpenFeign实现服务的注册、发现、远程调用
    一、概述微服务的开发必定会用到SpringBoot、Nacos(服务发现、注册、配置中心)、OpenFeign(服务远程调用,也就是通过注解调用其他服务的接口)。今天写这篇是想把这三个功能集成在一起。让他们一起参与微服务的开发工作。要实现的目标:nacos要能够注册及发现服务,openfeign......
  • SpringBoot 读取配置文件
    在resources文件下创建新的配置文件,如test.yml:es:name:elasticsearch准备使用@PropertySource注解来读取test.yml内容,但@PropertySource本身不支持yml文件,所以创建以下类:publicclassPropertySourceConfigextendsDefaultPropertySourceFactory{@Override......