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

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 数字业务指标表（Mobile App相关指标）
 *
 * @author CentreProject
 * @since 2025-06-21
 */
@Data
@TableName("kpi_digital_gx")
public class KpiDigitalGx {

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

    /**
     * App运行时间（日期）
     * 对应图片中的 "App uptime: 2025-06-21"
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Riyadh")
    @TableField("app_uptime")
    private LocalDateTime appUptime;

    /**
     * 停机通知次数
     * 对应图片中的 "Downtime notification: 32"
     */
    @TableField("downtime_notification")
    private Integer downtimeNotification;

    /**
     * 当前App会话数
     * 对应图片中的 "Current app sessions: 80000"
     */
    @TableField("current_app_sessions")
    private Integer currentAppSessions;

    /**
     * 最常用页面
     * 对应图片中的 "Most used screens: Order page"
     */
    @TableField("most_used_screens")
    private String mostUsedScreens;

    /**
     * 平均使用时间（分钟）
     * 对应图片中的 "Avg. time spend: 300s" → 转换为5分钟（字段单位为分钟）
     */
    @TableField(value = "avg_timespend")
    private BigDecimal avgTimespend;

    /**
     * App收入（AED）
     * 对应图片中的 "App revenue: 333,333.33AED"
     */
    @TableField("app_revenue")
    private BigDecimal appRevenue;

    /**
     * 应用满意度评分（0-100）
     * 对应图片中的 "Yas app CSAT: 90%" → 存储为90.000000
     */
    @TableField(value = "yas_app_csat")
    private BigDecimal yasAppCsat;

    /**
     * 同步时间
     */
    @TableField("synch_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Riyadh")
    private LocalDateTime synchTime;

    /** 同步追踪ID */
    private String syncTraceId;
}