package com.jsowell.thirdparty.platform.domain;

import com.alibaba.fastjson2.annotation.JSONField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.List;

/**
 * 充电站充电统计信息
 *
 * @author Lemon
 * @Date 2024/5/18 14:36:30
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class StationChargeStatsInfo {
    /**
     * 充电站id
     */
    @JSONField(name = "StationID")
    private String stationId;

    /**
     * 统计的开始时间
     */
    @JSONField(name = "StartTime")
    private String startTime;

    /**
     * 统计结束时间
     */
    @JSONField(name = "EndTime")
    private String endTime;

    /**
     * 充电站累计充电量
     */
    @JSONField(name = "StationChargeElectricity")
    private BigDecimal stationChargeElectricity;

    /**
     * 充电设备统计信息列表
     */
    @JSONField(name = "EquipmentChargeStatsInfos")
    private List<EquipmentChargeStatsInfo> equipmentChargeStatsInfos;

    @Data
    @Builder
    public static class EquipmentChargeStatsInfo{

        /**
         * 设备编码
         */
        @JSONField(name = "EquipmentID")
        private String equipmentId;

        /**
         * 充电设备累计充电量
         */
        @JSONField(name = "EquipmentChargeElectricity")
        private BigDecimal equipmentChargeElectricity;

        /**
         * 充电设备接口统计信息列表
         */
        @JSONField(name = "ConnectorChargeStatsInfos")
        private List<ConnectorChargeStatsInfo> connectorChargeStatsInfos;


        @Data
        @Builder
        public static class ConnectorChargeStatsInfo{

            /**
             * 充电设备接口编码
             */
            @JSONField(name = "ConnectorID")
            private String connectorId;

            /**
             * 充电设备接口累计充电量
             */
            @JSONField(name = "ConnectorChargeElectricity")
            private BigDecimal connectorChargeElectricity;
        }
    }
}
