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

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * KPI收入报表实体类（对应 kpi_revenue 表）
 * 表注释：存储按日期统计的收入数据，包含总收入、现场礼宾收入等指标
 * @author zhonglei.xu
 */
@Data
@TableName("kpi_revenue") // 关联数据库表名
public class KpiRevenue {

    /**
     * 自增主键ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 统计日期（精确到日期时间，非空）
     * 唯一索引：与 uk_kpi_park_date 约束对应（注意：原表唯一索引为 `uk_kpi_park_date`，但表结构中未包含 park 字段，需确认是否遗漏）
     */
    private LocalDateTime date;

    /**
     * 总收入（AED）
     * 可空，数据库字段无 NOT NULL 约束
     */
    private BigDecimal revenueGenerated;

    /**
     * 现场礼宾收入（AED）
     * 可空，数据库字段无 NOT NULL 约束
     */
    private BigDecimal onsiteConciergeRevenue;

    /**
     * 同步时间（数据同步到该表的时间，非空）
     */
    private LocalDateTime synchTime;

    /**
     * 同步追踪ID（用于数据同步链路追踪，非空）
     */
    private String syncTraceId;

}