Skip to content

Psc1017/train-ticket-system

Repository files navigation

高铁票价查询系统

一个支持千万级数据处理的高铁票价查询与折扣计算系统,专为实验研究设计。

🚀 核心功能

1. 票价查询

  • 支持出发站、到达站查询
  • 实时票价计算
  • 支持千万级数据快速查询

2. 复杂折扣系统

  • 多因素折扣:出发日期、发车时段、提前购票、旅行时间
  • 票价浮动情景:10%、20%、30%浮动
  • 自动识别:日期类型和发车时段自动判断
  • 智能计算:基于真实票价数据计算折扣

3. 购票记录管理

  • 多参与者支持
  • 购票记录查看
  • 数据导出功能
  • 单条记录删除

4. 数据管理

  • 示例数据生成
  • JSON文件导入
  • 数据清空功能
  • 站点信息自动提取

🎯 实验特性

参与者管理

  • 参与者编号输入
  • 独立购票记录
  • 多用户数据收集

折扣实验

  • 简单折扣模式(传统)
  • 复杂折扣模式(多因素)
  • 实时折扣计算
  • 折扣详情显示

🛠️ 技术栈

  • 前端:React 18 + Ant Design 5
  • 数据库:IndexedDB(浏览器本地存储)
  • 构建工具:Vite
  • 数据处理:支持千万级记录

📱 部署方式

本地部署

npm install
npm run dev

云端部署

  1. 构建项目:npm run build
  2. 上传 dist 文件夹到 Vercel
  3. 生成二维码供手机访问

🎮 使用说明

实验参与者

  1. 扫描二维码或访问网址
  2. 输入参与者编号(如:张三、001)
  3. 选择出发站和到达站
  4. 选择出行日期
  5. 选择折扣模式(简单/复杂)
  6. 查询票价并模拟购票
  7. 查看购票记录

管理员

  1. 进入"数据管理"页面
  2. 导入实验数据
  3. 查看所有参与者记录
  4. 导出数据进行分析

📊 数据格式

票价数据格式

[
  {
    "trainNumber": "G1",
    "fromStation": "北京南",
    "toStation": "南京南",
    "departureTime": "07:00",
    "arrivalTime": "10:24",
    "price": 533.00,
    "seatType": "二等座"
  }
]

🔧 配置说明

折扣规则

  • 简单折扣:基于提前购票天数
  • 复杂折扣:多因素综合计算
  • 支持自定义折扣表

数据限制

  • 查询结果:最多5000条
  • 分页显示:每页10条
  • 数据存储:浏览器本地IndexedDB

📈 性能特性

  • 快速查询:千万级数据秒级响应
  • 本地存储:无需服务器,数据安全
  • 响应式设计:支持手机、平板、电脑
  • 离线使用:无需网络连接

🎯 适用场景

  • 高铁票价研究实验
  • 用户购票行为分析
  • 折扣策略效果评估
  • 多因素定价模型验证

专为实验研究设计的高铁票价查询系统 🚄

About

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors