ssm+vue农家乐信息平台源码和论文

news2024/12/26 22:45:36

ssm+vue农家乐信息平台源码和论文066

 开发工具:idea 
 数据库mysql5.7+
 数据库链接工具:navcat,小海豚等
  技术:ssm

1、研究现状

国外,农家乐都被作为潜在的发展农村经济,增加农民收入的重要手段,让农户广泛参与到农家乐的持续发展中,能够给当地经济带来丰硕成果!9 -13]。国外已经通过多渠道发展农家乐,特别是网络信息化的运用,更是使农家乐飞速发展。

我国旅游信息化建设始于20世纪80年代初期,目前尚处于起步和发展阶段14。2000年10月,国家提出的“金旅工程”规划,加快了我国乡村旅游网络信息化工程的速度,截止到2010年10月,“金旅工程”取得了阶段性的进步,现已建立了乡村旅游农家乐休闲产业,拓宽了网络覆盖面,扩大了经营规模,加大了宣传力度,增加了经济收入,提高了社会效益。到2011 年5月,浙江省累计发展2490个农家乐特色休闲旅游村,352 个省级农家乐特色村,160 个省级四、五星级经营户。农家乐休闲旅游业发展非常迅猛,解决了一部人就业问题,提高了经济收入,带动农民发家致富,浙江省发展农家乐休闲旅游,解决从业人员8.77万人,年营业收入54. 43亿元5。如何借助网络和信息技术,合理利用农家乐旅游资源,发挥当地特色优势。浙江省2006年就开始利用“农民信箱”开展农家乐休闲旅游业的宣传和推介活动I6,通过网络服务平台和传统的农家报道,农家新闻周刊等,展现了农村的田园风光、生态环境、人文乡土气息这些比较有农村特色的产业,-些比较有竞争实力的休闲旅游风景区得到了更快速的发展,当地经济收入也得到了相应的提高,农家乐的经营理念也从萌芽阶段到刚刚起步。因此,可以利用乡村旅游的发展模型,利用网络信息化的宣传方式,创建网络服务平台,提高农家乐的宣传力度,加快农家乐的发展。2008 年浙江省推出了“浙江农家乐乡村休闲旅游网”16,该网站数据库包含浙江特有的乡土文化农家乐资料,为游客和农家乐之间搭建了平台,这对于农家乐网络信息宣传是具有重大意义。现阶段浙江省又发展了“乡村旅游网”,“万村联网”等农家乐网站,“浙江乡村旅游网”介绍了全省1123家农家乐,“浙江省万村联网”介绍了1042 家省内农家乐。“浙江乡村旅游网”主要涵盖省内农家乐、省内乡村旅游景点以及交通路线等相关信息,该网站是由省政府主办,是省级官方网站。但是仍然存在一些问题。一是信息覆盖面不够全面。在农家乐迅速发展的今天,农家乐也在日新月异的变化,例如在某- -区域,有一小部分规模不大,刚刚建立的农家乐信息就不-定能够完全覆盖到。二是针对性不强。建立一个只针对农家乐的网络服务平台,做好游客与农家乐之间的需求分析,该服务平台更适合在区域性范围内投入运营。做好区域性的充分调研,不仅能解决信息覆盖面问题[7],同时也能解决农家乐客流量难以保证的问题,拓宽宣传面,加大促销力度,提供农家乐网络服务信息。

2、研究目的意义

本课题主要是建立一个区域性的连接在农家乐和游客之间的一个网络服务平台,能够为游客提供一个网络信息化的农家乐服务,游客可以通过该平台查询到某一区域的农家乐相关信息。其意义在于:

(1)、扩大了农家乐的宣传面,提高了农家乐的宣传力度,拓宽了该区域经济发展水平,符合国家十二五纲要中指出的要发展农业信息技术,提高农业经营信息化水平。以往农家乐的发展比较被动,没有很好的宣传途径,大多是通过良好的口碑吸引游客,拓宽新游客的渠道基本为零。因此就很难扩展规模,增加收入。如果把农家乐的信息放在网络服务平台上,就能够通过网络做媒介,扩大宣传,吸引游客,更多的游客访问,游玩,必然能够带动当地经济的飞速发展,生产总值增长,农民的生活更加富裕。

(2)、给游客提供了全方位的农家乐的相关信息,节约游客的时间,避免了资源浪费,符合低碳经济的生活模式。节假日风景名胜景点人满为患,有很多游客因而转变了思想理念,更多的是想要体会一下农家游玩的乐趣,感受农村的乡土气息,更多时候跋山涉水,翻山越岭,疲于奔波还没有找到适合游玩的农家乐。造成了人力资源和财力资源的浪费,这完全有悖于低碳生活的生活理念,这个时候农家乐的网络服务平台更能体现它的价值,为游客提供有用的信息,节约资源,降低成本。

package com.controller;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;

import com.utils.ValidatorUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.annotation.IgnoreAuth;

import com.entity.DiscussjingdianxinxiEntity;
import com.entity.view.DiscussjingdianxinxiView;

import com.service.DiscussjingdianxinxiService;
import com.service.TokenService;
import com.utils.PageUtils;
import com.utils.R;
import com.utils.MD5Util;
import com.utils.MPUtil;
import com.utils.CommonUtil;


/**
 * 景点信息评论表
 * 后端接口
 * @author 
 * @email 
 * @date 2021-03-12 20:48:36
 */
@RestController
@RequestMapping("/discussjingdianxinxi")
public class DiscussjingdianxinxiController {
    @Autowired
    private DiscussjingdianxinxiService discussjingdianxinxiService;
    


    /**
     * 后端列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,DiscussjingdianxinxiEntity discussjingdianxinxi, 
		HttpServletRequest request){

        EntityWrapper<DiscussjingdianxinxiEntity> ew = new EntityWrapper<DiscussjingdianxinxiEntity>();
		PageUtils page = discussjingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussjingdianxinxi), params), params));
        return R.ok().put("data", page);
    }
    
    /**
     * 前端列表
     */
	@IgnoreAuth
    @RequestMapping("/list")
    public R list(@RequestParam Map<String, Object> params,DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){
        EntityWrapper<DiscussjingdianxinxiEntity> ew = new EntityWrapper<DiscussjingdianxinxiEntity>();
		PageUtils page = discussjingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, discussjingdianxinxi), params), params));
        return R.ok().put("data", page);
    }

	/**
     * 列表
     */
    @RequestMapping("/lists")
    public R list( DiscussjingdianxinxiEntity discussjingdianxinxi){
       	EntityWrapper<DiscussjingdianxinxiEntity> ew = new EntityWrapper<DiscussjingdianxinxiEntity>();
      	ew.allEq(MPUtil.allEQMapPre( discussjingdianxinxi, "discussjingdianxinxi")); 
        return R.ok().put("data", discussjingdianxinxiService.selectListView(ew));
    }

	 /**
     * 查询
     */
    @RequestMapping("/query")
    public R query(DiscussjingdianxinxiEntity discussjingdianxinxi){
        EntityWrapper< DiscussjingdianxinxiEntity> ew = new EntityWrapper< DiscussjingdianxinxiEntity>();
 		ew.allEq(MPUtil.allEQMapPre( discussjingdianxinxi, "discussjingdianxinxi")); 
		DiscussjingdianxinxiView discussjingdianxinxiView =  discussjingdianxinxiService.selectView(ew);
		return R.ok("查询景点信息评论表成功").put("data", discussjingdianxinxiView);
    }
	
    /**
     * 后端详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        DiscussjingdianxinxiEntity discussjingdianxinxi = discussjingdianxinxiService.selectById(id);
        return R.ok().put("data", discussjingdianxinxi);
    }

    /**
     * 前端详情
     */
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        DiscussjingdianxinxiEntity discussjingdianxinxi = discussjingdianxinxiService.selectById(id);
        return R.ok().put("data", discussjingdianxinxi);
    }
    



    /**
     * 后端保存
     */
    @RequestMapping("/save")
    public R save(@RequestBody DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){
    	discussjingdianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(discussjingdianxinxi);

        discussjingdianxinxiService.insert(discussjingdianxinxi);
        return R.ok();
    }
    
    /**
     * 前端保存
     */
    @RequestMapping("/add")
    public R add(@RequestBody DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){
    	discussjingdianxinxi.setId(new Date().getTime()+new Double(Math.floor(Math.random()*1000)).longValue());
    	//ValidatorUtils.validateEntity(discussjingdianxinxi);

        discussjingdianxinxiService.insert(discussjingdianxinxi);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){
        //ValidatorUtils.validateEntity(discussjingdianxinxi);
        discussjingdianxinxiService.updateById(discussjingdianxinxi);//全部更新
        return R.ok();
    }
    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Long[] ids){
        discussjingdianxinxiService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
    /**
     * 提醒接口
     */
	@RequestMapping("/remind/{columnName}/{type}")
	public R remindCount(@PathVariable("columnName") String columnName, HttpServletRequest request, 
						 @PathVariable("type") String type,@RequestParam Map<String, Object> map) {
		map.put("column", columnName);
		map.put("type", type);
		
		if(type.equals("2")) {
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Calendar c = Calendar.getInstance();
			Date remindStartDate = null;
			Date remindEndDate = null;
			if(map.get("remindstart")!=null) {
				Integer remindStart = Integer.parseInt(map.get("remindstart").toString());
				c.setTime(new Date()); 
				c.add(Calendar.DAY_OF_MONTH,remindStart);
				remindStartDate = c.getTime();
				map.put("remindstart", sdf.format(remindStartDate));
			}
			if(map.get("remindend")!=null) {
				Integer remindEnd = Integer.parseInt(map.get("remindend").toString());
				c.setTime(new Date());
				c.add(Calendar.DAY_OF_MONTH,remindEnd);
				remindEndDate = c.getTime();
				map.put("remindend", sdf.format(remindEndDate));
			}
		}
		
		Wrapper<DiscussjingdianxinxiEntity> wrapper = new EntityWrapper<DiscussjingdianxinxiEntity>();
		if(map.get("remindstart")!=null) {
			wrapper.ge(columnName, map.get("remindstart"));
		}
		if(map.get("remindend")!=null) {
			wrapper.le(columnName, map.get("remindend"));
		}


		int count = discussjingdianxinxiService.selectCount(wrapper);
		return R.ok().put("count", count);
	}
	


}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/929586.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从开源到商业化:成功的转型策略

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

研磨设计模式day09原型模式

目录 场景 代码实现 有何问题 解决方案 代码改造 模式讲解 原型与new 原型实例与克隆出来的实例 浅度克隆和深度克隆 原型模式的优缺点 思考 何时选用&#xff1f; 相关模式 场景 代码实现 定义订单接口 package com.zsp.bike.day08原型模式;/*** 订单的接口*…

大数据时代的软件开发实践:利用云计算和AI赋能创新

文章目录 云计算的赋能弹性资源管理远程协作与分布式开发持续集成和持续交付成本效益 人工智能的赋能数据驱动的决策自动化智能预测和优化自适应系统 创新的实践方法数据驱动的创新智能化产品开放式创新迭代和反馈 &#x1f388;个人主页&#xff1a;程序员 小侯 &#x1f390;…

开源的安全性:挑战与机会

&#x1f337;&#x1f341; 博主猫头虎 带您 Go to New World.✨&#x1f341; &#x1f984; 博客首页——猫头虎的博客&#x1f390; &#x1f433;《面试题大全专栏》 文章图文并茂&#x1f995;生动形象&#x1f996;简单易学&#xff01;欢迎大家来踩踩~&#x1f33a; &a…

Spring和mybatis整合

一、Spring整合MyBatis 1. 导入pom依赖 1.1 添加spring相关依赖(5.0.2.RELEASE) spring-core spring-beans spring-context spring-orm spring-tx spring-aspects spring-web 1.2 添加mybatis相关依赖 mybatis核心&#xff1a;mybatis(3.4.5) Mybatis分页&#xff1a;pagehel…

基于Python的小区监控图像拼接系统设计与实现【源码+论文+演示视频+包运行成功】

博主介绍&#xff1a;✌csdn特邀作者、博客专家、java领域优质创作者、博客之星&#xff0c;擅长Java、微信小程序、Python、Android等技术&#xff0c;专注于Java、Python等技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; …

华为云渲染实践

// 编者按&#xff1a;云计算与网络基础设施发展为云端渲染提供了更好的发展机会&#xff0c;华为云随之长期在自研图形渲染引擎、工业领域渲染和AI加速渲染三大方向进行云渲染方面的探索与研究。本次LiveVideoStackCon 2023上海站邀请了来自华为云的陈普&#xff0c;为大家分…

研磨设计模式day11代理模式

目录 场景 代码实现 ​编辑 解析 定义 代理模式调用示意图 代理模式的特点 本质 ​编辑何时选用 场景 我有一个订单类&#xff0c;包含订单数、用户名和商品名&#xff0c;有一个订单接口包含了对订单类的getter和setter 现在有一个需求&#xff0c;a创建的订单只…

位运算(包括OR,AND,XOR,NOR,NAND,XNOR,以及0xFF等常见应用)

目录 ​编辑 1、按位与操作 2、按位或操作 3、取反运算 4、异或运算 不同为1&#xff0c;相同为0 ​编辑 5、左移运算 6、右移运算 常见用途&#xff1a; C语言位运算讲解&#xff1a; 位运算&#xff08;包括OR,AND,XOR,NOR,NAND,XNOR&#xff0c;以及&0xFF等常…

React 项目中引入msal验证以及部分报错处理

功能实现 如何在React 项目中引入msal身份验证&#xff0c; 微软在官网有提供文档支持&#xff0c;文档包含示例和具体使用的教程&#xff0c;地址如下&#xff1a; https://learn.microsoft.com/zh-cn/azure/active-directory/develop/tutorial-v2-nodejs-webapp-msal 照着文…

ppt转pdf免费的工具哪个好用?ppt在线转pdf的方法分享

在工作和学习中&#xff0c;将PPT文件转换为PDF格式具有重要意义。PDF文件的大小较小&#xff0c;适用于各种平台和设备&#xff0c;保持了原始文件的内容和格式&#xff0c;具有广泛的可读性和兼容性。那么小编就来为大家详细地说一说“ppt转pdf免费的工具哪个好用?ppt在线转…

Pycharm链接远程mysql报错

Pycharm链接远程mysql配置及相应报错如下&#xff1a; 解决方法&#xff1a; 去服务器确认Mysql版本号&#xff1a; 我的Mysql为5.7.43&#xff0c;此时Pycharm mysql驱动为8.0版本&#xff0c;不匹配&#xff0c;所以需要根据实际的版本选择对应的驱动&#xff1b;选择对应的版…

TinyVue - 华为云 OpenTiny 出品的企业级前端 UI 组件库,免费开源,同时支持 Vue2 / Vue3,自带 TinyPro 中后台管理系统

华为最新发布的前端 UI 组件库&#xff0c;支持 PC 和移动端&#xff0c;自带了 admin 后台系统&#xff0c;完成度很高&#xff0c;web 项目开发又多一个选择。 关于 OpenTiny 和 TinyVue 在上个月结束的华为开发者大会2023上&#xff0c;官方正式进行发布了 OpenTiny&#…

uniapp使用sqlite 数据库

uniapp使用sqlite 数据库 傻瓜式使用方式&#xff0c;按步骤&#xff0c;即可使用。 1.开启sqlite 在项目中manifest.json该文件中配置 2.封装数据库的调用方法 const sqlName "zmyalh" //定义的数据库名称 const sqlPath "_doc/zmyalh.db" //定义数…

【腾讯云 TDSQL-C Serverless 产品测评】- 云数据库之旅

“腾讯云 TDSQL-C 产品测评活动”是由腾讯云联合 CSDN 推出的针对数据库产品测评及产品体验活动&#xff0c;本次活动主要面向 TDSQL-C Serverless版。 本次参与活动可以涵盖不同技术层面的用户&#xff0c;可以针对TDSQL-C产品的自动弹性能力、自动启停能力、兼容性、安全、并…

EasyExcel自定义字段对象转换器支持转换实体和集合实体

文章目录 1. 实现ObjectConverter2. 使用3. 测试3.2 导出excel3.1 导入excel 1. 实现ObjectConverter package com.tophant.cloud.common.excel.converters;import cn.hutool.json.JSONUtil; import com.alibaba.excel.converters.Converter; import com.alibaba.excel.enums.…

CSS中如何实现多列布局?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 多列布局&#xff08;Multi-column Layout&#xff09;⭐ column-count⭐ column-width⭐ column-gap⭐ column-rule⭐ column-span⭐ 示例⭐ 写在最后 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 记得点击上方或者右侧…

多线程与高并发——并发编程(2)

文章目录 二、并发编程的三大特性1 原子性1.1 什么是原子性1.2 怎么保证原子性1.2.1 synchronized1.2.2 CAS1.2.3 Lock 锁1.2.4 ThreadLocal 2 可见性2.1 什么是可见性2.2 解决可见性的方式2.2.1 volatile2.2.2 synchronized2.2.3 Lock2.2.4 final 3 有序性3.1 什么是有序性3.2…

iOS HealthKit 介绍

文章目录 一、简介二、权限配置1. 在开发者账号中勾选HealthKit2. 在targets的capabilities中添加HealthKit。3. infoPlist需要配置权限 三、创建健康数据管理类1. 引入头文件2. 健康数据读写权限3. 检查权限4. 读取步数数据5. 写入健康数据 四、运行获取权限页面 一、简介 He…

Linux 下 Mysql 的使用(Ubuntu20.04)

文章目录 一、安装二、使用2.1 登录2.2 数据库操作2.2.1 创建数据库2.2.2 删除数据库2.2.3 创建数据表 参考文档 一、安装 Linux 下 Mysql 的安装非常简单&#xff0c;一个命令即可&#xff1a; sudo apt install mysql-server检查安装是否成功&#xff0c;输入&#xff1a; …