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

import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.mp.base.BaseEntity;

import java.util.Date;

/**
 * <p>
 * 个人钱包交易明细表
 * </p>
 *
 * @author zhouhanwei
 * @since 2023-10-31
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("pmg_bat_park_pay_channel_wallet_bill")
@ApiModel(value="PmgBatParkPayChannelWalletBill对象", description="个人钱包交易明细表")
public class PmgBatParkPayChannelWalletBill extends BaseEntity {

    /**
     * 钱包账户id
     */
    @ApiModelProperty(name = "walletId", value = "钱包账户id")
    private Long walletId;
    /**
     * 用户id
     */
    @ApiModelProperty(name = "walletUserId", value = "用户id")
    private Long walletUserId;
    /**
     * openId
     */
    @ApiModelProperty(name = "walletOpenId", value = "openId")
    private String walletOpenId;
    /**
     * 支付账单号
     */
    @ApiModelProperty(name = "walletBillNo", value = "支付账单号")
    private String walletBillNo;
    /**
     * 支付单id
     */
    @ApiModelProperty(name = "payId", value = "支付单id")
    private Long payId;
    /**
     * 账单时间
     */
    @ApiModelProperty(name = "walletBillTime", value = "账单时间")
    private Date walletBillTime;
    /**
     * 钱包账单类型（1:收入，2：支出）
     */
    @ApiModelProperty(name = "walletBillType", value = "钱包账单类型（1:收入，2：支出）")
    private String walletBillType;
    /**
     * 账单来源类型（1：微信支付充值,2：后台支付充值，3：智慧充电缴费，4：智慧停车缴费, 5:钱包退款...）
     */
    @ApiModelProperty(name = "walletBillSourceType", value = "账单来源类型（1：微信支付充值,2：后台支付充值，3：智慧充电缴费，4：智慧停车缴费, 5:钱包退款...）")
    private String walletBillSourceType;
    /**
     * 车辆类型::0-其他，1-小型新能源车，2-大型新能源车
     */
    @ApiModelProperty(name = "vehicleType", value = "车辆类型::0-其他，1-小型新能源车，2-大型新能源车")
    private Integer vehicleType;
    /**
     * 账单金额（单位：分）
     */
    @ApiModelProperty(name = "walletBillCost", value = "账单金额（单位：分）")
    private Long walletBillCost;
    /**
     * 钱包当前余额
     */
    @ApiModelProperty(name = "walletCurrentCost", value = "钱包当前余额")
    private Long walletCurrentCost;
    /**
     * 钱包流水分类（1：钱包充值，2：充值退款，3：消费扣款， 4：消费退款）
     */
    @ApiModelProperty(name = "walletStreamClassify", value = "钱包流水分类（1：钱包充值，2：充值退款，3：消费扣款， 4：消费退款）")
    private String walletStreamClassify;
    /**
     * 账单备注
     */
    @ApiModelProperty(name = "remark", value = "账单备注")
    private String remark;
    /**
     * 是否同意充值协议（1：是，2：否不让进行充值）
     */
    @ApiModelProperty(name = "agreementFlag", value = "是否同意充值协议（1：是，2：否不让进行充值）")
    private String agreementFlag;
    /**
     * 协议来源
     */
    @ApiModelProperty(name = "agreementSource", value = "协议来源")
    private String agreementSource;
    /**
     * 钱包流水对象
     */
    @ApiModelProperty(name = "walletStreamObject", value = "钱包流水对象")
    private String walletStreamObject;
    /**
     * 钱包流水号
     */
    @ApiModelProperty(name = "walletStreamNo", value = "钱包流水号")
    private String walletStreamNo;
    /**
     * 数据来源应用号
     */
    @ApiModelProperty(name = "dataSourceNo", value = "数据来源应用号")
    private String dataSourceNo;

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



}
