毕业设计|SSM+VUE的旅游平台系统

作者简介:Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、腾讯课堂常驻讲师

主要内容:Java项目、Python项目、前端项目、人工智能与大数据、简历模板、学习资料、面试题库、技术互助

收藏点赞不迷路  关注作者有好处

文末获取源码 

项目编号:L-BS-LY-01

一,环境介绍

语言环境:Java:  jdk1.8

数据库:Mysql: mysql5.7

应用服务器:Tomcat:  tomcat8.5.31

开发工具:IDEA或eclipse

二,项目简介

该旅游管理系统是基于SSM(Spring、SpringMVC、MyBatis)和Vue.js框架构建的一款旅游管理平台。它集成了景区管理、售票管理、系统管理、景区审核、游记管理、字典管理、景区档案、景区录入、关于我们等功能模块,为旅游行业管理者和游客提供全方位的管理和服务。

功能描述:

一、后台管理模块:

  1. 景区管理:管理员可以添加、编辑和删除景区信息,包括景区名称、地址、介绍、图片等。
  2. 售票管理:管理员可以设置景区的门票价格、售票时间、售票方式等,实现景区门票的在线销售和预约。
  3. 系统管理:管理员可以设置系统的参数和配置,包括网站名称、域名、主题、样式等。
  4. 景区审核:管理员可以对景区申请进行审核和批准,确保景区信息的准确性和可靠性。
  5. 游记管理:管理员可以审核和发布游客的游记文章,展示游客的旅游经历和心得。
  6. 字典管理:管理员可以添加和编辑系统使用的字典数据,包括省份、城市、景区类型等。
  7. 景区档案:管理员可以查看景区的详细档案,包括景区的名称、地址、介绍、图片等。
  8. 景区录入:管理员可以手动录入景区信息,方便管理员对景区信息进行维护和管理。
  9. 关于我们:管理员可以编辑和发布关于公司的介绍和联系方式等信息。

二、用户前端模块:

  1. 首页:用户可以浏览旅游线路和推荐旅游景点,分类展示景点和热门景点等信息。同时可以查看景区门票预订情况和游玩攻略等信息。
  2. 门票预订:用户可以在线预订景区门票,选择游玩日期和人数等信息,实现快捷购票。
  3. 景区资讯:用户可以查看最新的景区资讯和新闻动态,了解景区的最新情况和活动信息。
  4. 游玩攻略:用户可以查看其他游客分享的游玩攻略和旅游经验,为自身的旅行提供参考和帮助。

三,系统展示

3.1 后台管理

3.2 用户端

四,核心代码展示

4.1 SbsnOrderServiceImpl


@Service
public class SbsnOrderServiceImpl implements SbsnOrderService {
    @Resource
    private SbsnOrderDao sbsnOrderDao;
    @Resource
    private TSbsnActDao tSbsnActDao;
    @Resource
    private TSbsnCode tSbsnCode;
    @Resource
    private ScenicDao scenicDao;

    @Override
    public PageInfo queryByParam(Page<SbsnOrder> page) {
        PageHelper.startPage(page.getPageNo(),page.getPageSize());
        PageInfo pageInfo = new PageInfo(sbsnOrderDao.queryByParam(page.getData()));
        return pageInfo;

    }

    /**
     * 查询全部
     * @param queryTime
     * @param scenicName
     * @return
     */
    @Override
    public List<Map> queryAll(String queryTime, String scenicName) {
        return sbsnOrderDao.queryAll(queryTime,scenicName);
    }

    /**
     * 设置订单的初始化信息
     * @param sbsnOrder 前台传过来的订单
     * @return
     */
    @Override
    @Transactional
    public SbsnOrder add(SbsnOrder sbsnOrder) {
        //设置参数 代付款
        sbsnOrder.setCodeid(ConstantUtil.OrderStatus.PENDING_PAYMENT);
        sbsnOrder.setState(ConstantUtil.OrderStatus.PENDING_PAYMENT);
        sbsnOrder.setOrdertime(new Date());
        //返回添加的主键
        int add = sbsnOrderDao.add(sbsnOrder);
        //添加状态
        TSbsnAct tSbsnAct = new TSbsnAct();
        tSbsnAct.setOrderid(sbsnOrder.getOrderid());
        tSbsnAct.setCodeid(sbsnOrder.getCodeid());
        tSbsnAct.setActcode(sbsnOrder.getCodeid());
        //查询动作名称
        tSbsnAct.setActname(tSbsnCode.queryName(sbsnOrder.getCodeid()));
        tSbsnAct.setBz("待付款");
        tSbsnAct.setCztime(sbsnOrder.getOrdertime());
        tSbsnAct.setCzrid(sbsnOrder.getUserid());
        //调用添加
        tSbsnActDao.add(tSbsnAct);

        //景区添加票数
        Scenic scenic = scenicDao.queryBy(sbsnOrder.getScenicid());
        Integer onums = scenic.getOnums();
        scenic.setOnums(onums+1);
        //修改订票信息
        scenicDao.update(scenic);

        return sbsnOrder;
    }

    /**
     * 更改订单状态
     * @param sbsnOrder 更改订单状态
     * @return
     */
    @Override
    @Transactional
    public int update(SbsnOrder sbsnOrder) {
        //设置参数 已付款
        sbsnOrder.setCodeid(ConstantUtil.OrderStatus.PAID);
        sbsnOrder.setState(ConstantUtil.OrderStatus.PAID);
        sbsnOrder.setOrdertime(new Date());
//        sbsnOrder.setCodeid(12);
//        sbsnOrder.setState(12);

        System.out.println(sbsnOrder+"----------------");
        int update = sbsnOrderDao.update(sbsnOrder);
        //设置订单状态
        TSbsnAct tSbsnAct = tSbsnActDao.queryById(sbsnOrder.getOrderid());
        tSbsnAct.setCodeid(sbsnOrder.getCodeid());
        tSbsnAct.setActcode(sbsnOrder.getCodeid());
        //查询动作名称
        tSbsnAct.setActname(tSbsnCode.queryName(tSbsnAct.getCodeid()));
        tSbsnAct.setBz("付款成功");
        tSbsnActDao.update(tSbsnAct);
        //更新景区门票
        Scenic scenic = scenicDao.queryBy(sbsnOrder.getScenicid());
        Integer snums = scenic.getSnums();
        scenic.setSnums(snums+1);
        Integer onums = scenic.getOnums();
        scenic.setOnums(onums-1);
        scenicDao.update(scenic);


        return update;
    }
    /**
     * 更改订单状态
     * @param sbsnOrder 更改订单状态
     * @return
     */
    @Override
    @Transactional
    public int setOrder(SbsnOrder sbsnOrder) {
        //设置参数 已付款
        sbsnOrder.setCodeid(ConstantUtil.OrderStatus.CANCER);
        sbsnOrder.setState(ConstantUtil.OrderStatus.CANCER);
        sbsnOrder.setOrdertime(new Date());

        int update = sbsnOrderDao.update(sbsnOrder);
        //设置订单状态
        TSbsnAct tSbsnAct = tSbsnActDao.queryById(sbsnOrder.getOrderid());
        tSbsnAct.setCodeid(sbsnOrder.getCodeid());
        tSbsnAct.setActcode(sbsnOrder.getCodeid());
        //查询动作名称
        tSbsnAct.setActname(tSbsnCode.queryName(tSbsnAct.getCodeid()));
        tSbsnAct.setBz("已取消订单");
        tSbsnActDao.update(tSbsnAct);
        //更新景区门票
        Scenic scenic = scenicDao.queryBy(sbsnOrder.getScenicid());
        Integer onums = scenic.getOnums();
        scenic.setOnums(onums-1);
        scenicDao.update(scenic);

        return update;
    }

    @Override
    @Transactional
    public int sysUpdate(SbsnOrder sbsnOrder) {
        Integer state = sbsnOrder.getState();//判断用的
        Integer codeid = sbsnOrder.getCodeid();
        if (codeid==11){
            if (state==11){
                return sbsnOrderDao.update(sbsnOrder);
            }
            sbsnOrder.setCodeid(ConstantUtil.OrderStatus.PENDING_PAYMENT);
            sbsnOrder.setState(ConstantUtil.OrderStatus.PENDING_PAYMENT);
            //添加状态
            TSbsnAct tSbsnAct = tSbsnActDao.queryById(sbsnOrder.getOrderid());
            tSbsnAct.setOrderid(sbsnOrder.getOrderid());
            tSbsnAct.setCodeid(ConstantUtil.OrderStatus.PENDING_PAYMENT);
            tSbsnAct.setActcode(ConstantUtil.OrderStatus.PENDING_PAYMENT);
            //查询动作名称
            tSbsnAct.setActname(tSbsnCode.queryName(sbsnOrder.getCodeid()));
            tSbsnAct.setBz("待付款");
            tSbsnAct.setCztime(sbsnOrder.getOrdertime());
            tSbsnAct.setCzrid(sbsnOrder.getUserid());
            //调用更改
            tSbsnActDao.update(tSbsnAct);

            //景区票数设置
            Scenic scenic = scenicDao.queryBy(sbsnOrder.getScenicid());
            if (state!=11){
                Integer onums = scenic.getOnums();
                scenic.setOnums(onums+1);
            }
            if (state==12){
                scenic.setSnums(scenic.getSnums()-1);
            }
            //修改订票信息
            scenicDao.update(scenic);
            //修改订单信息
            return sbsnOrderDao.update(sbsnOrder);
        }else if (codeid==12){
            if (state==12){
                return sbsnOrderDao.update(sbsnOrder);
            }
            //已付款
            return update(sbsnOrder);
        }else{
            if (state==13){
                return sbsnOrderDao.update(sbsnOrder);
            }
            //已取消
            //设置参数 已付款
            sbsnOrder.setCodeid(ConstantUtil.OrderStatus.CANCER);
            sbsnOrder.setState(ConstantUtil.OrderStatus.CANCER);

            //设置订单状态
            TSbsnAct tSbsnAct = tSbsnActDao.queryById(sbsnOrder.getOrderid());
            tSbsnAct.setCodeid(codeid);
            tSbsnAct.setActcode(codeid);
            //查询动作名称
            tSbsnAct.setActname(tSbsnCode.queryName(tSbsnAct.getCodeid()));
            tSbsnAct.setBz("已取消订单");
            tSbsnActDao.update(tSbsnAct);
            //更新景区门票
            Scenic scenic = scenicDao.queryBy(sbsnOrder.getScenicid());
            scenic.setSnums(scenic.getSnums()-1);
            scenicDao.update(scenic);

            return sbsnOrderDao.update(sbsnOrder);
        }
    }

    @Override
    public int deleteById(Integer orderid) {
        return sbsnOrderDao.deleteById(orderid);
    }

}

4.2 NewsServiceImpl


@Service
public class NewsServiceImpl implements NewsService {

    @Autowired
    private NewsDao newsDao;

    /**
     * 根据id查询分页
     * @param page
     * @return
     */
    @Override
    public PageInfo queryById(Page<DicNechannel> page) {
        PageHelper.startPage(page.getPageNo(), page.getPageSize());
        PageInfo pageInfo = new PageInfo(newsDao.queryById(page.getData()));
        return pageInfo;
    }


    @Override
    public PageInfo queryByParam(Page<News> page) {
        PageHelper.startPage(page.getPageNo(),page.getPageSize());
        PageInfo pageInfo = new PageInfo(newsDao.queryByParam(page.getData()));
        System.out.println(pageInfo);
        return pageInfo;
    }

    @Override
    public int add(News news) {
        news.setCjtime(DateUtil.getDate());
        news.setUpdatetime(DateUtil.getDate());
        return newsDao.add(news);
    }

    @Override
    public int update(News news) {
        news.setUpdatetime(DateUtil.getDate());
        return newsDao.update(news);
    }

    /**
     * 首页查询
     * @return
     */
    @Override
    public List<News> queryBy() {
        return newsDao.queryBy();
    }

    @Override
    public int deleteById(Integer id) {
        return newsDao.deleteById(id);
    }
}

五,相关作品展示

基于Java开发、Python开发、PHP开发、C#开发等相关语言开发的实战项目

基于Nodejs、Vue等前端技术开发的前端实战项目

基于微信小程序和安卓APP应用开发的相关作品

基于51单片机等嵌入式物联网开发应用

基于各类算法实现的AI智能应用

基于大数据实现的各类数据管理和推荐系统

 

 

  • 20
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
一、项目简介 本项目是一套基于SSM旅游管理系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本、软件工具、项目说明等,该项目可以直接作为毕设使用。 项目都经过严格调试,确保可以运行! 二、技术实现 ​后台框架:Spring、SpringMVC、MyBatis ​数据库:MySQL 开发环境:JDK、Eclipse、Tomcat 三、系统功能 本系统主要包含了:系统用户管理、景点信息管理、新闻管理、公告文章管理多个功能模块。 下面分别简单阐述一下这几个功能模块需求。 1.登陆注册模块 管理员的登录模块:管理员登录系统对本系统其他管理模块进行管理。 用户的登录模块:用户登录本系统,对个人的信息等进行查询,操作可使用的功能。 用户注册模块:游客用户可以进行用户注册,系统会反馈是否注册成功。 添加管理员模块:向本系统中添加更多的管理人员,管理员包括普通管理员和超级管理员。 2.景点信息管理模块: 景点信息列表:将数据库的景点信息表以列表的形式呈现给管理员。 添加景点信息:实现管理员添加景点信息。 修改景点信息:实现管理员修改景点信息。 3.公告文章管理模块: 公告文章列表:将数据库的公告文章表以列表的形式呈现给管理员。 添加公告文章:实现管理员添加公告文章。 修改公告文章:实现管理员修改公告文章。 4.旅游线路管理模块: 旅游线路列表:显示系统的所有旅游线路,可以通过关键字查询。 旅游线路删除:对输入错误或过期的旅游线路删除。 5.变幻图管理模块: 变幻图列表:显示系统的所有变幻图,可以通过关键字查询。 变幻图删除:对输入错误或过期的变幻图删除。 6.用户模块: 资料管理:用户登录本系统。可以对自己的个人主页进行查看。 系统信息:用户可以查看自己的系统提示信息。 修改资料:用户可以修改自己的账号密码。 信息搜索:用户可以通过关键字搜索站内信息。 密码修改:用户可以修改个人登录密码。 7.系统管理模块:包括数据备份。 8.退出模块: 管理员退出:管理员用来退出系统。 用户退出:用户用来退出系统。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程千纸鹤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值