package com.hdkj.lt.bf.entity.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hdkj.lt.base.serializer.BigDecimalSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 停电时户数指标 VO（对应前端"停电时户数"卡片，无时间维度切换）
 *
 * @author lsl
 * @since 2026-07-23
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ApiModel(description = "停电时户数指标")
public class SeOutageDashboardVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "停电时户数（今日）")
    @JsonSerialize(using = BigDecimalSerializer.StripTrailingZerosSerializer.class)
    private BigDecimal outageHoursHouseholdsToday;

    @ApiModelProperty(value = "停电时户数（全年累计）")
    @JsonSerialize(using = BigDecimalSerializer.StripTrailingZerosSerializer.class)
    private BigDecimal outageHoursHouseholdsYear;

    @ApiModelProperty(value = "平均停电时长（今日，单位：小时）")
    @JsonSerialize(using = BigDecimalSerializer.StripTrailingZerosSerializer.class)
    private BigDecimal avgOutageDurationToday;

    @ApiModelProperty(value = "平均停电时长（全年，单位：小时）")
    @JsonSerialize(using = BigDecimalSerializer.StripTrailingZerosSerializer.class)
    private BigDecimal avgOutageDurationYear;
}