package com.rj.entity;

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.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 经销商品牌得分统计表
 * 
 * @author 李中华
 * @date 2025/1/15
 */
@Data
@TableName("cpa_brandcore_statistics")
public class CpaBrandScoreStatistics {

    @TableId(type = IdType.ASSIGN_UUID)
    private String id;

    /**
     * 经销商编码
     */
    @TableField("dealer_code")
    private String dealerCode;

    /**
     * 经销商名称
     */
    @TableField("dealer_name")
    private String dealerName;

    /**
     * 大区
     */
    @TableField("big_area")
    private String bigArea;

    /**
     * 统计日期（按日统计时使用）
     */
    @TableField("statistics_date")
    private LocalDate statisticsDate;

    /**
     * 统计类型：total-总计，daily-按日，weekly-按周，monthly-按月
     */
    @TableField("statistics_type")
    private String statisticsType;

    /**
     * 总记录数
     */
    @TableField("total_records")
    private Integer totalRecords;

    /**
     * 总得分
     */
    @TableField("total_score")
    private Integer totalScore;

    /**
     * 平均得分百分比
     */
    @TableField("average_score_percentage")
    private BigDecimal averageScorePercentage;

    /**
     * 积极情感数量
     */
    @TableField("positive_count")
    private Integer positiveCount;

    /**
     * 中性情感数量
     */
    @TableField("neutral_count")
    private Integer neutralCount;

    /**
     * 消极情感数量
     */
    @TableField("negative_count")
    private Integer negativeCount;

    /**
     * 积极率百分比
     */
    @TableField("positive_rate")
    private BigDecimal positiveRate;

    /**
     * 中性率百分比
     */
    @TableField("neutral_rate")
    private BigDecimal neutralRate;

    /**
     * 消极率百分比
     */
    @TableField("negative_rate")
    private BigDecimal negativeRate;

    /**
     * 最早交互时间
     */
    @TableField("earliest_interaction")
    private LocalDateTime earliestInteraction;

    /**
     * 最晚交互时间
     */
    @TableField("latest_interaction")
    private LocalDateTime latestInteraction;

    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 创建人
     */
    @TableField("created_by")
    private String createdBy;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /**
     * 更新人
     */
    @TableField("updated_by")
    private String updatedBy;

    /**
     * 是否删除(0-未删除,1-已删除)
     */
    @TableField("is_deleted")
    private Integer isDeleted;
}
