package cn.com.ctop.finance.payment.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;

import java.util.List;

/**
 * 充值申请表
 */
@Data
@TableName("finance_payment_recharge_application")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "finance_payment_recharge_application对象", description = "充值申请表")
public class FinancePaymentRechargeApplication {

    /**
     * 主键
     */
    @TableId(type = IdType.AUTO)
    @ApiModelProperty(value = "主键")
    private Long id;
    /**
     * 款项池ID
     */
    @Excel(name = "款项池ID", width = 15)
    @ApiModelProperty(value = "款项池ID")
    private Long poolId;

    /**
     * 客户(主体)ID
     */
    @Excel(name = "客户(主体)ID", width = 15)
    @ApiModelProperty(value = "客户(主体)ID")
    private String advertiserId;
    /**
     * 广告主名称
     */
    @Excel(name = "广告主名称", width = 15)
    @ApiModelProperty(value = "广告主名称")
    private String advertiserName;
    /**
     * 产品id
     */
    @Excel(name = "产品id", width = 15)
    @ApiModelProperty(value = "产品id")
    private Long productId;
    /**
     * 产品名
     */
    @Excel(name = "产品名", width = 15)
    @ApiModelProperty(value = "产品名")
    private String productName;
    /**
     * 项目id
     */
    @Excel(name = "项目id", width = 15)
    @ApiModelProperty(value = "项目id")
    private Long projectId;
    /**
     * 端口类型：1-汇创、2-骄阳、3-江西五七、4-北京五六七
     */
    @Excel(name = "端口类型：1-汇创、2-骄阳、3-江西五七、4-北京五六七", width = 15)
    @ApiModelProperty(value = "端口类型：1-汇创、2-骄阳、3-江西五七、4-北京五六七")
    private String paymentPort;
    /**
     * 项目名称
     */
    @Excel(name = "项目名称", width = 15)
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    /**
     * 媒体类型 1-头条、2-快手、7-磁力金牛、9-广点通
     */
    @Excel(name = "媒体类型 1-头条、2-快手、7-磁力金牛、9-广点通", width = 15)
    @ApiModelProperty(value = "媒体类型 1-头条、2-快手、7-磁力金牛、9-广点通")
    private String paymentMedia;
    /**
     * 类型：1-充值、2-自运营充值
     */
    @Excel(name = "类型：1-充值、2-自运营充值", width = 15)
    @ApiModelProperty(value = "类型：1-充值、2-自运营充值")
    private String rechargeType;
    /**
     * 状态 1-待审核、2-待充值、3-充值完成、4-临时充值、5-审核拒绝
     */
    @Excel(name = "状态 1-待审核、2-待充值、3-充值完成、4-临时充值、5-审核拒绝", width = 15)
    @ApiModelProperty(value = "状态 1-待审核、2-待充值、3-充值完成、4-临时充值、5-审核拒绝")
    private String auditStatus;
    /**
     * 申请人ID
     */
    @Excel(name = "申请人ID", width = 15)
    @ApiModelProperty(value = "申请人ID")
    private String applicanterId;
    /**
     * 申请人
     */
    @Excel(name = "申请人", width = 15)
    @ApiModelProperty(value = "申请人")
    private String applicanter;
    /**
     * 审核人ID
     */
    @Excel(name = "审核人ID", width = 15)
    @ApiModelProperty(value = "审核人ID")
    private String reviewederId;
    /**
     * 审核人
     */
    @Excel(name = "审核人", width = 15)
    @ApiModelProperty(value = "审核人")
    private String revieweder;
    /**
     * 财务审核，0-否，1-是
     */
    @Excel(name = "财务审核，0-否，1-是", width = 15)
    @ApiModelProperty(value = "财务审核，0-否，1-是")
    private String financialReview;
    /**
     * 审核意见
     */
    @Excel(name = "审核意见", width = 15)
    @ApiModelProperty(value = "审核意见")
    private String approvalContent;
    /**
     * 附件
     */
    @Excel(name = "附件", width = 15)
    @ApiModelProperty(value = "附件")
    private String files;
    /**
     * 是否后补：2-否，1-是
     */
    @Excel(name = "是否后补：2-否，1-是", width = 15)
    @ApiModelProperty(value = "是否后补：2-否，1-是")
    private String amends;
    /**
     * 备注
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remarks;
    private String notes;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private java.util.Date createTime;
    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private java.util.Date updateTime;
    /**
     * 开始时间
     */
    @TableField(exist = false)
    private String startDate;
    /**
     * 结束时间
     */
    @TableField(exist = false)
    private String endDate;
    /**
     * 登录人ID
     */
    @TableField(exist = false)
    private String userId;
    /**
     * 登录人IDs
     */
    @TableField(exist = false)
    private List<String> userIds;

    @TableField(exist = false)
    private String portName;

    @TableField(exist = false)
    private Long accountId;
}
