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

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 {@Autowiredprivate 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.hqwc.cn/news/84541.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java基础数据结构

二叉查找树 二叉查找树&#xff0c;又称二叉树或者二叉搜索树 特点&#xff1a;每一个节点上最多又两个子节点 任意节点左子树上的值都小于当前节点 任意节点右子树上的值都大于当前节点 二叉查找树添加节点&#xff1a;规则 小的存左边 大的存右边 一样的不存 平衡二叉树&am…

图神经网络与分子表征:番外——基组选择

学过高斯软件的人都知道&#xff0c;我们在撰写输入文件 gjf 时需要准备输入【泛函】和【基组】这两个关键词。 【泛函】敲定计算方法&#xff0c;【基组】则类似格点积分中的密度&#xff0c;与计算精度密切相关。 部分研究人员借用高斯中的一系列基组去包装输入几何信息&am…

结构型模式-适配器模式

适配器模式* 定义&#xff1a;适配器模式&#xff08;Adapter Pattern&#xff09;是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式&#xff0c;它结合了两个独立接口的功能。 这种模式涉及到一个单一的类&#xff0c;该类负责加入独立的或不兼容的接口…

gitcode中删除已有的项目

镜像地址&#xff1a; https://www.jianshu.com/p/504c1418adb7?v1693021320653 扩展阅读 如何在GitLab中删除一个项目 https://www.codenong.com/cs106866762/ 简介&#xff1a; 如何在GitLab中删除一个项目 最近GIT上建了太多项目。想清一下&#xff0c;就在网上查了查…

Java之API详解之System类的详解

2 System类 2.1 概述 tips&#xff1a;了解内容 查看API文档&#xff0c;我们可以看到API文档中关于System类的定义如下&#xff1a; System类所在包为java.lang包&#xff0c;因此在使用的时候不需要进行导包。并且System类被final修饰了&#xff0c;因此该类是不能被继承的。…

VScode使用SSH连接linux

1、官网下载和安装软件 https://code.visualstudio.com/Download 2、安装插件 单击左侧扩展选项&#xff0c;搜索插件安装 总共需要安装的插件如下所示 3、配置连接服务器的账号 安装完后会在左侧生成了远程连接的图标&#xff0c;单击此图标&#xff0c;然后选择设置图标…

自定义滑动到底部触发指令,elementUI实现分页下拉框

在 main.js 中添加 // 自定义滑动到底部指令 Vue.directive(selectLoadMore, {bind(el, binding) {// 获取element-ui定义好的scroll盒子const SELECTWRAP_DOM el.querySelector(.el-select-dropdown .el-select-dropdown__wrap)SELECTWRAP_DOM.addEventListener(scroll, fun…

ElasticSearch - 海量数据索引拆分的一些思考

文章目录 困难解决方案初始方案及存在的问题segment merge引入预排序 拆分方案设计考量点如何去除冗余数据按什么维度拆分&#xff0c;拆多少个最终的索引拆分模型演进历程整体迁移流程全量迁移流程流量回放比对验证异步转同步多索引联查优化效果 总结与思考参考 困难 索引数据…

聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化

聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化 目录 聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化效果一览基本介绍程序设计参考资料 效果一览 基本介绍 聚类分析 | MATLAB实现基于LP拉普拉斯映射的聚类可视化&#xff0c;聚类结果可视化&#xff0c;MATLAB程…

深度学习2.神经网络、机器学习、人工智能

目录 深度学习、神经网络、机器学习、人工智能的关系 大白话解释深度学习 传统机器学习 VS 深度学习 深度学习的优缺点 4种典型的深度学习算法 卷积神经网络 – CNN 循环神经网络 – RNN 生成对抗网络 – GANs 深度强化学习 – RL 总结 深度学习 深度学习、神经网络…

《C和指针》笔记10:作用域

结合上面的例子讲解C语言的作用域。 1. 代码块作用域 (block scope) 位于一对花括号之间的所有语句称为一个代码块。任何在代码块的开始位置声明的标识符都具有代码块作用域 (block scope)&#xff0c;表示它们可以被这个代码块中的所有语句访问。上图中标识为6、7、9、10的变…

web自动化框架:selenium学习使用操作大全(Python版)

目录 一、浏览器驱动下载二、selenium-python安装&#xff08;打开网站、操作元素&#xff09;三、网页解析&#xff08;HTML、xpath&#xff09;四、selenium基本操作1、元素定位八种方法2、元素动态定位3、iframe切换4、填充表单_填充文本框5、填充表单_单选按钮6、填充表单_…