package com.yuchen.saas.parking.charge.api.vo.charge;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * @Author 蔡文强
 * @Date 2023/4/13 15:56
 * @Description 电站简要信息
 */
@Data
@ApiModel(value = "电站简要信息")
public class SpcStationVO {

    /**
     * 电站ID
     */
    @ApiModelProperty("电站ID")
    private Long id;

    /**
     * 所属租户
     */
    @ApiModelProperty("租户ID")
    private String tenantId;

    /**
     * 所属运营运营商
     */
    @ApiModelProperty(name = "enterpriseId", value = "所属运营商ID")
    private Long enterpriseId;
    /**
     * 所属运营运营商
     */
    @ApiModelProperty(name = "enterpriseName", value = "所属运营商名称")
    private String enterpriseName;
    @ApiModelProperty(name = "terminalEnableCount", value = "启用终端数量")
    private Integer terminalEnableCount;
    /**
     * 电站类型(1:园区电站 2:社区电站 3:其他电站)
     */
    @ApiModelProperty(name = "stationMode", value = "电站类型(1:园区电站 2:社区电站 3:其他电站)")
    private Integer stationMode;

    /**
     * 场地位置(1:地面场地 2:地下场地 3:其他场地)
     */
    @ApiModelProperty(name = "siteLocation", value = "场地位置(1:地面场地 2:地下场地 3:其他场地)")
    private Integer siteLocation;

    /**
     * 充电站名称
     */
    @ApiModelProperty(name = "stationName", value = "充电站名称")
    private String stationName;

    /**
     * 运营状态(1:未启动 2:运营中 3:暂停运营 4：停止运营)
     */
    @ApiModelProperty(name = "operateStatus", value = "运营状态(1:未启动 2:运营中 3:暂停运营 4：停止运营)")
    private Integer operateStatus;

    /**
     * 充电站图片(多张，逗号隔开)
     */
    @ApiModelProperty(name = "staionPhotos", value = "充电站图片(多张，逗号隔开)")
    private String stationPhotos;

    /**
     * 地理位置(省市县/区)
     */
    @ApiModelProperty(name = "location", value = "地理位置(省市县/区)")
    private String location;
    /**
     * 详细地址
     */
    @ApiModelProperty(name = "address", value = "详细地址")
    private String address;

    /**
     * 终端数
     */
    @ApiModelProperty(name = "terminalCount", value = "终端数")
    private Integer terminalCount;

    /**
     * 车位数
     */
    @ApiModelProperty(name = "placeCount", value = "车位数")
    private Integer placeCount;

    /**
     * 车位地锁(1:有地锁 2:无地锁)
     */
    @ApiModelProperty(name = "placeLock", value = "车位地锁(1:有地锁 2:无地锁)")
    private Integer placeLock;


    /**
     * 值守类型(1:有人看守 2:无人看守)
     */
    @ApiModelProperty(name = "dutyType", value = "值守类型(1:有人看守 2:无人看守)")
    private Integer dutyType;

    @ApiModelProperty(name = "placeCount", value = "直流(快充)数量")
    private Integer dcCount;
    /**
     * 直流(快充)空闲数量
     */

    /**
     * 交流(慢充)数量
     */
    @ApiModelProperty(name = "placeCount", value = "交流(慢充)数量")
    private Integer acCount;
    /**
     * 交流(慢充)空闲数量
     */
    @ApiModelProperty(name = "dcFreeCount", value = "直流(快充)空闲数量")
    private Integer dcFreeCount;
    @ApiModelProperty(name = "acFreeCount", value = "交流(慢充)空闲数量")
    private Integer acFreeCount;


    @ApiModelProperty(name = "dcBusyCount", value = "直流(快充)忙数量")
    private Integer dcBusyCount;
    @ApiModelProperty(name = "acBusyCount", value = "交流(慢充)忙数量")
    private Integer acBusyCount;


    @ApiModelProperty(name = "dcChargingCount", value = "直流(快充)忙数量")
    private Integer dcChargingCount;
    @ApiModelProperty(name = "acChargingCount", value = "交流(慢充)忙数量")
    private Integer acChargingCount;

    @ApiModelProperty(name = "dcOfflineCount", value = "直流(快充)离线数量")
    private Integer dcOfflineCount;
    @ApiModelProperty(name = "acOfflineCount", value = "交流(慢充)离线数量")
    private Integer acOfflineCount;

    @ApiModelProperty(name = "dcFaultCount", value = "直流(快充)故障数量")
    private Integer dcFaultCount;
    @ApiModelProperty(name = "acFaultCount", value = "交流(慢充)故障数量")
    private Integer acFaultCount;
    @ApiModelProperty(name = "acChargeEndCount", value = "ac终端充电完成数量")
    private Integer acChargeEndCount;

    @ApiModelProperty(name = "acReadyChargeCount", value = "ac终端等待充电数量")
    private Integer acReadyChargeCount;
    @ApiModelProperty(name = "dcChargeEndCount", value = "dc终端充电完成数量")
    private Integer dcChargeEndCount;
    @ApiModelProperty(name = "dcReadyChargeCount", value = "dc终端等待充电数量")
    private Integer dcReadyChargeCount;
    @ApiModelProperty(name = "dcOccupyCount", value = "直流(快充)占用数量")
    private Integer dcOccupyCount;
    @ApiModelProperty(name = "acOccupyCount", value = "交流(慢充)占用数量")
    private Integer acOccupyCount;
    @ApiModelProperty(name = "stakeTypeCount", value = "电桩类型统计")
    private String stakeTypeCount;
    @ApiModelProperty(name = "stationNo", value = "电站编号")
    private String stationNo;
    /**
     * 停车收费说明
     */
    @ApiModelProperty(name = "chargeTemplateId", value = "充电模板id")
    private Long chargeTemplateId;


    @ApiModelProperty(name = "orgType", value = "机构类型 1:单位；2：企业；3：个体户；4：个人；5：其他")
    private Integer orgType;

    @ApiModelProperty(name = "verifyState", value = "确认状态（0：未确认，1：已确认）")
    private String verifyState;

    @ApiModelProperty(name = "publishType", value = "发布类型（1：统一平台，2：客户专用）")
    private String publishType;

    @ApiModelProperty(name = "collectFeeModel", value = "收费模式（1：平台代收，定期结算，2：客户直收，自动分层, 3:免费模式）")
    private String collectFeeModel;

    @ApiModelProperty(name = "invoiceModel", value = "开票模式（1：平台开票，2：客户开票）")
    private String invoiceModel;

    @ApiModelProperty(name = "publishApplyIdList", value = "发布平台ID列表")
    private List<Long> publishApplyIdList;

    @ApiModelProperty(name = "collectFeeConfig", value = "收费配置")
    private Boolean collectFeeConfig = false;
}
