寄车带货功能基于固定多站点路线,司机发车时生成专属二维码,用户扫码后可直接填写起始站点创建寄货订单,司机端实时查看货物状态。
创建发车任务
开始发车
到达站点
完成任务
扫码下单
填写订单信息
确认价格
等待取货和配送
POST /system/dzbc/driverTrip
请求体:
{
"pathId": 1,
"driverId": 10,
"carId": 1,
"startTime": "2024-02-20 08:00:00"
}
返回:
{
"code": 200,
"msg": "操作成功",
"data": {
"id": 1,
"tripNo": "TRIP20240220080001234",
"pathId": 1,
"pathName": "福州市区环线",
"driverId": 10,
"driverName": "张司机",
"driverPhone": "13800138000",
"carId": 1,
"carPlate": "闽A12345",
"startTime": "2024-02-20 08:00:00",
"status": 0,
"qrCode": "https://xxx.com/qr/TRIP20240220080001234",
"cargoCount": 0,
"cargoTotalPrice": 0,
"sites": [
{
"id": 1,
"siteId": 1,
"siteName": "火车站",
"siteOrder": 1
},
{
"id": 2,
"siteId": 2,
"siteName": "市政府",
"siteOrder": 2
},
{
"id": 3,
"siteId": 3,
"siteName": "仓山万达",
"siteOrder": 3
}
]
}
}
POST /system/dzbc/driverTrip/start/{id}
返回:
{
"code": 200,
"msg": "操作成功"
}
POST /system/dzbc/driverTrip/arrive/{id}?siteId=2
返回:
{
"code": 200,
"msg": "操作成功"
}
POST /system/dzbc/driverTrip/complete/{id}
POST /system/dzbc/driverTrip/cancel/{id}
GET /system/dzbc/driverTrip/list
查询参数:
GET /system/dzbc/driverTrip/{id}
GET /system/dzbc/driverTrip/qr/{tripNo}
说明:用户扫描二维码后,前端获取 tripNo 调用此接口,返回任务信息和路线站点列表。
返回示例:
{
"code": 200,
"data": {
"id": 1,
"tripNo": "TRIP20240220080001234",
"pathId": 1,
"pathName": "福州市区环线",
"driverId": 10,
"driverName": "张司机",
"driverPhone": "13800138000",
"carId": 1,
"carPlate": "闽A12345",
"startTime": "2024-02-20 08:00:00",
"status": 1,
"currentSiteId": 1,
"currentSiteName": "火车站",
"cargoCount": 5,
"cargoTotalPrice": 5000,
"sites": [
{
"id": 1,
"siteId": 1,
"siteName": "火车站",
"siteOrder": 1
},
{
"id": 2,
"siteId": 2,
"siteName": "市政府",
"siteOrder": 2
},
{
"id": 3,
"siteId": 3,
"siteName": "仓山万达",
"siteOrder": 3
}
],
"cargoOrders": [
{
"id": 1,
"orderNo": "CARGO20240220081500001",
"fromSiteName": "火车站",
"toSiteName": "市政府",
"price": 500,
"status": 1
}
]
}
}
POST /system/dzbc/cargoOrder/submit
请求体:
{
"tripNo": "TRIP20240220080001234",
"fromSiteId": 1,
"toSiteId": 2,
"senderName": "张三",
"senderPhone": "13800138001",
"receiverName": "李四",
"receiverPhone": "13800138002",
"items": [
{
"cargoName": "电脑",
"cargoType": "电子产品",
"quantity": 1,
"unit": "台",
"weight": 2.5,
"length": 40,
"width": 30,
"height": 10,
"value": 5000,
"images": ["http://xxx.com/image1.jpg"],
"remark": "小心轻放"
}
],
"remark": "请尽快送达"
}
返回:
{
"code": 200,
"data": {
"id": 1,
"orderNo": "CARGO20240220081500001",
"tripId": 1,
"tripNo": "TRIP20240220080001234",
"userId": 1,
"userName": "王五",
"userPhone": "13800138003",
"senderName": "张三",
"senderPhone": "13800138001",
"receiverName": "李四",
"receiverPhone": "13800138002",
"fromSiteId": 1,
"fromSiteName": "火车站",
"toSiteId": 2,
"toSiteName": "市政府",
"price": 500,
"payStatus": 0,
"status": 0,
"cargoCount": 1,
"cargoWeight": 2.5,
"cargoValue": 5000,
"items": [...]
}
}
GET /system/dzbc/cargoOrder/my/list
说明:获取当前登录用户的货物订单列表。
GET /system/dzbc/cargoOrder/trip/{tripId}
说明:司机端查看某个任务的所有货物订单。
POST /system/dzbc/cargoOrder/status/{id}?status=1
状态说明:
GET /system/dzbc/cargoOrder/list
查询参数:
GET /system/dzbc/cargoOrder/{id}
价格从 tbl_dzbc_site_price 表中查询,规则如下:
查询条件:
返回结果:
单位说明:
待发货 (0)
↓ [司机到达起始站点,取货]
已取货 (1)
↓ [开始运输]
运输中 (2)
↓ [到达目的地]
已送达 (3)
↓
已取消 (4) [用户或管理员取消]
https://xxx.com/qr/{tripNo} 或直接使用 tripNotripNoGET /system/dzbc/driverTrip/qr/{tripNo} 获取任务信息司机端需要实时显示:
站点限制:
时间限制:
价格设置:
tbl_dzbc_site_price 表中设置价格图片上传:
订单限制: