package cn.iocoder.yudao.module.system.dal.dataobject.tenantpoints;

import lombok.*;
import java.util.*;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;

/**
 * 租户积分记录 DO
 *
 * @author 总后台
 */
@TableName("system_tenant_points")
@KeySequence("system_tenant_points_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class TenantPointsDO {

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 本次变动点数，正加负减
     */
    private Integer points;
    /**
     * 变动后余额快照（冗余）
     */
    private Integer balance;
    /**
     * 变动类型，如 RECHARGE, CONSUME, TRANSFER_OUT, TRANSFER_IN
     */
    private String type;
    /**
     * 变动描述
     */
    private String description;
    /**
     * 订单 Id/业务单号
     */
    private String orderId;
    /**
     * 业务流水号（转账、订单等唯一标识）
     */
    private String bizNo;
    /**
     * 操作人 Id
     */
    private Long operatorId;
    /**
     * 目标租户 Id（转账使用）
     */
    private Long targetTenantId;
    /**
     * 创建时间
     */
    private LocalDateTime createdAt;

    private Long tenantId;

    private String remark;

    private Integer testAccountNum;
}