package com.ruoyi.ai.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

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

/**
 * ai-统计对象 ai_statistics
 *
 * @author shi
 * @date 2025-11-29
 */
@Data
@TableName("ai_statistics")
public class AiStatistics extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /** 统计日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dateKey;

    /** 来源 */
    private String source;

    /** 新增用户数 */
    @Excel(name = "新增用户数")
    private Long addUserCount;

    /** 访客数量 */
    @Excel(name = "访客数量")
    private Long visitorCount;

    /** 生成数量 */
    @Excel(name = "生成数量")
    private Long generateCount;

    /** 充值金额 */
    @Excel(name = "充值金额")
    private BigDecimal rechargeAmount;

    /**
     * 今日新增用户数量
     */
    @TableField(exist = false)
    private Long todayAddUserCount;


    /**
     * 用户总数量
     */
    @TableField(exist = false)
    private Long totalUserCount;


    /**
     * 今日新增访客数量
     */
    @TableField(exist = false)
    private Long todayVisitorCount;

    /**
     * 总访客数量
     */
    @TableField(exist = false)
    private Long totalVisitorCount;


    /**
     * 今日生成数量
     */
    @TableField(exist = false)
    private Long todayGenerateCount;

    /**
     * 总生成数量
     */
    @TableField(exist = false)
    private Long totalGenerateCount;


    /**
     * 今日充值金额
     */
    @TableField(exist = false)
    private Long todayRechargeAmount;

    /**
     * 总充值金额
     */
    @TableField(exist = false)
    private Long totalRechargeAmount;

}
