MockQueryApi.java
1.63 KB
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
package com.ectrip.checkincar.net;
import com.ectrip.checkincar.model.QueryResult;
import java.util.Random;
import java.util.concurrent.TimeUnit;
/**
* 模拟预约查询:固定 300ms 耗时,返回模拟预约详情。
*/
public class MockQueryApi implements QueryApi {
private final Random random = new Random();
@Override
public QueryResult query(String plateNo) throws Exception {
TimeUnit.MILLISECONDS.sleep(300);
QueryResult r = new QueryResult();
r.ok = true;
r.fromServer = false;
r.licensePlate = plateNo;
// 模拟:80% 概率查到有效预约,20% 查不到
if (random.nextInt(5) != 0) {
r.success = true;
r.info = "查询成功";
r.orderId = 10000 + random.nextInt(90000);
r.orderCode = "M" + System.currentTimeMillis() % 100000000L;
String[] names = {"张三", "李四", "王五", "赵六", "陈七"};
r.driverName = names[random.nextInt(names.length)];
r.driverPhone = "138" + String.format("%04d%04d", random.nextInt(10000), random.nextInt(10000));
r.useStartDate = new java.text.SimpleDateFormat("yyyy-MM-dd", java.util.Locale.CHINA)
.format(new java.util.Date());
String[] parks = {"A区停车场", "B区停车场", "C区停车场", "VIP停车场"};
r.parkingAddress = parks[random.nextInt(parks.length)];
r.status = 0; // 模拟待入场
r.enterTime = "";
} else {
r.success = false;
r.info = "未查询到当天有效车牌预约信息";
}
return r;
}
}