package com.izouma.wenlvju.domain;

import com.izouma.wenlvju.annotations.Searchable;
import com.izouma.wenlvju.annotations.SearchableOne;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.annotations.Where;

import javax.persistence.Entity;
import java.time.LocalDate;

@Data
@Builder
@Entity
@AllArgsConstructor
@NoArgsConstructor
@Where(clause = "del = 0")
@ApiModel("备案管理")
public class Record extends BaseEntity {
    @ApiModelProperty(value = "考级活动名称")
    @Searchable
    private String examinationName;

    @ApiModelProperty(value = "考级活动时间")
    private LocalDate examinationStartTime;

    @ApiModelProperty(value = "考级活动时间")
    private LocalDate examinationEndTime;

    @SearchableOne
    @ApiModelProperty(value = "考级机构名称")
    private String examinationAgency;

//    @Enumerated(EnumType.STRING)
    @ApiModelProperty(value = "单位类别")
    private String category;

    @SearchableOne
    @ApiModelProperty(value = "承办单位名称")
    private String organizer;
//    private Long organizationId;

    @ApiModelProperty(value = "统一社会信用代码")
    private String uscc;

    @ApiModelProperty(value = "考级详细地址")
    private String examinationAddress;

    @ApiModelProperty(value = "考场数量")
    private int examCenterQuantity;

    @ApiModelProperty(value = "报考人数")
    private int examQuantity;

    @ApiModelProperty(value = "考官人数")
    private int examinerQuantity;

    @ApiModelProperty(value = "考点负责人名称")
    private String examOwner;

    @ApiModelProperty(value = "考点负责人手机号")
    private String examOwnerPhone;

    @ApiModelProperty(value = "安全负责人名称")
    private String securityOwner;

    @ApiModelProperty(value = "安全负责人手机号")
    private String securityOwnerPhone;

    @ApiModelProperty(value = "备案时间")
    private LocalDate recordTime;

    private String district;

    @ApiModelProperty(value = "考试简章")
    private String examinationGuide;

//    @ApiModelProperty(value = "监管人员")
//    private Long supervisorUserId;

}
