package com.ruoyi.database.domain;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 停车场账单信息
 */
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class ParkingBill {

    /**
     * 账单编号
     */
    @JsonProperty("billCode")
    private String billCode;

    /**
     * 停车场编码
     */
    @JsonProperty("parkCode")
    private String parkCode;

    /**
     * 停车场名称
     */
    @JsonProperty("parkName")
    private String parkName;

    /**
     * 车牌号
     */
    @JsonProperty("plateNo")
    private String plateNo;

    /**
     * 车牌颜色 (1:蓝色, 2:黄色, 3:黑色, 4:白色, 5:绿色, 6:其他)
     */
    @JsonProperty("plateColor")
    private Integer plateColor;

    /**
     * 入场时间 (时间戳)
     */
    @JsonProperty("enterTime")
    private Long enterTime;

    /**
     * 离场时间 (时间戳)
     */
    @JsonProperty("costTime")
    private Long costTime;

    /**
     * 停车时长 (分钟)
     */
    @JsonProperty("parkPeriodTime")
    private Integer parkPeriodTime;

    /**
     * 总费用 (单位：分)
     */
    @JsonProperty("totalCost")
    private Integer totalCost;

    /**
     * 抵扣金额 (单位：分)
     */
    @JsonProperty("deductMoney")
    private Integer deductMoney;

    /**
     * 实付金额 (单位：分)
     */
    @JsonProperty("payMoney")
    private Integer payMoney;

    /**
     * 入场记录唯一标识
     */
    @JsonProperty("inUnid")
    private String inUnid;


    public BigDecimal getTotalCostYuan() {
        return totalCost != null ? BigDecimal.valueOf(totalCost).divide(BigDecimal.valueOf(100)) : null;
    }

    public BigDecimal getDeductMoneyYuan() {
        return deductMoney != null ? BigDecimal.valueOf(deductMoney).divide(BigDecimal.valueOf(100)) : null;
    }

    public BigDecimal getPayMoneyYuan() {
        return payMoney != null ? BigDecimal.valueOf(payMoney).divide(BigDecimal.valueOf(100)) : null;
    }

}
