裁员失业接点私活补贴家用-智慧出行大数据平台

哎呀现在程序员这个行业真是越来越不好做了,被AI冲击,再加上经济下行,企业裁员,只能在家搞点副业,挣点外快。这不接了一个私活,给客户做一个出行大数据平台,这一单搞了1个大不溜,耗时1个月左右,大家觉得怎么样呢?

在这里插入图片描述

一、项目背景

帮助客户实现出行票务高效管理、出行数据可视化分析,辅助优化出行决策,同时通过技术变现获取额外收益。

二、需求分析

1. 市场需求

数据管理需求:集中管理火车票、飞机票订单,涵盖车次 / 航班、价格、时间、座位等细节。
分析决策需求:通过可视化看板,分析出行目的地分布、出行方式偏好、年度里程趋势,为出行规划提供数据支持。

2. 功能需求清单

类别 功能描述
基础管理 用户信息维护、票务订单增删改查,支持改签、退票状态管理。
可视化分析 基于地图展示出行城市分布,通过图表呈现出行方式占比、年度里程变化趋势。
数据统计 计算总里程、总消费金额,统计去过的城市数量,支持多维度数据聚合分析。

三、页面设计

1. 核心页面规划

(1)数据看板首页

关键指标区:展示总里程(kilometers汇总)、总消费(ticket_price+fuel_surcharge汇总)、去过的城市数量。
地图可视化:通过高德地图(AMap)标注出发城市(from_city)与到达城市(to_city),点击城市可查看该城市出行记录。
统计图表区:
出行方式统计环形图(基于train_plane、train_type字段)。
年度出行里程柱状图(按create_time分组统计kilometers)。

(2)票务管理页面

查询功能:支持按订单编号(order_number)、用户 ID(user_id)、出行时间(train_departure_time/plane_arrived_time)筛选订单。
操作功能:新增订单(录入 user_ticket 表字段)、编辑订单详情、标记改签 / 退票状态(更新 ticket_changes 字段)。

(3)用户管理页面

展示用户基本信息(user_id、user_name、id_card)。
关联用户出行记录,点击用户可查看其历史订单。

2. 交互设计细节

图表联动:点击环形图中的 “高铁” 区域,下方表格实时过滤展示所有高铁订单。
地图交互:城市标记闪烁提示新订单,悬停显示该城市出行次数。

四、架构设计

1. 技术架构分层

  • 前端层 Vue3 + Element-Plus + ECharts + AMap,实现页面渲染与交互。
  • 服务层 SpringBoot,处理业务逻辑(如订单计算、数据统计),提供 RESTful 接口。
  • 数据层 MySQL 存储数据,MyBatis-Plus实现数据库操作,利用索引优化查询效率。
  • 部署层 前端通过 Nginx 部署静态资源,后端服务容器化(Docker),支持弹性扩展。

2. 后端服务模块划分

  • 用户服务:处理用户信息增删改查,关联用户与出行记录。
  • 票务服务:订单创建、查询、更新,计算订单金额(含票价ticket_price、燃油附加费 fuel_surcharge)。
  • 统计服务:聚合计算总里程、总消费,生成可视化分析数据。

3.数据库设计

CREATE TABLE `user_ticket` (
  `id` bigint(40) NOT NULL AUTO_INCREMENT,
  `user_id` bigint(40) DEFAULT NULL COMMENT '用户ID',
  `user_name` varchar(20) DEFAULT NULL COMMENT '购票人',
  `train_departure_time` datetime DEFAULT NULL COMMENT '发车时间',
  `train_departure_city` varchar(20) DEFAULT NULL COMMENT '始发站',
  `train_departure_city_lng_lat` varchar(50) DEFAULT NULL COMMENT '始发站经纬度',
  `plane_arrived_time` datetime DEFAULT NULL COMMENT '飞机到达时间',
  `train_arrival_city` varchar(20) DEFAULT NULL COMMENT '到达站',
  `train_arrival_city_lng_lat` varchar(50) DEFAULT NULL COMMENT '到达站经纬度',
  `train_number` varchar(20) DEFAULT NULL COMMENT '车次',
  `train_type` tinyint(5) DEFAULT NULL COMMENT '火车类型(1高铁,2普快,3直达,4特快)',
  `ticket_type` tinyint(5) DEFAULT NULL COMMENT '车票类型(1硬座,2硬卧,3软卧,4一等座,5二等座,6商务座)',
  `ticket_carriage` varchar(20) DEFAULT NULL COMMENT '车厢号',
  `ticket_seat` varchar(20) DEFAULT NULL COMMENT '座位号',
  `train_berth` tinyint(5) DEFAULT NULL COMMENT '铺位(1上铺,2中铺,3下铺)',
  `ticket_price` decimal(8,2) DEFAULT '0.00' COMMENT '车票价格',
  `order_number` varchar(20) DEFAULT NULL COMMENT '订单编号'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

珍妮玛•黛金

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

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

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

打赏作者

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

抵扣说明:

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

余额充值