package com.sckw.transport.api.model.vo;

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

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

/**
 * 顶部数据展示区统计结果。
 * <p>
 * 该对象用于承载报表首页顶部四个核心指标：
 * 1. 累计运量
 * 2. 累计车次
 * 3. 今日车次
 * 4. 今日运量
 * </p>
 *
 * @author ai
 * @date 2026/04/22
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "顶部数据展示区统计结果")
public class TransportTopStatisticsVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 系统内所有已完成运单的净重汇总。
     */
    @Schema(description = "累计运量")
    private BigDecimal totalTransportAmount;

    /**
     * 系统内所有已完成运单数量。
     */
    @Schema(description = "累计车次")
    private Long totalTripCount;

    /**
     * 系统内当日完成运单数量，按运单完成时间统计。
     */
    @Schema(description = "今日车次")
    private Long todayTripCount;

    /**
     * 系统内当日完成运单的净重汇总，按运单完成时间统计。
     */
    @Schema(description = "今日运量")
    private BigDecimal todayTransportAmount;
}
