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

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.thinkunion.park.service.common.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * @ClassName VehicleMonthlyCardBillData
 * @Description 停车场 车辆月卡账单数据表
 * @Author 张逸飞
 * @Date 2022/6/16 15:50
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "停车场 车辆月卡账单数据表", description = "停车场 车辆月卡账单数据表")
@TableName("vehicle_monthly_card_bill_data")
public class VehicleMonthlyCardBillData extends BasicEntity {
    /**
     * 月卡登记ID
     */
    @ApiModelProperty(name = "vehicleMonthlyCardId", value = "月卡ID")
    private Long vehicleMonthlyCardId;
    /**
     * 微信openid or 用户ID
     */
    @ApiModelProperty(name = "payUserId", value = "移动端用户唯一ID")
    private String payUserId;
    /**
     * 包月数量
     */
    @ApiModelProperty(name = "monthNumber", value = "包月数量")
    private Integer monthNumber;
    /**
     * 总金额 分
     */
    @ApiModelProperty(name = "totalAmount", value = "总金额")
    private Long totalAmount;
    /**
     * 支付类型 | 0 后台充值 1 微信充值
     */
    @ApiModelProperty(name = "payType", value = "支付类型 | 0 后台充值 1 微信充值")
    private Integer payType;
    /**
     * 支付状态 | 0 支付中 1 支付成功
     */
    @ApiModelProperty(name = "payStatus", value = "支付状态 | 0 支付中 1 支付成功")
    private Integer payStatus;
    /**
     * 基本已经废弃，后期谨慎使用
     * 开票状态 | 0 开票中 1 开票成功 2 开票失败 3 红冲 4 被红冲 9 未开票
     */
    @Deprecated
    @ApiModelProperty(name = "invoicingStatus", value = "开票状态 | 0 开票中 1 开票成功 2 开票失败 3 红冲 4 被红冲 9 未开票")
    private Integer invoicingStatus;
    /**
     * 包租 开始时间
     */
    @ApiModelProperty(name = "beginTime", value = "包租 开始时间")
    private Date beginTime;
    /**
     * 包租 结束时间
     */
    @ApiModelProperty(name = "endTime", value = "包租 结束时间")
    private Date endTime;

    /**
     * 停车场id
     */
    @ApiModelProperty(name = "parkingId", value = "停车场id")
    @TableField(exist = false)
    private Long parkingId;
}
