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; } }