package com.yc.ship.module.trade.controller.admin.order.vo.check;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yc.ship.module.trade.controller.admin.order.vo.order.TradeDetailRespVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Schema(description = "管理后台 - 门票核销记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class CheckRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "9033")
    private Long id;

    @Schema(description = "订单ID", example = "8593")
    private Long orderId;

    @Schema(description = "订单号", example = "8593")
    @ExcelProperty("订单号")
    private String orderNo;

    @Schema(description = "门票ID", example = "21603")
    private Long detailId;

    @Schema(description = "凭证码")
    @ExcelProperty("凭证码")
    private String voucherCode;

    @Schema(description = "核销对象修改前状态", example = "1")
    private Integer originalStatus;

    @Schema(description = "核销类型：0闸机 1后台 2PDA 3小程序 4供应商", example = "1")
    @ExcelProperty("核销类型：0闸机 1后台 2PDA 3小程序 4供应商")
    private Integer type;

    @Schema(description = "操作人ID", example = "11148")
    private String operatorId;

    @Schema(description = "操作人", example = "李四")
    @ExcelProperty("操作人")
    private String operatorName;

    @Schema(description = "设备ID", example = "24031")
    private String machineId;

    @Schema(description = "设备名称", example = "赵六")
    @ExcelProperty("设备名称")
    private String machineName;

    @Schema(description = "联系人", example = "24031")
    @ExcelProperty("联系人")
    private String contactName;

    @Schema(description = "联系人手机号", example = "赵六")
    @ExcelProperty("联系人手机号")
    private String mobile;

    @Schema(description = "创建时间")
    @ExcelProperty("核销时间")
    private String checkTime;

    @Schema(description = "时间方案Id", example = "11148")
    private Long routePlanId;

    @Schema(description = "门票信息")
    private TradeDetailRespVO tradeDetailRespVO;
}