package io.renren.modules.admin.entity;

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

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;

import io.renren.common.validator.group.AddGroup;
import io.renren.common.validator.group.UpdateGroup;
import javax.validation.constraints.NotBlank;

import lombok.Data;

/**
 * VIEW
 * 
 * @author huwhois
 * @email huwhois@163.com
 * @date 2020-12-16 10:52:03
 */
@Data
@TableName("attendersview")
public class AttendersviewEntity implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 
     */
    @TableId
    private Long id;
    /**
     * 会员id
     */
    private Long memberId;
    /**
     * 会议id
     */
    private Long meetingId;
    /**
     * 用户类型 0,正常; 1, 免注册
     */
    private Integer memberType;
    /**
     * 注册(费用)类型 1, 普通, 2 学生
     */
    private Integer feeType;
    /**
     * 论文类型:0, 不发表; 1,2,3,...其他
     */
    private Integer paperType;
    /**
     * 是否做报告
     */
    private Integer isReport;
    /**
     * 报告题目
     */
    private String reportTitle;
    /**
     * 酒店 1,会议合作; 2,其他
     */
    private Integer hotelType;
    /**
     * 房 型
     */
    private Integer roomType;
    /**
     * 酒店入住时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkInDate;
    /**
     * 酒店离店信息
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date checkOutDate;
    /**
     * 付款方式 1 现场缴费; 2 汇款
     */
    private Integer payType;
    /**
     * 是否缴费 0,未缴费; 1,已缴费
     */
    private Integer isPay;
    /**
     * 金额
     */
    private BigDecimal money;
    /**
     * 名字
     */
    @NotBlank(message="姓名不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String truename;
    /**
     * 性别 1,男; 2,女
     */
    private Integer sex;
    /**
     * 单位名称
     */
    private String organization;
    /**
     * 职位
     */
    private String position;
    /**
     * 电话
     */
    @NotBlank(message="电话不能为空", groups = {AddGroup.class, UpdateGroup.class})
    private String phone;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 备注
     */
    private String remark;
    /**
     * 开票类型
     */
    private Integer taxType;
    /**
     * 公司名称
     */
    private String taxTitle;
    /**
     * 纳税人识别号
     */
    private String taxNumber;
    /**
     * 公司地址
     */
    private String companyAddress;
    /**
     * 公司电话
     */
    private String companyPhone;
    /**
     * 开户行及账号
     */
    private String bankAccount;
    /**
     * 邮寄地址
     */
    private String mailingAddress;
    /**
     * 邮编
     */
    private String postcode;
    /**
     * 标识
     */
    private String symbol;
    /**
     * 标记
     */
    private Integer flag;
    /**
     * 报名时间
     */
    private Date createTime;
}
