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

import com.yuchen.saas.parking.charge.api.po.ParkingChargingRecord;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Date;
import java.util.List;

@Data
@ApiModel(value="SpcChargeBillAdminVO对象", description=" 占位费订单vo对象")
public class SpcAdminOccupyFeeBillVO {

    /**
     * 停车场ID
     */
    @ApiModelProperty(name = "id", value = "ID")
    private Long id;
    @ApiModelProperty(name = "parkingId", value = "停车场ID")
    private Long parkingId;
    @ApiModelProperty(name = "settleType", value = "结算类型1用户手动结算2自动结算")
    private Integer settleType;
    /**
     * 停车场名称
     */
    @ApiModelProperty(name = "parkingName", value = "停车场名称")
    private String parkingName;

    /**
     * 车牌号
     */
    @ApiModelProperty(name = "plateNo", value = "车牌号")
    private String plateNo;

    /**
     * 用户OPENID
     */
    @ApiModelProperty(name = "payUserId", value = "用户OPENID")
    private String payUserId;



    /**
     * 是否删除
     */
    @ApiModelProperty(name = "isDeleted", value = "是否删除")
    private Integer isDeleted;

    /**
     * 占位费总费用
     */
    @ApiModelProperty(name = "placeIdleCost", value = "占位费总费用")
    private Long placeIdleCost;

    /**
     * 充电总时长
     */
    @ApiModelProperty(name = "placeChargeTime", value = "充电总时长")
    private Long placeChargeTime;
    /**
     * 充电车位占用收费总时长（未充电时长）
     */
    @ApiModelProperty(name = "placeIdleTime", value = "充电车位占用收费总时长（未充电时长）")
    private Long placeIdleTime;
    /**
     * 充电车位上停放的总时长（充电加未充电）
     */
    @ApiModelProperty(name = "placeParkingTime", value = "充电车位上停放的总时长（充电加未充电）")
    private Long placeParkingTime;
    /**
     * 应收占位费（扣除已支付占位费）
     */
    @ApiModelProperty(name = "supposePlaceIdleCost", value = "应收占位费（扣除已支付占位费）")
    private Long supposePlaceIdleCost;

    /**
     * 已付
     */
    @ApiModelProperty(name = "paidPlaceIdleCost", value = "已支付占位费")
    private Long paidPlaceIdleCost;


    /**
     * 关联订单ID
     */
    @ApiModelProperty(name = "billId", value = "关联订单ID")
    private Long billId;


    @ApiModelProperty(name = "stationId", value = "充电站id")
    private  Long stationId;

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

    /**
     * 占位费开始计算时间
     */
    @ApiModelProperty(name = "beginTime", value = "占位费开始计算时间")
    private Date beginTime;

    /**
     * 占位费结束计算时间
     */
    @ApiModelProperty(name = "endTime", value = "占位费结束计算时间")
    private Date endTime;

    @ApiModelProperty(name = "chargeTerminalId", value = "电桩id")
    private Long chargeTerminalId;

    @ApiModelProperty(name = "chargeTerminalName", value = "电桩名称")
    private String chargeTerminalName;

    @ApiModelProperty(name = "userMobile", value = "占位费结束计算时间")
    private String userMobile;

    @ApiModelProperty(name = "parkingSpaceId", value = "车位id")
    private Long parkingSpaceId;

    @ApiModelProperty(name = "parkingSpaceNo", value = "车位号")
    private String parkingSpaceNo;

    @ApiModelProperty(name = "terminalNo", value = "终端编号")
    private String terminalNo;


    private SpcStationChargeTerminalVO terminalvo;

    @ApiModelProperty(name = "detailList", value = "实时占位费信息")
    private List<SpcAdminOccupyFeeBillDetailVo> detailList;

    @ApiModelProperty(name = "chargingRecordsList", value = "充电记录")
    private List<ParkingChargingRecord> chargingRecordsList;

    @ApiModelProperty(name = "status", value = "状态")
    private Integer status;

    @ApiModelProperty(name = "createTime", value = "创建时间")
    private Date createTime;

    @ApiModelProperty(name = "settleTime", value = "结算时间")
    private Date settleTime;

    @ApiModelProperty(name = "occupyFeePaymentId", value = "账单id")
    private Long occupyFeePaymentId;

    @ApiModelProperty(name = "payType", value = "支付类型")
    private String payType;
    @ApiModelProperty(name = "payNo", value = "支付流水号")
    private String payNo;
    @ApiModelProperty(name = "deptName", value = "运营商编号")
    private String deptName;

    @ApiModelProperty(name = "orderNo", value = "订单中心订单号")
    private String orderNo;


}
