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

基于springboot3 VUE3 火车订票系统前后端分离项目适合新手学习的项目包含 智能客服 换乘算法


博主介绍:专注于Java(springboot ssm 等开发框架) vue  .net  php phython node.js    uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作
☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟
我的博客空间发布了2000+毕设题目 方便大家学习使用
感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人
更多项目地址 介绍 

springbootvue前后端分离火车订票系统适合初学者学习的项目包含亮点 智能客服、换乘算法

项目基本信息介绍
springboot3 VUE3 火车订票系统是一套完善的完整电子商务类型系统,结合springboot框架和VUE完成本系统,对理解springboot3编程以及vue3前端开发有帮助系统采用springboot框架(MVC模式开发),系统具有完整的源代码和数据库,系统主要采用B/S模式开发。
技术栈
前端主要技术 vue 3.2
后端主要技术 Springboot 3.x java
数据库 mysql 8.0 客户端工具 Navicat for Mysql
开发工具 IDEA  JDK17
运行环境

1.运行环境:最好是java jdk 17,我们在这个平台上运行的。其他版本理论上也可以 不建议。

2.IDE环境:推荐IDEA;

3.硬件环境:windows 7/8/10 8G内存以上;;

5.数据库:mysql8.0等版本均可  如 MySql 5.0 到 5.5  需要修改数据连接配置,以及maven中的mysql 驱动包;

6.是否Maven项目: 是;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目


使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应sql文件名称的数据库,并导入项目的sql文件;
2. 使用IDEA导入项目;
3. 将项目中train\src\main\resources 下的 application.properties 配置文件中的数据库配置改为自己的配置;
数据库支持 mysql8.0 ,如果需要5.0 到5.5需要二次转换升级
4.vscode 开vue项目工程
5.vue 项目启动  npm run dev
vue 版本 3.2
node 版本 20
功能介绍

用户管理

功能描述:管理员可以管理系统中的普通用户信息,包括用户的个人信息(如姓名、联系方式、账户状态等)的查看、注册、修改个人信息。
操作界面:展示所有用户的列表,并提供操作按钮来管理用户信息。

车站管理

功能描述:管理员对车站信息进行管理,确保车站信息更新准确。包括车站的详细信息、站点的安排等。
操作界面:展示车站的列表,管理员可以修改站点信息,或删除不需要的车站。
票务管理

功能描述:管理员管理车票信息,包括票的种类、票价、发售时间、余票数量等。
操作界面:提供一个管理票务的页面,可以修改票价、查看余票、更新售票状态等。
座位管理

功能描述:管理员可以管理座位的具体信息,包括每个座位是否已被占用,是否已售出,座位的所属车次等。
操作界面:展示每个车次的座位分布情况,管理员可以修改座位的状态或删除无效座位。
订单管理

功能描述:管理员可以查看所有订单的详情,进行订单的提交、删除、修改或查看状态等操作。
操作界面:展示所有订单的列表,可以通过筛选条件(如订单状态、乘客姓名等)查询并管理订单。
支持换乘、退票、智能客服

后端功能描述
管理员管理

功能描述:后端提供管理员信息的增、删、改、查接口。包括对管理员信息(如用户名、密码、权限等)的操作。
数据库操作:对管理员数据表进行增、删、改、查操作,确保管理员信息安全和权限管理。
用户管理

功能描述:后端提供用户信息的增、删、改、查接口,管理员可以通过这些接口对用户信息进行管理。
数据库操作:管理用户数据表,包括用户的注册信息、登录状态等。
座位类别管理

功能描述:后端提供座位类别的增、删、改、查接口,支持对座位类别进行管理。
数据库操作:座位类别数据表的操作,确保座位类别的准确性。
站点管理

功能描述:后端提供车站信息的增、删、改、查接口。
数据库操作:车站信息数据表的操作,确保车站信息及时更新。
车次管理

功能描述:后端提供车次的增、删、改、查接口,管理车次的时间、站点、票价等信息。
数据库操作:车次数据表的操作,确保车次信息准确。
车站管理

功能描述:后端提供车站管理接口,确保车站的所有相关信息可以被有效增、删、改、查。
数据库操作:车站信息表的增删改查操作,确保车站信息准确。
票务管理

功能描述:后端提供票务管理的接口,包含票的添加、修改、删除等操作。
数据库操作:票务表的增删改查操作,确保票务信息的准确。
座位管理

功能描述:后端提供座位信息的增、删、改、查接口,包括座位的占用状态、车次分配等。
数据库操作:座位表的操作,确保座位的状态和车次分配正确。
订单管理

功能描述:后端提供订单的增、删、改、查接口,处理用户的购票、退票等订单请求。
数据库操作:订单数据表的操作,确保订单信息的准确性和订单状态的实时更新。
订单量管理

功能描述:后端提供查询和统计订单量的接口,供管理员查看订单量的变化。
数据库操作:订单数据表的统计操作,按车次、区间等进行统计。
车次统计管理

功能描述:后端提供车次销售统计接口,管理员可以查看车次的销售数据。
数据库操作:对车次销售数据进行统计和展示。
区间统计管理

功能描述:后端提供区间的销售统计接口,管理员可以查看不同区间的销售情况。
数据库操作:区间销售数据统计,帮助管理员进行数据分析。

数据库设计

[表gly] 管理员列属性表格

序号字段名称数据类型长度主键描述
1glyidINTEGER11管理员编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名

[表yonghu] 用户列属性表格

序号字段名称数据类型长度主键描述
1yhidINTEGER11用户编号
2yhmVARCHAR40用户名
3mmVARCHAR40密码
4xmVARCHAR40姓名
5sfzVARCHAR40身份证
6mzVARCHAR40民族
7dzVARCHAR40地址
8lxdhVARCHAR40联系电话
9yjVARCHAR40邮件
10cwcsVARCHAR40错误次数
11cwsjVARCHAR40错误时间

[表zwlb] 座位类别列属性表格

序号字段名称数据类型长度主键描述
1zwlbidINTEGER11座位类别编号
2lbVARCHAR40类别
3jgVARCHAR40价格

[表zhandian] 站点列属性表格

序号字段名称数据类型长度主键描述
1zdidINTEGER11站点编号
2zdmcVARCHAR40站点名称
3fzrVARCHAR40负责人
4fzrxmVARCHAR40负责人姓名
5lxdhVARCHAR40联系电话

[表checi] 车次列属性表格

序号字段名称数据类型长度主键描述
1ccidINTEGER11车次编号
2ccmcVARCHAR40车次名称
3sfzVARCHAR40始发站
4zdzVARCHAR40终点站
5fcsjVARCHAR40发车时间
6dzsjVARCHAR40到站时间
7cxslVARCHAR40车厢数量

[表chezhan] 车站列属性表格

序号字段名称数据类型长度主键描述
1czidINTEGER11车站编号
2ccVARCHAR40车次
3czVARCHAR40车站
4lcVARCHAR40里程
5yssjVARCHAR40用时时间
6xhVARCHAR40序号
7tksjVARCHAR40停靠时间
8dzsjVARCHAR40到站时间
9kcsjVARCHAR40开车时间

[表piaowu] 票务列属性表格

序号字段名称数据类型长度主键描述
1pwidINTEGER11票务编号
2pwhVARCHAR40票务号
3rqVARCHAR40日期
4ccVARCHAR40车次
5zjVARCHAR40总价
6sfzVARCHAR40始发站
7zdzVARCHAR40终点站
8fcsjVARCHAR40发车时间
9dzsjVARCHAR40到站时间
10rwslVARCHAR40软卧数量
11rwsyVARCHAR40软卧剩余
12ywslVARCHAR40硬卧数量
13ywsyVARCHAR40硬卧剩余
14yzslVARCHAR40硬座数量
15yzsyVARCHAR40硬座剩余
16ydzslVARCHAR40一等座数量
17ydzsyVARCHAR40一等座剩余
18edzslVARCHAR40二等座数量
19edzsyVARCHAR40二等座剩余
20ztVARCHAR40状态

[表zuowei] 座位列属性表格

序号字段名称数据类型长度主键描述
1zwidINTEGER11座位编号
2pwhVARCHAR40票务号
3ccVARCHAR40车次
4cxVARCHAR40车厢
5zwhVARCHAR40座位号
6lxVARCHAR40类型
7ztVARCHAR40状态

[表dingdan] 订单列属性表格

序号字段名称数据类型长度主键描述
1ddidINTEGER11订单编号
2ddhVARCHAR40订单号
3ccVARCHAR40车次
4phVARCHAR40票号
5zwVARCHAR40座位
6zwlxVARCHAR40座位类型
7rqVARCHAR40日期
8qszVARCHAR40起始站
9mdzVARCHAR40目的站
10pjVARCHAR40票价
11yhVARCHAR40用户
12sfzVARCHAR40身份证
13grsjVARCHAR40购入时间
14ztVARCHAR40状态
15bzVARCHAR40备注

[表ddl] 订单量列属性表格

序号字段名称数据类型长度主键描述
1ddlidINTEGER11订单量编号
2ccVARCHAR40车次
3rqVARCHAR40日期
4qszVARCHAR40起始站
5slVARCHAR40数量
6zfyVARCHAR40总费用

[表cctj] 车次统计列属性表格

序号字段名称数据类型长度主键描述
1cctjidINTEGER11车次统计编号
2ccVARCHAR40车次
3rqVARCHAR40日期
4rwslVARCHAR40软卧数量
5rwsyVARCHAR40软卧剩余
6ywslVARCHAR40硬卧数量
7ywsyVARCHAR40硬卧剩余
8yzslVARCHAR40硬座数量
9yzsyVARCHAR40硬座剩余
10ydzslVARCHAR40一等座数量
11ydzsyVARCHAR40一等座剩余
12edzslVARCHAR40二等座数量
13edzsyVARCHAR40二等座剩余
14zslVARCHAR40总数量
15zsyVARCHAR40总剩余
16cslVARCHAR40出售量
17szlVARCHAR40上座率

[表qjtj] 区间统计列属性表格

序号字段名称数据类型长度主键描述
1qjtjidINTEGER11区间统计编号
2ccVARCHAR40车次
3lxVARCHAR40类型
4qszVARCHAR40起始站
5mdzVARCHAR40目的站
6rqVARCHAR40日期
7zpjVARCHAR40总票价
8tjrqVARCHAR40统计日期
9zslVARCHAR40总数量

注意事项
1、管理员账号:admin密码:admin 数据库配置文件 application.properties
2、开发环境为IDEA开发,数据库为mysql,使用java语言开发。
3、数据库文件名是javatrain.sql 系统名称train
4、地址:http://127.0.0.1:8080/

四系统实现

package com.main.service;import com.main.dao.dingdanDao;
import com.main.dao.piaowuDao;
import com.main.dao.zuoweiDao;
import com.main.model.dingdan;
import com.main.model.piaowu;
import com.main.model.zuowei;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;import java.util.HashMap;
import java.util.List;
import java.util.Map;@Service
public class piaowuService {@Autowiredprivate piaowuDao piaowudao;@Autowiredprivate zuoweiDao zuoweidao;@Autowiredprivate dingdanDao dingdandao;public void reducepiaowu(zuowei bean){piaowu pwbean=new piaowu();String lb=bean.getLx();String pwh=bean.getPwh();//Map map=new HashMap();map.put("pwh",pwh);pwbean=piaowudao.getpiaowuByName(map);map.put("ph",pwh);map.put("zta","zta");map.put("zw",bean.getZwid());List list=dingdandao.getAll(map);//如果有值 就是 有订单  区间售票int a=0;if(!lb.equals("站票")&&list.size()==0) {//如果是有值就是区间售票 不用更新票务剩余座位了if (lb.equals("软卧")) {a = Integer.parseInt(pwbean.getRwsl()) - 1;pwbean.setRwsy(String.valueOf(a));} else if (lb.equals("硬卧")) {a = Integer.parseInt(pwbean.getYwsl()) - 1;pwbean.setYwsy(String.valueOf(a));} else if (lb.equals("硬座")) {a = Integer.parseInt(pwbean.getYzsl()) - 1;pwbean.setYzsy(String.valueOf(a));} else if (lb.equals("一等座")) {a = Integer.parseInt(pwbean.getYdzsl()) - 1;pwbean.setYdzsy(String.valueOf(a));} else if (lb.equals("二等座")) {a = Integer.parseInt(pwbean.getEdzsl()) - 1;pwbean.setEdzsy(String.valueOf(a));}piaowudao.update(pwbean);}}public void addpiaowu(zuowei bean){piaowu pwbean=new piaowu();String lb=bean.getLx();String pwh=bean.getPwh();//Map map=new HashMap();map.put("pwh",pwh);pwbean=piaowudao.getpiaowuByName(map);int a=0;map.put("ph",pwh);map.put("zta","zta");map.put("zw",bean.getZwid());List list=dingdandao.getAll(map);//如果有值 就是 有订单  区间售票if(!lb.equals("站票")&&list.size()==0) {//如果是有值就是区间售票 不用更新票务剩余座位了if (lb.equals("软卧")) {a = Integer.parseInt(pwbean.getRwsl()) + 1;pwbean.setRwsy(String.valueOf(a));} else if (lb.equals("硬卧")) {a = Integer.parseInt(pwbean.getYwsl()) + 1;pwbean.setYwsy(String.valueOf(a));} else if (lb.equals("硬座")) {a = Integer.parseInt(pwbean.getYzsl()) + 1;pwbean.setYzsy(String.valueOf(a));} else if (lb.equals("一等座")) {a = Integer.parseInt(pwbean.getYdzsl()) + 1;pwbean.setYdzsy(String.valueOf(a));} else if (lb.equals("二等座")) {a = Integer.parseInt(pwbean.getEdzsl()) + 1;pwbean.setEdzsy(String.valueOf(a));}piaowudao.update(pwbean);}}}

大家点赞、收藏、关注、评论啦  其他的定制服务 商务合作  下方联系卡片↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 或者私信作者
 

http://www.xdnf.cn/news/554311.html

相关文章:

  • 当前主流的传输技术(如OTN、IP-RAN、FlexE等)
  • C++STL之string
  • 产业互联网+三融战略:重构企业增长密码
  • 人工智能+:职业技能培训的元命题与能力重构
  • Linux 正则表达式 扩展正则表达式 gawk
  • 101个α因子#8
  • Java DTO 深度解析
  • JUC编程monitor、锁膨胀以及相关关键字
  • 定时从接口下载数据到本地
  • 免费插件集-illustrator插件-Ai插件-路径尖角圆角化
  • 天然产物在食品医药美妆领域的创新应用研究
  • 图像噪声模拟
  • 安装PostgreSQL
  • 解决javafx组件缺失导致运行程序报错的问题
  • Spring Boot中的分布式缓存方案
  • PID项目---硬件设计
  • Javascript 编程基础(2)基础知识 | 2.3、语法规则
  • 操作系统----软考中级软件工程师(自用学习笔记)
  • 循环神经网络
  • 机器人编程基础---C语言中的高级特性
  • upload-labs通关笔记-第13关 文件上传之白名单POST法
  • 旧物回收系统:撬动绿色经济新支点,开启循环未来新篇章
  • 区县与地级市和省会的距离
  • LW-CTrans:一种用于三维医学图像分割的轻量级CNN与Transformer混合网络|文献速递-深度学习医疗AI最新文献
  • JavaScript 性能优化:调优策略与工具使用
  • NumPy 2.x 完全指南【十三】复制和视图
  • 使用ZYNQ芯片和LVGL框架实现用户高刷新UI设计系列教程(第十三讲)
  • 口腔牙科小程序源码介绍
  • 多线程下如何保证事务的一致性
  • AliSQL:阿里巴巴开源数据库的技术革新与应用实践