package cn.iocoder.yudao.module.energy.dal.dataobject.account;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 账户流水 DO
 */
@TableName("energy_account_flow")
@KeySequence("energy_account_flow_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EnergyAccountFlowDO extends BaseDO {

    /**
     * 主键
     */
    @TableId
    private Long id;

    /**
     * 账户ID
     */
    private Long accountId;

    /**
     * 项目账户ID
     */
    private Long projectAccountId;

    /**
     * 流水类型
     */
    private Integer flowType;

    /**
     * 金额
     */
    private BigDecimal amount;

    /**
     * 变更前余额
     */
    private BigDecimal balanceBefore;

    /**
     * 变更后余额
     */
    private BigDecimal balanceAfter;

    /**
     * 变更前项目余额
     */
    private BigDecimal projectBalanceBefore;

    /**
     * 变更后项目余额
     */
    private BigDecimal projectBalanceAfter;

    /**
     * 业务类型
     */
    private Integer bizType;

    /**
     * 业务ID
     */
    private Long bizId;

    /**
     * 业务编号
     */
    private String bizCode;

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

    /**
     * 操作人ID
     */
    private Long operatorId;

}
