如何用手机制作网站,微信软件定制开发,西地那非片能延时多久有副作用吗,百度资源平台目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 景点类型模块2.2 景点档案模块2.3 酒店管理模块2.4 美食管理模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 学生表3.2.2 学生表3.2.3 学生表3.2.4 学生表 四、系统展示五、核心代码5.1 新增景点类型5.2 查询推荐的… 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 景点类型模块2.2 景点档案模块2.3 酒店管理模块2.4 美食管理模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 学生表3.2.2 学生表3.2.3 学生表3.2.4 学生表 四、系统展示五、核心代码5.1 新增景点类型5.2 查询推荐的景点5.3 查询单个景点5.4 查询评价前10的景点5.5 新增景点评价 六、免责说明 一、摘要
1.1 项目介绍
基于VueSpringBootMySQL的厦门旅游电子商务预订系统包含景点类型模块、景点档案模块、景点评分模块、景点收藏模块、酒店模块、美食模块拥有用户网页端和管理后台端包含系统自带的用户管理、部门管理、角色管理、菜单管理、日志管理、数据字典管理、文件管理、图表展示等基础模块厦门旅游电子商务预订系统基于角色的访问控制给景点管理员、游客使用可将权限精确到按钮级别您可以自定义角色并分配权限系统适合设计精确的权限约束需求。
1.2 项目录屏 二、功能模块 2.1 景点类型模块
景点类型模块是一个用于对旅游景点中不同类型的旅游景点进行分类和管理的模块旅游景点类型模块允许用户按主题和类型组织和管理旅游景点以便用户能够快速找到自己感兴趣的旅游景点景点类型模块为用户提供个性化的推荐服务并根据用户选择的类型和偏好推荐相应的旅游景点和路线。景点类型模块不同通过分析每种类型的旅游景点统计数据可以了解每种类型旅游景点的流量和知名度优化旅游资源的利用效率旅游景点类型模块有助于旅游目的地更好地表达自身特色和品牌形象从而提高旅游目的地的知名度和影响力景点类型模块对于旅游网站和应用程序来说是非常必要的通过景点类型模块更容易搜索用户提供个性化服务优化旅游资源利用更好地表达旅游地区的特色提高用户体验和旅游电子商务预订管理系统的价值。
2.2 景点档案模块
景点档案模块是旅游电子商务预订管理系统中用于管理和显示各种旅游目的地信息、历史背景、地理位置、交通路线等详细资料、旅游目的地介绍、书面信息、相关信息以便您能够更好地了解和选择用户感兴趣的目的地改善旅行体验旅游景点档案模块为用户提供交通路线、周边食宿、票价等详细信息用户可以制定出行计划和预算旅游景点档案模块包含了大量的旅游信息和相关信息可以为平台提供更全面、更丰富的内容提高平台的信息量和可靠性。推介客源和景点提升旅游知名度和影响力促进旅游经济发展了解各类旅游景点的流量和知名度优化旅游资源利用效率。旅游景点模块有助于旅游目的地更好地表达自身特色和品牌形象从而提高旅游目的地的知名度和影响力景点模块对于旅游网站和应用程序来说是非常必要的通过景点模块更容易搜索用户提供个性化服务优化旅游资源利用更好地表达旅游地区的特色提高用户体验和平台价值。
2.3 酒店管理模块
酒店管理模块是用于旅游电子商务预订管理系统钟处理酒店预订和管理系统中的酒店订单、客房、服务等信息的模块酒店管理模块可以通过向酒店提供订单管理、客户管理、客房管理、设备管理等自动化管理工具提高酒店的管理效率可以提供餐饮服务等更先进的服务系统。通过提高酒店的服务质量和用户满意度酒店管理模块可以实现管理自动化减少人力资源和物力消耗更好地控制酒店的运营成本和风险记录并分析酒店运营数据和运营状态帮助酒店经理做出决策并优化运营。
2.4 美食管理模块
美食管理模块是旅游电子商务预订管理系统中用于管理和显示美食信息的模块美食管理模块让用户更容易了解食物、价格、口味等信息让用户吃得上。美食管理模块可以提高选择项目的满意度美食管理模块可以展示餐厅的美食形象和介绍吸引更多潜在顾客的兴趣和参与美食管理模块可以对不同的菜肴进行分类和定价可以执行确定和库存管理等操作为了给餐饮企业提供更便捷的管理模式美食管理模块可以通过分析客户偏好和订单记录为餐饮企业制定科学准确的营销策略提高市场竞争力和盈利能力。 三、系统设计
3.1 用例设计 3.2 数据库设计
3.2.1 学生表 3.2.2 学生表 3.2.3 学生表 3.2.4 学生表 四、系统展示 五、核心代码
5.1 新增景点类型
RequestMapping(value /insert, method RequestMethod.POST)
ApiOperation(value 新增景点类型)
public ResultScenicSpotType insert(ScenicSpotType scenicSpotType){if(scenicSpotType.getSortOrder() null || Objects.equals(0,scenicSpotType.getSortOrder().compareTo(BigDecimal.ZERO))) {scenicSpotType.setSortOrder(BigDecimal.valueOf(iScenicSpotTypeService.count() 1));}iScenicSpotTypeService.saveOrUpdate(scenicSpotType);return new ResultUtilScenicSpotType().setData(scenicSpotType);
}5.2 查询推荐的景点
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;
}5.3 查询单个景点
RequestMapping(value /getOneOnWeb, method RequestMethod.GET)
ApiOperation(value 查询单个景点)
public ResultScenicSpot getOneOnWeb(RequestParam String id){ScenicSpot vo iScenicSpotService.getById(id);if(vo null) {return ResultUtil.error(景点不存在);}// 评分BigDecimal evaluateSum BigDecimal.ZERO;QueryWrapperEvaluate evalQw new QueryWrapper();evalQw.eq(spot_id,vo.getId());ListEvaluate evaluateList iEvaluateService.list(evalQw);for (Evaluate evaluate : evaluateList) {evaluateSum evaluateSum.add(evaluate.getLevel());}if(evaluateList.size() 0) {vo.setStar(evaluateSum.divide(BigDecimal.valueOf(evaluateList.size()),2, RoundingMode.DOWN));} else {vo.setStar(BigDecimal.valueOf(-1));}// 收藏QueryWrapperCollection coQw new QueryWrapper();coQw.eq(spot_id,vo.getId());vo.setCollection(iCollectionService.count(coQw));String viewStr redisTemplate.get(SPOT_VIEW: vo.getId());if(!ZwzNullUtils.isNull(viewStr)) {try {long viewNumber Long.parseLong(viewStr);redisTemplate.set(SPOT_VIEW: vo.getId(),(viewNumber 1) );} catch (Exception e) {}} else {redisTemplate.set(SPOT_VIEW: vo.getId(), 1);}return new ResultUtilScenicSpot().setData(vo);
}5.4 查询评价前10的景点
RequestMapping(value /getTopEvaluate, method RequestMethod.GET)
ApiOperation(value 查询评价前10的景点)
public ResultListScenicSpot getTopEvaluate(){ListScenicSpot spotList iScenicSpotService.list();for (ScenicSpot vo : spotList) {BigDecimal evaluateSum BigDecimal.ZERO;QueryWrapperEvaluate evalQw new QueryWrapper();evalQw.eq(spot_id,vo.getId());ListEvaluate evaluateList iEvaluateService.list(evalQw);for (Evaluate evaluate : evaluateList) {evaluateSum evaluateSum.add(evaluate.getLevel());}if(evaluateList.size() 0) {vo.setStar(evaluateSum.divide(BigDecimal.valueOf(evaluateList.size()),2, RoundingMode.DOWN));} else {vo.setStar(BigDecimal.ZERO);}}Collections.sort(spotList, new ComparatorScenicSpot() {Overridepublic int compare(ScenicSpot o1, ScenicSpot o2) {return o2.getStar().compareTo(o1.getStar());}});if(spotList.size() 10) {spotList spotList.subList(0,10);}return new ResultUtilListScenicSpot().setData(spotList);
}5.5 新增景点评价
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();
}六、免责说明
本项目仅供个人学习使用商用授权请联系博主否则后果自负。博主拥有本软件构建后的应用系统全部内容所有权及独立的知识产权拥有最终解释权。如有问题欢迎在仓库 Issue 留言看到后会第一时间回复相关意见会酌情考虑但没有一定被采纳的承诺或保证。
下载本系统代码或使用本系统的用户必须同意以下内容否则请勿下载
出于自愿而使用/开发本软件了解使用本软件的风险且同意自己承担使用本软件的风险。利用本软件构建的网站的任何信息内容以及导致的任何版权纠纷和法律争议及后果和博主无关博主对此不承担任何责任。在任何情况下对于因使用或无法使用本软件而导致的任何难以合理预估的损失包括但不仅限于商业利润损失、业务中断与业务信息丢失博主概不承担任何责任。必须了解使用本软件的风险博主不承诺提供一对一的技术支持、使用担保也不承担任何因本软件而产生的难以预料的问题的相关责任。