package com.njcn.rdms.module.system.controller.admin.feedback.vo;

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

import java.util.List;

@Schema(description = "管理后台 - 用户意见反馈统计 Response VO")
@Data
public class FeedbackStatRespVO {

    @Schema(description = "全部未软删反馈总数")
    private Integer total;

    @Schema(description = "按分类分组的计数（覆盖字典 feedback_type 全部码值，无数据补 0；顺序按字典 sort）")
    private List<TypeCount> typeCounts;

    @Schema(description = "按处理状态分组的计数（覆盖字典 feedback_status 全部码值，无数据补 0；顺序按字典 sort）")
    private List<StatusCount> statusCounts;

    @Schema(description = "分类计数项")
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class TypeCount {

        @Schema(description = "分类码值（字典 feedback_type）")
        private Integer type;

        @Schema(description = "该分类下未软删反馈数")
        private Integer count;

    }

    @Schema(description = "状态计数项")
    @Data
    @NoArgsConstructor
    @AllArgsConstructor
    public static class StatusCount {

        @Schema(description = "状态码值（字典 feedback_status）")
        private Integer status;

        @Schema(description = "该状态下未软删反馈数")
        private Integer count;

    }

}
