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 PolicyCommunicationsRankRespVO {
    
    @Schema(description = "政策排行数据")
    private List<PolicyRankItem> policyRankList;
    
    @Schema(description = "部门排行数据")
    private List<DeptRankItem> deptRankList;
    
    @Data
    @Schema(description = "政策排行项")
    public static class PolicyRankItem {
        @Schema(description = "政策ID")
        private Long policyId;
        
        @Schema(description = "政策标题")
        private String policyTitle;
        
        @Schema(description = "政策文号")
        private String policyCode;
        
        @Schema(description = "沟通数量")
        private Long count;
        
        @Schema(description = "回复数量")
        private Long replyCount;
        
        @Schema(description = "回复率")
        private Double replyRate;
    }
    
    @Data
    @Schema(description = "部门排行项")
    public static class DeptRankItem {
        @Schema(description = "部门ID")
        private Long deptId;
        
        @Schema(description = "部门名称")
        private String deptName;
        
        @Schema(description = "处理数量")
        private Long handleCount;
        
        @Schema(description = "平均处理时长（天）")
        private Double avgProcessDays;
        
        @Schema(description = "回复率")
        private Double replyRate;
    }
}