package com.yolo.keyboard.dal.dataobject.userwallet;

import com.yolo.keyboard.framework.tenant.core.aop.TenantIgnore;
import lombok.*;
import java.util.*;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import com.yolo.keyboard.framework.mybatis.core.dataobject.BaseDO;

/**
 * 钱包交易记录 DO
 *
 * @author Ziin
 */
@TableName("keyboard_wallet_transaction")
@KeySequence("keyboard_wallet_transaction_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TenantIgnore
public class KeyboardWalletTransactionDO {

    /**
     * 主键 Id
     */
    @TableId
    private Long id;
    /**
     * 用户 Id
     */
    private Long userId;
    /**
     * 订单 Id
     */
    private Long orderId;
    /**
     * 金额
     */
    private BigDecimal amount;
    /**
     * 变动类型
     */
    private Short type;
    /**
     * 变动前余额
     */
    private BigDecimal beforeBalance;
    /**
     * 变动后余额
     */
    private BigDecimal afterBalance;
    /**
     * 描述
     */
    private String description;
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

}