package com.sonic.lion.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;

/**
 * t_pay_account_bill
 * @author 
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("t_pay_account_bill")
public class PayAccountBill {
    /**
     * ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 平台代码
     */
    private String platform;

    /**
     * 用户流水ID
     */
    private String accountBillId;

    /**
     * 流水所属平台账号id
     */
    private Long accountId;

    /**
     * 账号名称
     */
    private String accountName;

    /**
     * 交易号
     */
    private String tradeNo;

    /**
     * 通道账号 (如:银行卡号,支付宝账号；根据des_account_type确定)
     */
    private String desAccountNo;

    /**
     * 通道账号姓名
     */
    private String desAccountName;

    /**
     * 通道账号类型：0平台账号，1非平台账号
     */
    private Integer desAccountType;

    /**
     * 渠道ID
     */
    private Integer channelId;

    /**
     * 渠道名称
     */
    private String channelName;

    /**
     * 业务类型(参看枚举TradeBizType)
     */
    private Integer bizType;

    /**
     * 业务编号ID(参看枚举TradeBizType)
     */
    private String bizNum;

    /**
     * 支付方式ID
     */
    private Long paymentTypeId;

    /**
     * 流水类型:1收入,2支出
     */
    private Integer inOrOut;

    /**
     * 流水标题或名称
     */
    private String name;

    /**
     * 发生金额(分)
     */
    private Long amount;

    /**
     * 账户当前余额(分),status=2成功时更新
     */
    private Long balance;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建时间
     */
    private LocalDateTime createTime;

    /**
     * 最后修改时间
     */
    private LocalDateTime editTime;

    /**
     * 是否删除
     */
    @TableField("is_delete")
    private Boolean deleted;
}