package com.yida.data.common.core.entity.card;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import java.time.LocalDateTime;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 电子学生证-告警信息 Entity
 *
 * @author zhanghaijun
 * @date 2021-08-04 16:01:50
 */
@Data
@TableName("edu_student_card_alarm")
public class EduStudentCardAlarm {

    /**
     *
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     *
     */
    @TableField(value = "create_date", fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime createDate;

    /**
     * 告警设备imei号
     */
    @TableField("imei")
    private String imei;

    /**
     * 告警类型
     */
    @ApiModelProperty("告警类型")
    @TableField("alarm_type")
    private Integer alarmType;

    /**
     * 经度
     */
    @ApiModelProperty("经度")
    @TableField("lng")
    private Double lng;

    /**
     * 纬度
     */
    @ApiModelProperty("纬度")
    @TableField("lat")
    private Double lat;

    /**
     * 告警时间
     */
    @ApiModelProperty("告警时间")
    @TableField("alarm_time")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime alarmTime;

    /**
     * 告警地址
     */
    @ApiModelProperty("告警地址")
    @TableField("address")
    private String address;

    /**
     * 学生手机号
     */
    @ApiModelProperty("学生手机号")
    @TableField("mobile")
    private String mobile;

    /**
     * 学生id
     */
    @TableField("student_id")
    private Long studentId;

    private Long schoolId;

    @ApiModelProperty("当次发送的通知信息")
    private String remark;

    @ApiModelProperty("额外信息值,针对每个告警类型特异化，围栏告警为围栏id,低电量为本次电量,步数为步数,危险区域为危险信息")
    private String remarkValue;
}