package com.hzs.sale.ticket.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.BigDecimalFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 返回到前台页面
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class SaTicketVO implements Serializable {

    private Long pkId;
    /**
     * 活动名称
     */
    @Excel(name = "活动名称")
    private String actName;

    /**
     * 会员编号
     */
    @Excel(name = "会员编号")
    private String memberCode;

    /**
     * 会员姓名
     */
    @Excel(name = "会员姓名")
    private String memberName;

    /**
     * 活动开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", dateFormat = "yyyy-MM-dd")
    private Date actStartDate;

    /**
     * 活动结束时间
     */
    @Excel(name = "结束时间", dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date actEndDate;

    /**
     * 订单编号
     */
    @Excel(name = "订单编号")
    private String orderCode;

    /**
     * 订单金额
     */
    @BigDecimalFormat
    @Excel(name = "订单金额")
    private BigDecimal orderAmount;

    /**
     * 单价
     */
    @BigDecimalFormat
    @Excel(name = "单价")
    private BigDecimal price;

    /**
     * 数量
     */
//    @Excel(name = "数量")
    private Integer quantity;

    /**
     * 购买人
     */
    @Excel(name = "购买人")
    private String buyName;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    private String phone;

    /**
     * 身份证
     */
    @Excel(name = "身份证")
    private String idCard;

    /**
     * 性别（0=未知,1=男,2=女）
     */
    @Transaction(transactionKey = EnumsPrefixConstants.SEX)
    private Integer sex;

    @Excel(name = "性别")
    private String sexVal;

    /**
     * 服装尺码
     */
    @Excel(name = "服装尺码")
    private String clothSize;

    /**
     * 同住人
     */
    @Excel(name = "同住人")
    private String cohabitant;

    /**
     * 紧急联系人
     */
    @Excel(name = "紧急联系方式")
    private String emergencyPhone;

    /**
     * 隶属体系
     */
    @Excel(name = "隶属体系")
    private String vertexName;
    /**
     * 隶属团队
     */
    @Excel(name = "隶属团队")
    private String teamName;

    /**
     * 支付时间
     */
    @Excel(name = "支付时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date creationTime;

}
