package com.tourism.webadmin.back.vo;

import com.tourism.common.core.base.vo.BaseVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Map;

/**
 * 签证订单类型信息VO视图对象。
 *
 * @author 吃饭睡觉
 * @date 2024-09-06
 */
@Schema(description = "签证订单类型信息VO视图对象")
@Data
@EqualsAndHashCode(callSuper = true)
public class TourVisaOrderVo extends BaseVo {

    /**
     * 签证类型id。
     */
    @Schema(description = "签证类型id")
    private String id;

    /**
     * 文件列表json。
     */
    @Schema(description = "文件列表json")
    private String file;

    /**
     * 下单人姓名。
     */
    @Schema(description = "下单人姓名")
    private String orderName;

    /**
     * 下单人电话。
     */
    @Schema(description = "下单人电话")
    private String orderPhone;

    /**
     * 下单身份证。
     */
    @Schema(description = "下单身份证")
    private String orderIdCard;

    /**
     * 签证商品id。
     */
    @Schema(description = "签证商品id")
    private String visaId;

    /**
     * 订单状态 0待审核。
     */
    @Schema(description = "订单状态 0待审核")
    private Integer state;

    /**
     * 支付状态 0未支付 1已支付。
     */
    @Schema(description = "支付状态 0未支付 1已支付")
    private Integer payState;

    /**
     * 订单价格。
     */
    @Schema(description = "订单价格")
    private String orderPrice;

    /**
     * 负责顾问。
     */
    @Schema(description = "负责顾问")
    private String counselorId;

    /**
     * 订单地址。
     */
    @Schema(description = "订单地址")
    private String orderAddress;

    /**
     * 服务费。
     */
    @Schema(description = "服务费")
    private String servicePrice;

    /**
     * 税费。
     */
    @Schema(description = "税费")
    private String price;

    /**
     * visaId 字典关联数据。
     */
    @Schema(description = "visaId 字典关联数据")
    private Map<String, Object> visaIdDictMap;

    /**
     * counselorId 字典关联数据。
     */
    @Schema(description = "counselorId 字典关联数据")
    private Map<String, Object> counselorIdDictMap;

    /**
     * state 常量字典关联数据。
     */
    @Schema(description = "state 常量字典关联数据")
    private Map<String, Object> stateDictMap;

    /**
     * payState 常量字典关联数据。
     */
    @Schema(description = "payState 常量字典关联数据")
    private Map<String, Object> payStateDictMap;

    @Schema(description = "签证商品")
    private TourVisaVo tourVisaVo;
}
