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

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

import java.util.Date;

/**
 * @Author: 张逸飞
 * @Date: 2021/3/13 19:12
 * @Description: 停车场缴费表
 */
@Data
@TableName("pmg_bat_park_pay")
public class PmgBatParkPay extends TenantEntity {
    /**
     * 支付平台用户ID
     */
    @ApiModelProperty(name = "payUserId", value = "支付平台用户ID")
    private String payUserId;
    /**
     * 订单号
     */
    @ApiModelProperty(name = "orderNumber", value = "订单号")
    private String orderNumber;
    /**
     * 停车账单唯一标识
     */
    @ApiModelProperty(name = "billSysCode", value = "停车账单唯一标识")
    private String billSysCode;
    /**
     * 支付金额 单位 分
     */
    @ApiModelProperty(name = "payCost", value = "支付金额 单位 分")
    private Long payCost;
    /**
     * 支付状态 0：待支付、1：支付中、2：支付成功、3：支付失败、4：退款中、5：已退款
     */
    @ApiModelProperty(name = "payStatus", value = "支付状态 -1：已关闭 0：待支付、1：支付中、2：支付成功、3：支付失败、4：退款中、5：已退款、6：已部分退款")
    private Integer payStatus;
    /**
     * 开票状态(0:开票中 1:开票成功 2:开票失败 3:红冲中(待退票) 4:已红冲(已退票) 5:被驳回 6:重开发票申请中 7:待作废 8:已作废 9:未开票 10:被驳回且重新申请 11:待红冲 12:红冲失败)
     */
    @ApiModelProperty(name = "invoicingStatus", value = "开票状态(0:开票中 1:开票成功 2:开票失败 3:红冲中(待退票) 4:已红冲(已退票) 5:被驳回 6:重开发票申请中 7:待作废 8:已作废 9:未开票 10:被驳回且重新申请 11:待红冲 12:红冲失败)")
    private Integer invoicingStatus;
    /**
     * 详细的支付类型
     */
    @ApiModelProperty(name = "payType", value = "详细的支付类型")
    private String payType;
    /**
     * 用户优惠券id
     */
    @ApiModelProperty(name = "couponCode", value = "用户优惠券id")
    private String couponCode;
    /**
     * 支付时间
     */
    @ApiModelProperty(name = "payTime", value = "支付时间")
    private Date payTime;
    /**
     * 账单类型 1 临时账单 2 月卡账单 3 无牌车
     */
    @ApiModelProperty(name = "billType", value = "账单类型 1 临时账单 2 月卡账单 3 无牌车")
    private Integer billType;
    /**
     * 园区ID
     */
    @ApiModelProperty(name = "parkId", value = "园区ID")
    private String parkId;

    /**
     * 场地id
     */
    @ApiModelProperty(name = "siteId", value = "场地ID")
    private Long siteId;

    ///

    @ApiModelProperty(name = "placeIdleCost", value = "支付金额 单位 分")
    private long placeIdleCost;

    /**
     * 钱包id
     */
    @ApiModelProperty(name = "walletId", value = "钱包id")
    private Long walletId;

    /**
     * 钱包类型（1：个人钱包）
     */
    @ApiModelProperty(name = "walletAccountType", value = "钱包类型（1：个人钱包, 2:渠道钱包）")
    private String walletType;

    /**
     * 数据来源应用号
     */
    @ApiModelProperty(name = "dataSourceNo", value = "数据来源应用号")
    private String dataSourceNo;

    /**
     * 应用id
     */
    @ApiModelProperty(name = "applyId", value = "应用id")
    private Long applyId;

    /**
     * 平台用户id
     */
    @ApiModelProperty(name = "userDetailId", value = "平台用户id")
    private Long userDetailId;

    /**
     * 订单隐私保护
     */
    @ApiModelProperty(name = "privacyProtectionFlag", value = "订单隐私保护")
    private Integer privacyProtectionFlag;

    /**
     * 关闭人用户id
     */
    @ApiModelProperty(name = "payCloseUserId", value = "关闭人用户id")
    private Long payCloseUserId;

    /**
     * 支付渠道编码
     */
    private String payChannelCode;

    /**
     * 支付商户号
     */
    private String payMerchantNo;
}