基于Jquery+SpringBoot2.0的旅游酒店网站设计与实现

该旅游系统是一个前后端分离的Web应用,采用了Jquery+SpringBoot2.0技术栈,结合MySql和Mongodb数据库,利用Redis做缓存。系统包括管理端和客户端功能,如线路管理、商品管理、订单处理等,支持用户注册登录、信息查询与订单下单。同时,文章详细介绍了项目的部署步骤,涉及Nginx配置和数据库启动。

目录
1.项目简介 2
1.1背景分析 2
1.2研究意义 2
1.3需求分析 3
1.4项目特点 3
1.5技术栈 4
2.数据库设计 5
3.项目设计 7
3.1项目配置 7
3.2Redis缓存配置 7
3.3常用工具类 10
3.4业务代码 39
3.5前端代码 43
4.算法分析 51
5.项目部署 52
5.1.启动Nginx 52
5.2.启动Mongodb 54
5.3.启动Redis 54
5.4.启动项目 54
5.5.view address访问地址 54
6.项目展示 55
7.总结 73
1.3需求分析
本旅游系统是在旅游的人数日渐增多的时间下产生的产物,它是个关于现代物质生活水平提高的人们对旅游要求的提升和对信息的获取要求方便快捷而提出的一套基于网络的旅游系统,自从旅游产业的开发以来,现在已经打下了不错的基础。可是全民旅游的气氛还不浓郁,思想观念还没有完全统一,并且许多政策和管理措施不到位,旅游规划不严格,旅游资金投入不足,旅游企业体制不完善等弊端的存在使得坚持大旅游、高起点、优布局、功能全、可持续的原则很难实现。于是电子商务旅游在这种情况下被提了出来,它能满足不同游客的不同要求,为他们旅游的起始提供方便、及时、快捷的服务。旅游网站不仅适合小型的旅行社,还适用于大中型的旅行社。
开发一个系统之前,对系统开发的目标和所实现的功能应该进行细致的分析,系统分析师数据库开发的前提,做好系统分析是整个项目开发的基础。经过对旅行社预订线路的流程的了解以及与相关旅行社人员的交流,此系统应该具有如下功能:
•管理端功能:要有权限控制,普通用户和管理员所操作的层次不一样;管理员可添加旅游线路,如自然风光、购物天堂等,并填写它们的详细信息;
•可以根据线路号查看线路的详细信息;商品的管理,包括商品的增、删、改、查、统计等;订单的管理,包括订单的查询和删除;
•客户端功能:用户可以自行注册登录;注册后用户可以修改自己的基本信息,修改密码等;可以浏览旅游线路信息,并根据自己需要下订单
1.5技术栈
•采用前后端分离,Jquery + SpringBoot2.0
•后端语言Java
•ORM使用SpringDataJPA
•数据库使用MySql5.7+Mongodb3
•缓存Redis
•部署Nginx+Jar

package com.feelcode.tourism.service.impl;

import com.feelcode.tourism.dao.OrderDao;
import com.feelcode.tourism.entity.Order;
import com.feelcode.tourism.entity.OrderRequestPageDTO;
import com.feelcode.tourism.service.OrderService;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.data.domain.Sort;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Description:
 * @Modified By:
 */
@Service(value = "orderService")
public class OrderServiceImpl implements OrderService {

    @Resource
    OrderDao orderDao;

    @Override
    public Order save(Order order) {
        return orderDao.save(order);
    }

    @Override
    public Order findById(String id) {
        return orderDao.findById(id);
    }

    @Override
    public void delete(Order order) {
        orderDao.delete(order);
    }

    @Override
    public List<Order> findAll() {
        return orderDao.findAll();
    }

    @Override
    public Page<Order> findAllByPage(OrderRequestPageDTO request) {
        // 排序方式,这里是以“recordNo”为标准进行降序
        Sort sort = new Sort(Sort.Direction.DESC, "createDate");  // 这里的"recordNo"是实体类的主键,记住一定要是实体类的属性,而不能是数据库的字段
        Pageable pageable = new PageRequest(request.getStart(), request.getLength(), sort); // (当前页, 每页记录数, 排序方式)
        return orderDao.findAll(pageable);
    }

    @Override
    public Order findByUserIdAndProductId(String userId, String productId) {
        return orderDao.findByUserIdAndProductId(userId, productId);
    }

    @Override
    public Page<Order> findAllByUserIdAndPage(OrderRequestPageDTO request) {
        // 排序方式,这里是以“recordNo”为标准进行降序
        Sort sort = new Sort(Sort.Direction.DESC, "createDate");  // 这里的"recordNo"是实体类的主键,记住一定要是实体类的属性,而不能是数据库的字段
        Pageable pageable = new PageRequest(request.getStart(), request.getLength(), sort); // (当前页, 每页记录数, 排序方式)
        return orderDao.findByUserId(request.getUserId(), pageable);
    }

    @Override
    public Long findAllByCount() {
        return orderDao.count();
    }
}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值