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_project_account")
@KeySequence("energy_project_account_seq")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EnergyProjectAccountDO extends BaseDO {

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

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

    /**
     * 合同ID
     */
    private Long contractId;

    /**
     * 项目名称
     */
    private String projectName;

    /**
     * 项目余额
     */
    private BigDecimal projectBalance;

    /**
     * 项目汇款总额
     */
    private BigDecimal projectRemitAmount;

    /**
     * 项目加氢金额
     */
    private BigDecimal projectHydrogenAmount;

    /**
     * 项目充电金额
     */
    private BigDecimal projectElectricAmount;

    /**
     * 项目消费总额
     */
    private BigDecimal projectConsumeAmount;

    /**
     * 余额预警阈值
     */
    private BigDecimal reminderThreshold;

    /**
     * 账户状态
     */
    private Integer accountStatus;

    /**
     * 乐观锁版本号（手动控制，不使用 @Version 注解）
     */
    private Integer version;

}
