package com.yonge.cooleshow.biz.dal.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 com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
import com.yonge.cooleshow.common.enums.SysUserType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 回访表
 */
@TableName("return_visit")
@ApiModel(value = "ReturnVisit对象", description = "回访表")
public class ReturnVisit implements Serializable {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "主键 ",hidden = true)
    @TableId(value = "id_", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty(value = "用户id ",required = true)
    @TableField(value = "user_id_")
    @NotNull(message = "回访用户不能为空")
    private Long userId;

    @ApiModelProperty(value = "用户类型 ",required = true)
    @TableField(value = "client_type_")
    @NotNull(message = "用户类型不能为空")
    private SysUserType clientType;

    @ApiModelProperty(value = "回访标题 ",required = true)
    @TableField(value = "title_")
    // @NotBlank(message = "回访标题不能为空")
    private String title;

    @ApiModelProperty(value = "回访内容 ",required = true)
    @TableField(value = "content_")
    @NotBlank(message = "回访内容不能为空")
    private String content;

    @ApiModelProperty(value = "创建时间 ",hidden = true)
    @TableField(value = "create_time_")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @ApiModelProperty(value = "创建人 ",hidden = true)
    @TableField(value = "create_by_")
    private Long createBy;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public SysUserType getClientType() {
        return clientType;
    }

    public void setClientType(SysUserType clientType) {
        this.clientType = clientType;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public String getContent() {
        return content;
    }

    public void setContent(String content) {
        this.content = content;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getCreateBy() {
        return createBy;
    }

    public void setCreateBy(Long createBy) {
        this.createBy = createBy;
    }

}