当前位置: 首页 > 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 项目介绍 基于VueSpringBootMySQL的海南旅游推荐系统基于协同推荐算法包括用户网页和管理后台包含景点类型模块、旅游景点模块、行程推荐模块、美食推荐模块、景点排名模块还包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块海南旅游推荐系统基于角色的访问控制给景点管理员、游客使用可将权限精确到按钮级别您可以自定义角色并分配权限系统适合设计精确的权限约束需求。 1.2 项目录屏 二、功能模块 2.1 用户端 景点推荐根据用户个性化偏好给用户推荐感兴趣的景点 【景点信息包含景点名称、景点类型、评分、收藏量、门票价格、门票预订提供购买链接用户可以通过点击链接到其他平台购买门票、开放时间、景区地址所在市区、详细地址、景点介绍】景点筛选用户可通过设置自己想要的景点类型、景点门票价格范围、景区地址海口市、三亚市、儋州市、三沙市等来筛选满足自身需求的景点 筛选【注若用户只设置了一个筛选条件则只需满足一个筛选条件就推荐给用户若设置两个以上则需都满足才给用户推荐】旅游攻略用户可以通过搜索景点名称来获取景点周边美食以及行程路线的相关信息 1交通指南起点、终点、交通方式、行程路线 2周边美食美食图片、名称、类型、简介、人均消费景点数据景点数据可视化 1好评度排名管理员可以看到好评度高的前十个景点【排名、景点名称、好评度】 2景点收藏量管理员可以看到收藏量排名前十的景点【排名、景点名称、收藏量】个人中心: 1个人信息账号、姓名、联系方式、身份证号用户可以更新个人信息、退出登录 2景点收藏用户可以查看、取消收藏过的景点 2.2 管理员端 个人中心管理员个人信息景点信息管理 1查询可通过搜索景点名称、地址、景点类型来获取需要的景点数据搜索到需要的景点数据后可进行查看、修改、删除景点信息操作 2添加可以添加新的景点信息用户信息管理 1查询可通过搜索用户账号来查询需要的用户查询到需要的用户后可对用户信息进行查看、修改、删除操作 2添加可添加新用户信息行程信息管理 1查询可通搜索景点地址来获取景点行程路线信息查询到需要的行程信息后可对其进行查看、修改、删除操作 2添加可添加信息美食信息管理 1查询可通搜索景点地址来获取景点周边美食信息查询到需要的信息后可对其进行查看、修改、删除操作 2添加可添加新的美食信息景点数据景点数据可视化同用户端的景点数据可视化 1好评度排名管理员可以看到好评度高的前十个景点【排名、景点名称、好评度】 2景点收藏量管理员可以看到收藏量排名前十的景点【排名、景点名称、收藏量】 三、系统展示 四、核心代码 4.1 随机景点推荐 RequestMapping(value /getRecommendList2OnWeb, method RequestMethod.GET) ApiOperation(value 查询推荐的景点) public ResultListScenicSpot getRecommendList2(){ListScenicSpot 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);ListScenicSpot ans new ArrayList();for (int i : ints) {ans.add(spotList.get(i));}return new ResultUtilListScenicSpot().setData(ans); }public static int[] selectM(int[] arr,int m){int lenarr.length;if(marr.length) {throw new RuntimeException(xxxxx);}int[] resnew int[m];for(int i0;im;i){int randomIndexlen-1-new Random().nextInt(len-i);res[i]arr[randomIndex];int tmparr[randomIndex];arr[randomIndex]arr[i];arr[i]tmp;}return res; }4.2 景点评价 RequestMapping(value /addEvaluate, method RequestMethod.GET) ApiOperation(value 新增评价) public ResultEvaluate 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();QueryWrapperEvaluate 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(){ListScenicSpot spotList iScenicSpotService.list();for (ScenicSpot vo : spotList) {Long evaluateSum 0L;QueryWrapperEvaluate evalQw new QueryWrapper();evalQw.eq(spot_id,vo.getId());ListEvaluate evaluateList iEvaluateService.list(evalQw);for (Evaluate evaluate : evaluateList) {evaluateSum evaluate.getLevel().longValue();}// 收藏 10分QueryWrapperCollection 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 ComparatorScenicSpot() {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;QueryWrapperEvaluate evalQw new QueryWrapper();evalQw.eq(spot_id,vo1.getId());ListEvaluate 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));}// 收藏QueryWrapperCollection 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 ResultString loginOnWeb(RequestParam String userName, RequestParam String password){QueryWrapperUser qw new QueryWrapper();qw.eq(username,userName);ListUser 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 ResultUtilString().setData(accessToken); }4.5 查询景点美食 RequestMapping(value /getByPage, method RequestMethod.GET) ApiOperation(value 查询美食) public ResultIPageDeliciousFood getByPage(ModelAttribute DeliciousFood deliciousFood ,ModelAttribute PageVo page){QueryWrapperDeliciousFood 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());}IPageDeliciousFood data iDeliciousFoodService.page(PageUtil.initMpPage(page),qw);return new ResultUtilIPageDeliciousFood().setData(data); }五、免责说明 本项目仅供个人学习使用商用授权请联系博主否则后果自负。博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权拥有最终解释权。如有问题欢迎在仓库 Issue 留言看到后会第一时间回复相关意见会酌情考虑但没有一定被采纳的承诺或保证。 下载本系统代码或使用本系统的用户必须同意以下内容否则请勿下载 出于自愿而使用/开发本软件了解使用本软件的风险且同意自己承担使用本软件的风险。利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关博主对此不承担任何责任。在任何情况下对于因使用或无法使用本软件而导致的任何难以合理预估的损失包括但不仅限于商业利润损失、业务中断与业务信息丢失博主概不承担任何责任。必须了解使用本软件的风险博主不承诺提供一对一的技术支持、使用担保也不承担任何因本软件而产生的难以预料的问题的相关责任。
http://www.pierceye.com/news/571423/

相关文章:

  • 个人能申请网站吗百度站长提交网址
  • 给素材网站做签约设计不想做了网络规划设计师教程第2版pdf
  • 新做的网站怎样推广html代码加密
  • 织梦淘宝客网站嘉兴网站开发公司
  • 宁波网站推广营销网上购物软件哪个好
  • 网站 风格做网站都可以做什么
  • 网站的建设公司简介现在建站好么
  • 简述电子商务网站建设流程wordpress极速优化
  • 移动网站怎么做万维设计
  • 建设网站我们重中之重-用户体验企业网站模板 首页大图
  • 怎么在本地做网站wordpress 建表
  • wordpress整站数据网站设计公司排名
  • 常州建设局网站海南网站建设报价方案
  • 做网站流量怎么解决广州热点新闻
  • 浙江省网站icp备案网页设计大赛海报
  • 做传奇开服一条龙网站哪个好学计算机网站建设
  • 商城网站素材wordpress影视解析插件
  • 昆明市住房和城乡建设局门户网站如何做自己官方网站
  • 微网站官网室内设计平面图素材
  • 国外做袜靴的网站wordpress在后台文章自定义表单
  • 网站商城建设实训心得优质校建设网站
  • 皖icp网站建设专业建设存在问题及改进建议
  • 建设网银登录网站wordpress怎么删除目录下
  • 网站建设帖子微信附近人推广引流
  • 苏州建网站要多少钱龙岩推广公司
  • 网站二次开发做外贸网站策划
  • 珠海建网站公司wordpress 关闭访问
  • 建设跳转公积金网站网站建设太金手指六六二五
  • 怎样做办公用品销售网站网站开发与维护 专业
  • 大气的网站设计wordpress顶栏