package com.sptg.statistics.api.dto;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * title: StatisticsAdWatchDto
 * package: com.sptg.statistics.api.dto
 * description:基础广告观看统计-数据传输对象
 *
 *                
 *               
 */
@Setter
@Getter
public class StatisticsBaseAdWatchDto  implements java.io.Serializable{
    /**
     *  主键
     */
    @TableId(value = "l_id",type = IdType.AUTO)
    private Long id;

    /**
     * 广告id
     */
    @TableField(value = "l_ad_id")
    private Long adId;

    /**
     * 广告名称
     */
    @TableField(value = "s_ad_name")
    private String adName;

    /**
     * 广告编号
     */
    @TableField(value = "s_ad_code")
    private String adCode;

    /**
     *广告类别id
     */
    @TableField(value = "l_ad_type_id")
    private Long adTypeId;

    /**
     *广告类别名称
     */
    @TableField(value = "s_ad_type_name")
    private String adTypeName;

    /**
     * 设备Id
     */
    @TableField(value = "l_device_id")
    private Long deviceId;

    /**
     * 设备序列号
     */
    @TableField(value = "s_device_serial_number")
    private String serialNumber;

    /**
     *小区id
     */
    @TableField(value = "l_residential_id")
    private Long residentialId;

    /**
     * 小区名称
     */
    @TableField(value = "s_residential_name")
    private String residentialName;

    /**
     * 省（id）
     */
    @TableField(value = "s_region_province")
    private String regionProvince;

    /**
     * 市（id）
     */
    @TableField(value = "s_region_city")
    private String regionCity;

    /**
     * 区/县（id）
     */
    @TableField(value = "s_region_area")
    private String regionArea;

    /**
     * 区/县（id）
     */
    @TableField(value = "s_region")
    private String region;

    /**
     * 地区（广东省广州市天河区）
     */
    @TableField(value = "s_address")
    private String address;

    /**
     * 设备位置
     */
    @TableField(value = "s_install_path")
    private String installPath;

    /**
     * 观看时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_watch_date")
    private Date watchDate;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_create_date")
    private Date createDate;

    /**
     * 广告根机构Id
     */
    @TableField(value = "l_root_org_id")
    private Long rootOrgId;

    /**
     * 广告存储位置
     */
    @TableField(value = "s_org_position")
    private String orgPosition;

    /* -------------------------------------------------------------------------------------------------------------- */

    /**
     * 任务类型 { 1：人脸广告，2：闲时广告 }
     */
    @TableField(exist = false)
    private Integer taskType;
}
