package com.huiju.estateagents.sample.entity;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.huiju.estateagents.redpack.entity.TaH5Template;

import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 样例表
 * </p>
 *
 * @author fxf
 * @since 2020-03-18
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TaH5Sample implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 样例id
     */
    @TableId(value = "sample_id", type = IdType.AUTO)
    private Integer sampleId;

    /**
     * 创建时间
     */
    private LocalDateTime createDate;

    /**
     * 样例名
     */
    private String sampleName;

    /**
     * 样例体验链接
     */
    private String sampleTryLink;

    /**
     * 样例体验二维码/小程序码
     */
    @TableField(strategy = FieldStrategy.IGNORED)
    private String sampleTryCode;

    /**
     * 封面图
     */
    private String coverImg;

    /**
     * 发布状态 -1删除0作废1有效
     */
    private Integer status;

    /**
     * 权重
     */
    @TableField(strategy = FieldStrategy.IGNORED)
    private Integer orderNo;

    /**
     * 标签 用逗号分隔
     */
    private String tag;

    /**
     * 样例类型 rich富文本link外部链接
     */
    private String sampleType;

    /**
     * 样例内容
     */
    private String sampleContent;

    /**
     * 样例链接
     */
    private String sampleContentLink;

    /**
     * 标签集合
     */
    @TableField(exist = false)
    private List<String> tags = new ArrayList<>();

    /**
     * 标签集合
     */
    @TableField(exist = false)
    private List<TaContact> taContactList = new ArrayList<>();

    /**
     * 修改人
     */
    private Integer updateUser;

    /**
     * 修改时间
     */
    private LocalDateTime updateDate;

    /**
     * 新增人
     */
    private Integer addUser;

    /**
     * 添加人姓名
     */
    @TableField(exist = false)
    private String addUserName;

    /**
     * 修改人姓名
     */
    @TableField(exist = false)
    private String updateUserName;

    /**
     * 样例中需求单个数
     */
    @TableField(exist = false)
    private Integer demandNum;

    /**
     *  模板ID
     */
    @TableField(strategy = FieldStrategy.IGNORED)
    private String h5TemplateId;

    @TableField(exist = false)
    private List<TaH5Template> taH5Template;
}
