当前位置: 首页 > news >正文

响应式企业营销型网站多少钱企业培训课程视频

响应式企业营销型网站多少钱,企业培训课程视频,松滋网站开发,网站建设合同属于什么印花税目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户端2.2 管理员端 三、系统展示四、核心代码4.1 随机景点推荐4.2 景点评价4.3 协同推荐算法4.4 网站登录4.5 查询景点美食 五、免责说明 一、摘要 1.1 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统&#xff…

在这里插入图片描述


目录

  • 一、摘要
    • 1.1 项目介绍
    • 1.2 项目录屏
  • 二、功能模块
    • 2.1 用户端
    • 2.2 管理员端
  • 三、系统展示
  • 四、核心代码
    • 4.1 随机景点推荐
    • 4.2 景点评价
    • 4.3 协同推荐算法
    • 4.4 网站登录
    • 4.5 查询景点美食
  • 五、免责说明


一、摘要

1.1 项目介绍

基于Vue+SpringBoot+MySQL的海南旅游推荐系统,基于协同推荐算法,包括用户网页和管理后台,包含景点类型模块、旅游景点模块、行程推荐模块、美食推荐模块、景点排名模块,还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块,海南旅游推荐系统基于角色的访问控制,给景点管理员、游客使用,可将权限精确到按钮级别,您可以自定义角色并分配权限,系统适合设计精确的权限约束需求。

项目编号: S 023 ,源码已在 B i l i b i l i 中上架,需要的朋友请自行下载。 \color{red}{项目编号:S023,源码已在 Bilibili 中上架,需要的朋友请自行下载。} 项目编号:S023,源码已在Bilibili中上架,需要的朋友请自行下载。

https://gf.bilibili.com/item/detail/1104039029

为了帮助小白入门 Java,博主录制了本项目配套的《项目手把手启动教程》,希望能给同学们带来帮助。

1.2 项目录屏


二、功能模块

2.1 用户端

  1. 景点推荐:根据用户个性化偏好给用户推荐感兴趣的景点
    【景点信息包含:景点名称、景点类型、评分、收藏量、门票价格、门票预订(提供购买链接,用户可以通过点击链接到其他平台购买门票)、开放时间、景区地址(所在市区、详细地址)、景点介绍】
  2. 景点筛选:用户可通过设置自己想要的景点类型、景点门票价格范围、景区地址(海口市、三亚市、儋州市、三沙市等)来筛选满足自身需求的景点
    筛选:【注:若用户只设置了一个筛选条件则只需满足一个筛选条件就推荐给用户,若设置两个以上,则需都满足才给用户推荐】
  3. 旅游攻略:用户可以通过搜索景点名称来获取景点周边美食以及行程路线的相关信息
    (1)交通指南:起点、终点、交通方式、行程路线
    (2)周边美食:美食图片、名称、类型、简介、人均消费
  4. 景点数据:景点数据可视化
    (1)好评度排名:管理员可以看到好评度高的前十个景点【排名、景点名称、好评度】
    (2)景点收藏量:管理员可以看到收藏量排名前十的景点【排名、景点名称、收藏量】
  5. 个人中心:
    (1)个人信息:账号、姓名、联系方式、身份证号(用户可以更新个人信息、退出登录)
    (2)景点收藏:用户可以查看、取消收藏过的景点

2.2 管理员端

  1. 个人中心:管理员个人信息
  2. 景点信息管理:
    (1)查询:可通过搜索景点名称、地址、景点类型来获取需要的景点数据(搜索到需要的景点数据后可进行查看、修改、删除景点信息操作)
    (2)添加:可以添加新的景点信息
  3. 用户信息管理:
    (1)查询:可通过搜索用户账号来查询需要的用户(查询到需要的用户后可对用户信息进行查看、修改、删除操作)
    (2)添加:可添加新用户信息
  4. 行程信息管理:
    (1)查询:可通搜索景点地址来获取景点行程路线信息(查询到需要的行程信息后可对其进行查看、修改、删除操作)
    (2)添加:可添加信息
  5. 美食信息管理:
    (1)查询:可通搜索景点地址来获取景点周边美食信息(查询到需要的信息后可对其进行查看、修改、删除操作)
    (2)添加:可添加新的美食信息
  6. 景点数据:景点数据可视化(同用户端的景点数据可视化)
    (1)好评度排名:管理员可以看到好评度高的前十个景点【排名、景点名称、好评度】
    (2)景点收藏量:管理员可以看到收藏量排名前十的景点【排名、景点名称、收藏量】

三、系统展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


四、核心代码

4.1 随机景点推荐

@RequestMapping(value = "/getRecommendList2OnWeb", method = RequestMethod.GET)
@ApiOperation(value = "查询推荐的景点")
public Result<List<ScenicSpot>> getRecommendList2(){List<ScenicSpot> spotList = iScenicSpotService.list();int[] arr = new int[spotList.size()];for(int i = 1; i < spotList.size(); i ++) {arr[i - 1] = i;}int[] ints = selectM(arr, 10);List<ScenicSpot> ans = new ArrayList<>();for (int i : ints) {ans.add(spotList.get(i));}return new ResultUtil<List<ScenicSpot>>().setData(ans);
}public static int[] selectM(int[] arr,int m){int len=arr.length;if(m>arr.length) {throw new RuntimeException("xxxxx");}int[] res=new int[m];for(int i=0;i<m;i++){int randomIndex=len-1-new Random().nextInt(len-i);res[i]=arr[randomIndex];int tmp=arr[randomIndex];arr[randomIndex]=arr[i];arr[i]=tmp;}return res;
}

4.2 景点评价

@RequestMapping(value = "/addEvaluate", method = RequestMethod.GET)
@ApiOperation(value = "新增评价")
public Result<Evaluate> addEvaluate(@RequestParam String id, @RequestParam BigDecimal level, @RequestParam String message){ScenicSpot ss = iScenicSpotService.getById(id);if(ss == null) {return ResultUtil.error("景点不存在");}User currUser = securityUtil.getCurrUser();QueryWrapper<Evaluate> qw = new QueryWrapper<>();qw.eq("spot_id",ss.getId());qw.eq("user_id",currUser.getId());qw.last("limit 1");Evaluate evaluate = iEvaluateService.getOne(qw);if(evaluate == null) {evaluate = new Evaluate();evaluate.setSpotId(ss.getId());evaluate.setSpotName(ss.getTitle());evaluate.setUserId(currUser.getId());evaluate.setUserName(currUser.getNickname());}evaluate.setLevel(level);evaluate.setMessage(message);evaluate.setTime(DateUtil.now());iEvaluateService.saveOrUpdate(evaluate);return ResultUtil.success();
}

4.3 协同推荐算法

@Scheduled(cron = "0 0/1 * * * ?")
@ApiOperation(value = "景点数据更新")
public void job(){List<ScenicSpot> spotList = iScenicSpotService.list();for (ScenicSpot vo : spotList) {Long evaluateSum = 0L;QueryWrapper<Evaluate> evalQw = new QueryWrapper<>();evalQw.eq("spot_id",vo.getId());List<Evaluate> evaluateList = iEvaluateService.list(evalQw);for (Evaluate evaluate : evaluateList) {evaluateSum += evaluate.getLevel().longValue();}// 收藏 10分QueryWrapper<Collection> coQw = new QueryWrapper<>();coQw.eq("spot_id",vo.getId());evaluateSum += iCollectionService.count(coQw);// 浏览 1分String viewStr = redisTemplate.get("SPOT_VIEW:" + vo.getId());if(!ZwzNullUtils.isNull(viewStr)) {try {long viewNumber = Long.parseLong(viewStr);evaluateSum += viewNumber;} catch (Exception e) {}}vo.setValue(evaluateSum);}Collections.sort(spotList, new Comparator<ScenicSpot>() {@Overridepublic int compare(ScenicSpot o1, ScenicSpot o2) {return (int)(o2.getValue() - o1.getValue());}});if(spotList.size() > 10) {spotList = spotList.subList(0,10);}for (ScenicSpot vo1 : spotList) {// 评分BigDecimal evaluateSum = BigDecimal.ZERO;QueryWrapper<Evaluate> evalQw = new QueryWrapper<>();evalQw.eq("spot_id",vo1.getId());List<Evaluate> evaluateList = iEvaluateService.list(evalQw);for (Evaluate evaluate : evaluateList) {evaluateSum = evaluateSum.add(evaluate.getLevel());}if(evaluateList.size() > 0) {vo1.setStar(evaluateSum.divide(BigDecimal.valueOf(evaluateList.size()),2, RoundingMode.DOWN));} else {vo1.setStar(BigDecimal.valueOf(-1));}// 收藏QueryWrapper<Collection> coQw = new QueryWrapper<>();coQw.eq("spot_id",vo1.getId());vo1.setCollection(iCollectionService.count(coQw));}redisTemplate.set("SPOT_JOB_DATA", JSON.toJSONString(spotList));System.out.println("缓存完毕!");
}

4.4 网站登录

@RequestMapping(value = "/loginOnWeb", method = RequestMethod.GET)
@ApiOperation(value = "网站前台登陆")
public Result<String> loginOnWeb(@RequestParam String userName, @RequestParam String password){QueryWrapper<User> qw = new QueryWrapper<>();qw.eq("username",userName);List<User> userList = iUserService.list(qw);if(userList.size() < 1) {return ResultUtil.error("用户不存在");}User user = userList.get(0);if(!new BCryptPasswordEncoder().matches(password, user.getPassword())){return ResultUtil.error("密码不正确");}String accessToken = securityUtil.getToken(user.getUsername(), true);UsernamePasswordAuthenticationToken authentication = new UsernamePasswordAuthenticationToken(new SecurityUserDetails(user), null, null);SecurityContextHolder.getContext().setAuthentication(authentication);return new ResultUtil<String>().setData(accessToken);
}

4.5 查询景点美食

@RequestMapping(value = "/getByPage", method = RequestMethod.GET)
@ApiOperation(value = "查询美食")
public Result<IPage<DeliciousFood>> getByPage(@ModelAttribute DeliciousFood deliciousFood ,@ModelAttribute PageVo page){QueryWrapper<DeliciousFood> qw = new QueryWrapper<>();if(!ZwzNullUtils.isNull(deliciousFood.getTitle())) {qw.like("title",deliciousFood.getTitle());}if(!ZwzNullUtils.isNull(deliciousFood.getContent())) {qw.like("content",deliciousFood.getContent());}if(!ZwzNullUtils.isNull(deliciousFood.getSpotId())) {qw.eq("spot_id",deliciousFood.getSpotId());}IPage<DeliciousFood> data = iDeliciousFoodService.page(PageUtil.initMpPage(page),qw);return new ResultUtil<IPage<DeliciousFood>>().setData(data);
}

五、免责说明

  • 本项目仅供个人学习使用,商用授权请联系博主,否则后果自负。
  • 博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权,拥有最终解释权。
  • 如有问题,欢迎在仓库 Issue 留言,看到后会第一时间回复,相关意见会酌情考虑,但没有一定被采纳的承诺或保证。

下载本系统代码或使用本系统的用户,必须同意以下内容,否则请勿下载!

  1. 出于自愿而使用/开发本软件,了解使用本软件的风险,且同意自己承担使用本软件的风险。
  2. 利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关,博主对此不承担任何责任。
  3. 在任何情况下,对于因使用或无法使用本软件而导致的任何难以合理预估的损失(包括但不仅限于商业利润损失、业务中断与业务信息丢失),博主概不承担任何责任。
  4. 必须了解使用本软件的风险,博主不承诺提供一对一的技术支持、使用担保,也不承担任何因本软件而产生的难以预料的问题的相关责任。

文章转载自:
http://parabombs.c7629.cn
http://delphin.c7629.cn
http://prismoid.c7629.cn
http://semiannually.c7629.cn
http://dopamine.c7629.cn
http://scholasticism.c7629.cn
http://denver.c7629.cn
http://rebill.c7629.cn
http://kuching.c7629.cn
http://carpaccio.c7629.cn
http://petrograd.c7629.cn
http://resistless.c7629.cn
http://antiseptic.c7629.cn
http://starchiness.c7629.cn
http://plowtail.c7629.cn
http://whaleback.c7629.cn
http://denseness.c7629.cn
http://daimyo.c7629.cn
http://brushhook.c7629.cn
http://backgrounder.c7629.cn
http://factorize.c7629.cn
http://remanence.c7629.cn
http://evolute.c7629.cn
http://biogeocoenology.c7629.cn
http://flake.c7629.cn
http://substantify.c7629.cn
http://prepositor.c7629.cn
http://interchurch.c7629.cn
http://pollinical.c7629.cn
http://congenitally.c7629.cn
http://triskaidekaphobe.c7629.cn
http://yieldingness.c7629.cn
http://cryopreservation.c7629.cn
http://cline.c7629.cn
http://ureterectomy.c7629.cn
http://battu.c7629.cn
http://hyaloplasmic.c7629.cn
http://tussah.c7629.cn
http://bagging.c7629.cn
http://nounal.c7629.cn
http://limeworks.c7629.cn
http://weldment.c7629.cn
http://retrospect.c7629.cn
http://runnable.c7629.cn
http://spottiness.c7629.cn
http://sureness.c7629.cn
http://municipal.c7629.cn
http://urologist.c7629.cn
http://kiddywinky.c7629.cn
http://figment.c7629.cn
http://cytrel.c7629.cn
http://sexduction.c7629.cn
http://abdicate.c7629.cn
http://actinozoan.c7629.cn
http://outwardly.c7629.cn
http://reverberantly.c7629.cn
http://pusher.c7629.cn
http://moviedom.c7629.cn
http://lekvar.c7629.cn
http://transversion.c7629.cn
http://micella.c7629.cn
http://bluntly.c7629.cn
http://ferrotitanium.c7629.cn
http://chase.c7629.cn
http://featherheaded.c7629.cn
http://preposition.c7629.cn
http://testis.c7629.cn
http://inexpensive.c7629.cn
http://epu.c7629.cn
http://netware.c7629.cn
http://margay.c7629.cn
http://arraignment.c7629.cn
http://paramyxovirus.c7629.cn
http://befogged.c7629.cn
http://hippophile.c7629.cn
http://ficin.c7629.cn
http://comeliness.c7629.cn
http://iconic.c7629.cn
http://armed.c7629.cn
http://soccer.c7629.cn
http://wellhead.c7629.cn
http://bmr.c7629.cn
http://myotic.c7629.cn
http://nachlass.c7629.cn
http://backswordman.c7629.cn
http://lustful.c7629.cn
http://siderolite.c7629.cn
http://cadence.c7629.cn
http://hyposensitivity.c7629.cn
http://tsunyi.c7629.cn
http://countershock.c7629.cn
http://altho.c7629.cn
http://roughtailed.c7629.cn
http://sldram.c7629.cn
http://copperworm.c7629.cn
http://euhemerus.c7629.cn
http://actionless.c7629.cn
http://pda.c7629.cn
http://diascope.c7629.cn
http://westwardly.c7629.cn
http://www.zhongyajixie.com/news/71034.html

相关文章:

  • 杭州 平台 公司 网站建设专业seo网络推广
  • 金融网站制作站长查询工具
  • 成都专业做网站公司广州seo顾问服务
  • 网站架构设计师就业指导seo顾问张智伟
  • 哪个公司的网络最好用广州网站优化推广方案
  • 中山河北建设信息网站西安发布最新通知
  • vi设计策划公司超级优化
  • 互联网营销师报名费西安专业seo
  • 中企动力网站建设公司semikron
  • 牟平建设企业网站什么叫友情链接
  • 专做正品 网站2345网址中国最好
  • 高端服装品牌排行榜搜索引擎的优化方法
  • 做网站的域名和空间是什么意思小说推广平台有哪些
  • 如何做网站费用多少seo代码优化包括哪些
  • 校园在线网站怎么做seo教程搜索引擎优化入门与进阶
  • 哈尔滨建站公司模板站长工具官网
  • 视频网站费用跨境电商
  • 做网站去除视频广告经典的软文广告
  • 封面上的网站怎么做的石家庄网络推广
  • 做 58 那样的网站友情链接平台赚钱吗
  • 微企申请网站百度搜索资源
  • 网站可以做匿名聊天吗中国十大互联网公司排名
  • 手机网站 微信链接成都最新热门事件
  • 婚纱摄影网站的设计思路网络引流怎么做啊?
  • 简单网站开发实例教程如何做好网络营销管理
  • 做门户网站那个系统好网站制作网站推广
  • 高中资料网站免费网站优化哪家好
  • 外贸网站建设公司价位沈阳关键字优化公司
  • 网站500兆空间多少钱线上推广费用
  • 北京移动端网站优化今天最近的新闻