package com.agileboot.domain.collaboration.record.db;

import com.agileboot.common.core.base.BaseEntity;
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 com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import lombok.Getter;
import lombok.Setter;

/**
 * @author codex
 */
@Getter
@Setter
@TableName("collaboration_record")
@ApiModel(value = "CollaborationRecordEntity对象", description = "合作记录表")
public class CollaborationRecordEntity extends BaseEntity<CollaborationRecordEntity> {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("合作记录ID")
    @TableId(value = "record_id", type = IdType.AUTO)
    private Long recordId;

    @ApiModelProperty("品牌")
    @TableField("brand")
    private String brand;

    @ApiModelProperty("物品")
    @TableField("goods")
    private String goods;

    @ApiModelProperty("合作平台")
    @TableField("cooperation_platform")
    private String cooperationPlatform;

    @ApiModelProperty("返图数量")
    @TableField("image_return_num")
    private Integer imageReturnNum;

    @ApiModelProperty("留存方式")
    @TableField("retained_method")
    private String retainedMethod;

    @ApiModelProperty("合作方式")
    @TableField("cooperated_method")
    private String cooperatedMethod;

    @ApiModelProperty("购入方式")
    @TableField("purchase_method")
    private String purchaseMethod;

    @ApiModelProperty("购入金额")
    @TableField("purchase_price")
    private BigDecimal purchasePrice;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("购入日期")
    @TableField("purchase_date")
    private Date purchaseDate;

    @ApiModelProperty("购入平台")
    @TableField("purchase_platform")
    private String purchasePlatform;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("预完成日期")
    @TableField("deadline")
    private Date deadline;

    @ApiModelProperty("稿费")
    @TableField("remuneration")
    private BigDecimal remuneration;

    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @ApiModelProperty("完成日期")
    @TableField("complete_date")
    private Date completeDate;

    @ApiModelProperty("拍摄要求")
    @TableField("requirements")
    private String requirements;

    @ApiModelProperty("备注")
    @TableField("remark")
    private String remark;

    @Override
    public Serializable pkVal() {
        return this.recordId;
    }

}
