package cn.iocoder.yudao.module.server.controller.admin.policycommunications.vo.analysis;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

@Schema(description = "管理后台 - 沟通内容分析 Response VO")
@Data
public class PolicyCommunicationsContentAnalysisRespVO {
    
    @Schema(description = "类型分布数据")
    private List<TypeDistributionItem> typeDistribution;
    
    @Schema(description = "高频词云数据")
    private List<WordCloudItem> wordCloudData;
    
    @Schema(description = "热词统计")
    private List<HotWordItem> hotWords;
    
    @Data
    @Schema(description = "类型分布项")
    public static class TypeDistributionItem {
        @Schema(description = "类型代码")
        private String typeCode;
        
        @Schema(description = "类型名称")
        private String typeName;
        
        @Schema(description = "数量")
        private Long count;
        
        @Schema(description = "占比（%）")
        private Double percentage;
    }
    
    @Data
    @Schema(description = "词云项")
    public static class WordCloudItem {
        @Schema(description = "关键词")
        private String name;
        
        @Schema(description = "权重")
        private Integer value;
    }
    
    @Data
    @Schema(description = "热词项")
    public static class HotWordItem {
        @Schema(description = "热词")
        private String word;
        
        @Schema(description = "出现次数")
        private Integer count;
        
        @Schema(description = "增长率（%）")
        private Double growthRate;
    }
}