package com.crunii.micro.domain.entity.main;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;
import org.hibernate.annotations.GenericGenerator;
import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * 活动签到签退配置表;
 * @author : zjw
 * @date : 2023-11-27
 */
@Entity
@DynamicInsert
@DynamicUpdate
@Getter
@Setter
@ToString
@EqualsAndHashCode(of = {"id"})
@GenericGenerator(name = "idGenerator", strategy = "com.crunii.micro.core.distributed.DistributedSnowFlakeId")
@ApiModel(description = "活动签到签退配置表")
@Table(name="YCQ_ACTIVITY_SIGN")
public class YcqActivitySign implements Serializable{
    /** 主键id */
    @ApiModelProperty(value = "主键id")
    @Id
    @GeneratedValue(generator = "idGenerator")
    private Long id ;

    @Column(name = "ACTIVITY_ID")
    private Long activityId ;
    /** 签到类型 */
    @ApiModelProperty(value = "签到类型")
    @Column(name = "SIGN_TYPE")
    private Integer signType ;
    /** 签到开始时间 */
    @ApiModelProperty(value = "签到开始时间")
    @Column(name = "SIGN_IN_START_TIME")
    private Date signInStartTime ;
    /** 签到截至时间 */
    @ApiModelProperty(value = "签到截至时间")
    @Column(name = "SIGN_IN_END_TIME")
    private Date signInEndTime ;
    /** 签到方式 */
    @ApiModelProperty(value = "签到方式")
    @Column(name = "SIGN_IN_WAY")
    private Integer signInWay ;
    /** 签退开始时间 */
    @ApiModelProperty(value = "签退开始时间")
    @Column(name = "SIGN_OUT_START_TIME")
    private Date signOutStartTime ;
    /** 签退截至时间 */
    @ApiModelProperty(value = "签退截至时间")
    @Column(name = "SIGN_OUT_END_TIME")
    private Date signOutEndTime ;
    /** 签退方式 */
    @ApiModelProperty(value = "签退方式")
    @Column(name = "SIGN_OUT_WAY")
    private Integer signOutWay ;
    /** 签到二维码 */
    @ApiModelProperty(value = "二维码")
    @Column(name = "QD_CODE")
    private String qdCode ;

    /** 签退二维码 */
    @ApiModelProperty(value = "二维码")
    @Column(name = "QT_CODE")
    private String qtCode ;

    /** 经度 */
    @ApiModelProperty(value = "经度")
    @Column(name = "LONGITUDE")
    private String longitude ;
    /** 纬度 */
    @ApiModelProperty(value = "纬度")
    @Column(name = "LATITUDE")
    private String latitude ;
    /** 签到/签退地址 */
    @ApiModelProperty(value = "签到/签退地址")
    @Column(name = "SIGN_ADDRESS")
    private String signAddress ;
    /** 创建人 */
    @ApiModelProperty(value = "创建人")
    @Column(name = "CREATE_ID")
    private Integer createId ;
    /** 创建时间 */
    @ApiModelProperty(value = "创建时间")
    @Column(name = "CREATE_TIME")
    private Date createTime ;
    /** 更新人 */
    @ApiModelProperty(value = "更新人")
    @Column(name = "UPDATE_ID")
    private Integer updateId ;
    /** 更新时间 */
    @ApiModelProperty(value = "更新时间")
    @Column(name = "UPDATE_TIME")
    private Date updateTime ;
    /** 是否被删除 */
    @ApiModelProperty(value = "是否被删除")
    @Column(name = "IS_DELETE")
    private Integer isDelete ;
    /** 乐观锁 */
    @ApiModelProperty(value = "乐观锁")
    @Column(name = "REVISION")
    private Integer revision ;
    @Column(name = "RADIUS")
    private Integer radius;

    /** 主键id */
    public Long getId(){
        return this.id;
    }
    /** 主键id */
    public void setId(Long id){
        this.id=id;
    }
    /** 签到类型 */
    public Integer getSignType(){
        return this.signType;
    }
    /** 签到类型 */
    public void setSignType(Integer signType){
        this.signType=signType;
    }
    /** 签到开始时间 */
    public Date getSignInStartTime(){
        return this.signInStartTime;
    }
    /** 签到开始时间 */
    public void setSignInStartTime(Date signInStartTime){
        this.signInStartTime=signInStartTime;
    }
    /** 签到截至时间 */
    public Date getSignInEndTime(){
        return this.signInEndTime;
    }
    /** 签到截至时间 */
    public void setSignInEndTime(Date signInEndTime){
        this.signInEndTime=signInEndTime;
    }
    /** 签到方式 */
    public Integer getSignInWay(){
        return this.signInWay;
    }
    /** 签到方式 */
    public void setSignInWay(Integer signInWay){
        this.signInWay=signInWay;
    }
    /** 签退开始时间 */
    public Date getSignOutStartTime(){
        return this.signOutStartTime;
    }
    /** 签退开始时间 */
    public void setSignOutStartTime(Date signOutStartTime){
        this.signOutStartTime=signOutStartTime;
    }
    /** 签退截至时间 */
    public Date getSignOutEndTime(){
        return this.signOutEndTime;
    }
    /** 签退截至时间 */
    public void setSignOutEndTime(Date signOutEndTime){
        this.signOutEndTime=signOutEndTime;
    }
    /** 签退方式 */
    public Integer getSignOutWay(){
        return this.signOutWay;
    }
    /** 签退方式 */
    public void setSignOutWay(Integer signOutWay){
        this.signOutWay=signOutWay;
    }
//    /** 二维码 */
//    public String getQrCode(){
//        return this.qrCode;
//    }
//    /** 二维码 */
//    public void setQrCode(String qrCode){
//        this.qrCode=qrCode;
//    }
    /** 经度 */
    public String getLongitude(){
        return this.longitude;
    }
    /** 经度 */
    public void setLongitude(String longitude){
        this.longitude=longitude;
    }
    /** 纬度 */
    public String getLatitude(){
        return this.latitude;
    }
    /** 纬度 */
    public void setLatitude(String latitude){
        this.latitude=latitude;
    }
    /** 签到/签退地址 */
    public String getSignAddress(){
        return this.signAddress;
    }
    /** 签到/签退地址 */
    public void setSignAddress(String signAddress){
        this.signAddress=signAddress;
    }
    /** 创建人 */
    public Integer getCreateId(){
        return this.createId;
    }
    /** 创建人 */
    public void setCreateId(Integer createId){
        this.createId=createId;
    }
    /** 创建时间 */
    public Date getCreateTime(){
        return this.createTime;
    }
    /** 创建时间 */
    public void setCreateTime(Date createTime){
        this.createTime=createTime;
    }
    /** 更新人 */
    public Integer getUpdateId(){
        return this.updateId;
    }
    /** 更新人 */
    public void setUpdateId(Integer updateId){
        this.updateId=updateId;
    }
    /** 更新时间 */
    public Date getUpdateTime(){
        return this.updateTime;
    }
    /** 更新时间 */
    public void setUpdateTime(Date updateTime){
        this.updateTime=updateTime;
    }
    /** 是否被删除 */
    public Integer getIsDelete(){
        return this.isDelete;
    }
    /** 是否被删除 */
    public void setIsDelete(Integer isDelete){
        this.isDelete=isDelete;
    }
    /** 乐观锁 */
    public Integer getRevision(){
        return this.revision;
    }
    /** 乐观锁 */
    public void setRevision(Integer revision){
        this.revision=revision;
    }
}
