package com.yc.ship.module.ota.dal.dataobject.distributoraudit;

import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.sun.xml.bind.v2.TODO;
import com.yc.ship.framework.tenant.core.db.TenantBaseDO;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 分销商授信提额/授信充值/余额充值 DO
 *
 * @author 管理员
 */
@TableName("ota_distributor_audit")
@KeySequence("ota_distributor_audit_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DistributorAuditDO extends TenantBaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 分销商ID
     */
    private Long distributorId;
    /**
     * 操作类型 1.余额，2.授信充正，3.授信提额
     * <p>
     * 枚举 {@link TODO otc_audit_operate_type 对应的类}
     */
    private Integer operateType;
    /**
     * 变更类型 1.增加、2.减少
     * <p>
     * 枚举 {@link TODO amount_type 对应的类}
     */
    private Integer operateMode;
    /**
     * 金额（提升额度/充值额度）
     */
    private BigDecimal amount;
    /**
     * 申请人
     */
    private Long applyUser;
    /**
     * 申请用户名
     */
    private String applyUserName;
    /**
     * 申请时间
     */
    private LocalDateTime applyTime;
    /**
     * 状态 0.申请中，1.审核通过，2.审核驳回
     * <p>
     * 枚举 {@link TODO audit_status 对应的类}
     */
    private Integer status;
    /**
     * 审核人
     */
    private Long auditUser;
    /**
     * 审核用户名
     */
    private String auditUserName;
    /**
     * 审核时间
     */
    private LocalDateTime auditTime;
    /**
     * 充值备注
     */
    private String applyRemark;
    /**
     * 审核备注
     */
    private String auditRemark;
    /**
     * 流水号
     */
    private String serialNum;
    /**
     * 充值单号ID
     */
    private String rechargeLogId;
    /**
     * 附件地址
     */
    private String fileUrl;

}
