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 params,DiscussjingdianxinxiEntity discussjingdianxinxi,
HttpServletRequest request){
EntityWrapper ew = new EntityWrapper();
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 params,DiscussjingdianxinxiEntity discussjingdianxinxi, HttpServletRequest request){
EntityWrapper ew = new EntityWrapper();
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 ew = new EntityWrapper();
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 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 wrapper = new EntityWrapper();
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);
}
}