package com.playlet.system.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.playlet.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.playlet.common.annotation.Excel;

import java.util.Date;

/**
 * @Date: 2024-03-17
 * @Author: 但星霖
 * @Version: v1.0
 * @Description: 短剧任务收益对象 playlet_revenue_record
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "短剧*短剧任务收益对象")
@TableName(value = "playlet_revenue_record")
public class PlayletRevenueRecord extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 短剧任务收益主键id
     */
    @ApiModelProperty(value = "id?")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 退款金额(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)
     */
    @Excel(name = "退款金额(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)")
    @ApiModelProperty(value = "退款金额(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)")
    private Long refundMoney;

    /**
     * 剧场id
     */
    @Excel(name = "剧场id")
    @ApiModelProperty(value = "剧场id")
    private Long playletItemId;

    /**
     * 任务Id
     */
    @Excel(name = "任务id")
    @ApiModelProperty(value = "任务id")
    private Long taskId;

    /**
     * 用户id
     */
    @Excel(name = "用户id")
    @ApiModelProperty(value = "用户id")
    private Long userId;

    /**
     * 来源平台 1 抖音 2 快手 3 视频号
     */
    @Excel(name = "来源平台 1 抖音 2 快手 3 视频号")
    @ApiModelProperty(value = "来源平台 1 抖音 2 快手 3 视频号")
    private Long sourcePlatform;

    /**
     * 收益类型 1 充值收益 2 广告收益
     */
    @Excel(name = "收益类型 1 充值收益 2 广告收益")
    @ApiModelProperty(value = "收益类型 1 充值收益 2 广告收益")
    private Long earningsType;

    /**
     * 点击次数
     */
    @Excel(name = "点击次数")
    @ApiModelProperty(value = "点击次数")
    private Long clicksNumber;

    /**
     * 点击人数
     */
    @Excel(name = "点击人数")
    @ApiModelProperty(value = "点击人数")
    private Long clicksNumberPeople;

    /**
     * 充值金额(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)
     */
    @Excel(name = "充值金额(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)")
    @ApiModelProperty(value = "充值金额(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)")
    private Long rechargeMoney;

    /**
     * 预估收益(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)
     */
    @Excel(name = "预估收益(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)")
    @ApiModelProperty(value = "预估收益(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)")
    private Long estimateEarnings;

    /**
     * 实际收益(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)
     */
    @Excel(name = "实际收益(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)")
    @ApiModelProperty(value = "实际收益(后台转换，保留分 直接*100 例如1块钱 在这里应表示100)")
    private Long practicalEarnings;

    /**
     * 推送收益时间(此处为外部平台推入 建议使用时间戳后续数据转换。)
     */
    @Excel(name = "推送收益时间(此处为外部平台推入 建议使用时间戳后续数据转换。)")
    @ApiModelProperty(value = "推送收益时间(此处为外部平台推入 建议使用时间戳后续数据转换。) 时间戳")
    private Date pushTime;

    /** 剧场类型 */
    @Excel(name = "剧场类型")
    @ApiModelProperty(value = "剧场类型")
    private Integer itemType;

    @TableField(exist = false)
    @ApiModelProperty(value = "开始时间")
    private Date startTime;

    @TableField(exist = false)
    @ApiModelProperty(value = "结束时间")
    private Date endTime;
}
