0fd093a2
李进
初始提交:手持车牌核销应用
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
|
车牌订单核销模拟接口说明
接口地址:
http://192.168.50.1:8080/parking/mock/mqttScan
请求方式:
GET 或 POST
请求参数:
deviceCode:必填,停车场设备编号,设备需已配置并绑定通道。
licensePlate:必填,明文车牌号,例如:晋B4HSW6。
colorValue:非必填,默认值为 0。
0:蓝牌。
1:绿牌。
2:黄牌。
请求示例:
http://192.168.50.1:8080/parking/mock/mqttScan?deviceCode=DEVICE001&licensePlate=晋B4HSW6&colorValue=0
成功返回示例:
{
"success": true,
"info": "模拟扫牌成功",
"data": {
"orderId": 12345,
"orderCode": "M480733",
"licencePlate": "5pWLQjRIU1c2",
"createTime": "2026-09-28 08:36:00",
"seq": 1,
"vehicleType": 3,
"licenseColor": "蓝",
"pass": true,
"secondEntry": false,
"entryTimes": null
}
}
返回字段说明:
success:是否处理成功。
info:处理结果说明或失败原因。
data.orderId:平台订单 ID。
data.orderCode:订单号。
data.licencePlate:Base64 编码后的车牌号。
data.createTime:首次入场时间。
data.seq:入场排队序号。
data.vehicleType:车辆类型,1 为本地车,2 为工作车,3 为预约车,4 为非预约车。
data.licenseColor:车牌颜色。
data.pass:是否允许通行。
data.secondEntry:是否重复入场。
data.entryTimes:当前入场次数。
失败返回示例:
{
"success": false,
"info": "未查询到设备信息!"
}
其他常见失败原因:
设备已禁用!
未查询到设备绑定信息!
未查询到停车场信息!
3秒内重复车牌识别消息已忽略。
接口处理流程:
模拟 MQTT 摄像头扫牌。
校验设备和通道。
查询车辆是否为本地车、工作车或预约车。
校验预约信息及通行规则。
下发开闸指令。
当车辆为有效预约车辆,且通道业务模式为“查询、放行并核销”时,执行订单核销。
注意:
该接口虽然名为 mock,但调用的是正式扫牌处理链路。
生产环境传入有效预约车牌时,可能触发开闸、写入入场流水和真实订单核销,请勿随意测试。
代码位置:
分支:tdos-dev
接口入口:
open-api/src/main/java/com/ectrip/b2b/openapi/parking/controller/ParkingController.java
方法:mockMqttScan
实际订单核销:
open-api/src/main/java/com/ectrip/b2b/openapi/order/parking/ParkingOrderHandler.java
方法:parkingVerify
核销代码截图: 20260928-111104.jpeg
核销原码的后端JAVA项目在: /Volumes/USERDATA/ideaProjects/wts_vehicle_reservation ,千万不修改,可以读取参考。
|