MockVerifyApi.java 1.47 KB
package com.ectrip.checkincar.net;

import com.ectrip.checkincar.model.VerifyRequest;
import com.ectrip.checkincar.model.VerifyResult;

import java.util.Random;
import java.util.concurrent.TimeUnit;

/**
 * 模拟核销:固定 600ms 耗时;演示阶段固定返回成功与完整预约信息。
 */
public class MockVerifyApi implements VerifyApi {

    private final Random random = new Random();

    @Override
    public VerifyResult verify(VerifyRequest request) throws Exception {
        TimeUnit.MILLISECONDS.sleep(600);

        // 演示阶段:核销后台固定模拟成功,返回完整预约信息
        VerifyResult r = new VerifyResult();
        r.success = true;
        r.message = "核销成功";
        r.reservationId = "M" + (100000 + random.nextInt(900000));
        String[] names = {"张伟民", "李秀英", "王建国", "陈桂芳"};
        r.visitorName = names[random.nextInt(names.length)];
        r.visitorIdCard = "3502**********" + (1000 + random.nextInt(9000));
        r.visitorType = random.nextBoolean() ? "老人" : "正常";
        // 进入日期:演示取当天日期,正式值以后台核销接口返回的 enterDate 为准
        r.enterDate = new java.text.SimpleDateFormat("yyyy-MM-dd", java.util.Locale.CHINA)
                .format(new java.util.Date());
        r.visitTime = "今日 09:00-18:00";
        r.verifySerialNo = "HX" + System.currentTimeMillis() % 100000000L;
        r.plateNo = request.plateNo;
        return r;
    }
}