package com.ruoyi.invest.domain;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import javax.validation.constraints.*;
/**
 * 账户转账记录对象 accounts_transfer_record
 *
 * @author tianyongbao
 * @date 2024-03-30
 */
@ApiModel("账户转账记录对象")
@Data
public class AccountsTransferRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private Long id;

    /** 名称 */
    @ApiModelProperty(value="名称")
    @Excel(name = "名称")
    private String name;

    /** 转账类型 */
    @ApiModelProperty(value="转账类型")
    @Excel(name = "转账类型")
    private String type;

    /** 出账id */
    private Long outAccountId;

    /** 入账id */
    private Long inAccountId;

    /** pos机id */
    private Long posId;

    /** 手续费 */
    @ApiModelProperty(value="手续费")
    @Excel(name = "手续费")
    private Double commission;

    /** 交易金额 */
    @ApiModelProperty(value="交易金额")
    @Excel(name = "交易金额")
    private Double amount;

    /** 实际入账金额 */
    @ApiModelProperty(value="实际入账金额")
    @Excel(name = "实际入账金额")
    private Double actualAmount;

    /** 交易类型，1收入，2支出，3转账，4借贷 */
    @ApiModelProperty(value="交易类型，1收入，2支出，3转账，4借贷")
    @Excel(name = "交易类型，1收入，2支出，3转账，4借贷")
    private String dealType;

    /** 删除标志（0代表存在 1代表删除） */
    private String delFlag;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("type", getType())
            .append("outAccountId", getOutAccountId())
            .append("inAccountId", getInAccountId())
            .append("posId", getPosId())
            .append("commission", getCommission())
            .append("amount", getAmount())
            .append("actualAmount", getActualAmount())
            .append("dealType", getDealType())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("delFlag", getDelFlag())
            .append("remark", getRemark())
            .toString();
    }
}
