package cn.newfeifan.mall.module.distri.dal.dataobject.ptprofitlog;

import lombok.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.newfeifan.mall.framework.mybatis.core.dataobject.BaseDO;

/**
 * 平台利润记录 DO
 *
 * @author 非繁人
 */
@TableName("distri_pt_profit_log")
@KeySequence("distri_pt_profit_log_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PtProfitLogDO extends BaseDO {

    /**
     * 用户ID , 只有收益类型为 3,4才有值
     */
    private Long userId;
    /**
     * 订单Id
     */
    private Long orderId;
    /**
     * 订单编号
     */
    private String orderNo;
    /**
     * 编号
     */
    @TableId
    private Long id;
    /**
     * 计算百分比模板
     */
    private String percentTemplate;
    /**
     * 变动的当前可用积分值（可为负数）
     */
    private Long amount;
    /**
     * 变动后当前可用积分钱包的余额
     */
    private Long afterAmount;
    /**
     * 收益类型 1:平台服务器费 2:平台收益 3用户下单返回毛利额度 4直推人额度 5合赢奖
     */
    private Integer profitStatus;
    /**
     * 变动的冻结积分值（可为负数）
     */
    private Long freezeAmount;
    /**
     * 变动后冻结积分钱包的余额
     */
    private Long afterFreezeAmount;

    /**
     * 最大可用积分变化值
     */
    private Long maxAvailablePointsAmount;
    /**
     * 最大可用积分额度
     */
    private Long afterMaxAvailablePointsAmount;
    /**
     * 合赢奖超出额度
     */
    private Long accumulatedQuotaAmount;
    /**
     * 直推奖超出额度
     */
    private Long ancestorQuotaAmount;
    /**
     * 产生积分的用户ID，例如：下订单的用户ID
     */
    private Long generateUserId;

    /**
     * 变动的冻结最大可用额度
     */
    private Long freezeHighQuota;
    /**
     * 变动后的冻结最大可用额度
     */
    private Long afterFreezeHighQuota;
}