package com.centreproject.system.domain.kpi.guestExperience;

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 lombok.Data;

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

/**
 * 公园游客体验指标实体类
 * @author zhonglei.xu
 */
@Data
@TableName("kpi_park_guest_experience")
public class KpiParkGuestExperience implements Serializable {

    private static final long serialVersionUID = 1L;

    // ------------------- 主键及基础字段 -------------------
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @TableField("park_code")
    private String parkCode;

    @TableField("date")
    private Date date;

    // ------------------- 体验指标字段 -------------------
    /**
     * 体验项目
     */
    @TableField("project")
    private String project;
    /**
     * 游客满意度评分 (GSS)
     */
    @TableField("gss")
    private BigDecimal gss;

    /**
     * 净推荐值 (NPS)
     */
    @TableField("nps")
    private BigDecimal nps;

    /**
     * 新游客测量值
     */
    @TableField("new_vog_measurements")
    private BigDecimal newVogMeasurements;

    /**
     * 幸福指数
     */
    @TableField("happiness_meters")
    private BigDecimal happinessMeters;

    /**
     * 平均排队时间(分钟)
     */
    @TableField("queue_time")
    private BigDecimal queueTime;

    // ------------------- 游客属性字段 -------------------
    @TableField("park_ticket_type")
    private String parkTicketType;

    @TableField("visitor_origin")
    private String visitorOrigin;

    @TableField("sentiment")
    private String sentiment;

    // ------------------- 财务指标 -------------------
    @TableField("revenue")
    private BigDecimal revenue;

    // ------------------- 数据同步字段 -------------------
    @TableField("synch_time")
    private Date synchTime;

    @TableField("sync_trace_id")
    private String syncTraceId;


}