package com.yuchen.saas.parking.api.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.nest.springwrap.core.tenant.mp.TenantEntity;

import java.util.Date;

/**
 * @author 刘碧清
 * @version 1.0
 * @date 2021-07-03 19:41
 */
@Data
@TableName("pmg_bat_park_bill_payment")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "账单支付表", description = "账单支付表")
public class PmgBatParkBillPayment extends TenantEntity {
    /**
     * 车牌
     */
    @ApiModelProperty(value = "车牌")
    private String plateNo;
    /**
     * 车辆id，无牌车用无牌车id
     */
    @ApiModelProperty(value = "车辆id，无牌车用无牌车id")
    private Long noPlateId;
    /**
     * 停车场id
     */
    @ApiModelProperty(value = "停车场id")
    private Long parkingId;
    /**
     * 账单id
     */
    @ApiModelProperty(value = "账单id")
    private Long billId;
    /**
     * 微信openid or 支付宝账号
     */
    @ApiModelProperty(value = "微信openid or 支付宝账号")
    private String payUserId;
    /**
     * 详细的支付类型
     */
    @ApiModelProperty(value = "详细的支付类型")
    private String payType;
    /**
     * 应收金额（最大长度8） 单位：分
     */
    @ApiModelProperty(value = "应收金额（最大长度8） 单位：分")
    private Long supposeCost;
    /**
     * 已支付金额（最大长度8） 单位：分
     */
    @ApiModelProperty(value = "已支付金额（最大长度8） 单位：分")
    private Long paidCost;
    /**
     * 账单总金额（最大长度8） 单位：分
     */
    @ApiModelProperty(value = "账单总金额（最大长度8） 单位：分")
    private Long totalCost;
    /**
     * 开票状态 | 0 开票中 1 开票成功 2 开票失败 3 红冲 4 被红冲 9 未开票
     */
    @ApiModelProperty(value = "开票状态 | 0 开票中 1 开票成功 2 开票失败 3 红冲 4 被红冲 9 未开票")
    private Integer invoicingStatus;
    /**
     * 减免金额（最大长度8） 单位：分
     */
    @ApiModelProperty(value = "减免金额（最大长度8） 单位：分")
    private Long deduceCost;
    /**
     * 是否使用优惠券 0：不使用 1：使用
     */
    @ApiModelProperty(value = "是否使用优惠券 0：不使用 1：使用")
    private Integer isUsedCoupon;
    /**
     * 优惠券码（最大长度64）
     */
    @ApiModelProperty(value = "优惠券码（最大长度64）")
    private String couponCode;
    /**
     * 优惠券失败原因 1:抵扣券已失效 2:抵扣券不存在 3:请使用当前停车场抵扣券 4:超时缴费不能使用抵扣券减免 5:已使用抵扣券减免 6:已使用过优惠券，不能多次使用
     */
    @ApiModelProperty(value = "优惠券失败原因 1:抵扣券已失效 2:抵扣券不存在 3:请使用当前停车场抵扣券 4:超时缴费不能使用抵扣券减免 5:已使用抵扣券减免 6:已使用过优惠券，不能多次使用")
    private Integer couponUsedMsg;
    /**
     * 本次账单减免金额 单位：分
     */
    @ApiModelProperty(value = "本次账单减免金额 单位：分")
    private Long currentDeduceCost;

    /**
     * 一起的账单
     */
    @TableField(exist = false)
    @ApiModelProperty(value = "一起的账单")
    private PmgBatParkBill parkBill;
    //

  /*  private long paidPlaceIdleCost;*/
}
