package com.yida.data.common.core.entity.letter;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableLogic;
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 org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;
import java.util.List;

/**
* 信箱表（仅查看） Entity
*
* @author zhanghaijun
* @date 2021-07-20 10:55:41
*/
@Data
@TableName("edu_letter_box")
public class EduLetterBox {

        /**
        * 
        */
        @TableId(value = "id", type = IdType.AUTO)
        private Long id;

        /**
        * 
        */
        @TableField(value ="create_id", fill = FieldFill.INSERT)
        private Long createId;

        /**
        * 
        */
        @TableField(value ="create_date", fill = FieldFill.INSERT)
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime createDate;

        /**
        * 
        */
        @TableField(value ="update_id", fill = FieldFill.UPDATE)
        private Long updateId;

        /**
        * 
        */
        @TableField(value ="update_date", fill = FieldFill.UPDATE)
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
        private LocalDateTime updateDate;

        /**
        * 
        */
        @TableField("del_flag")
        @TableLogic(value = "0", delval = "1")
        private Integer delFlag;

        /**
        * 学校ID
        */
        @TableField("school_id")
        @ApiModelProperty("学校ID")
        private Long schoolId;

        /**
        * 提问的问题
        */
        @TableField("title")
        @ApiModelProperty("提问的问题")
        private String title;

        /**
        * 内容类型
        */
        @TableField("content_type")
        @ApiModelProperty("内容类型")
        private String contentType;

        /**
        * 用户ID
        */
        @TableField("identity_id")
        @ApiModelProperty("用户ID")
        private Long identityId;

        /**
        * 手机用户名称
        */
        @TableField("app_name")
        @ApiModelProperty("手机用户名称")
        private String appName;

        /**
        * 手机用户头像
        */
        @TableField("app_header")
        @ApiModelProperty("手机用户头像")
        private String appHeader;

        /**
        * 是否解决：0未解决，1已解决
        */
        @TableField("status")
        @ApiModelProperty("是否解决：0未解决，1已解决")
        private Integer status;

        /**
        * 是否置顶:0不置顶，1置顶
        */
        @TableField("top")
        @ApiModelProperty("是否置顶:0不置顶，1置顶")
        private Integer top;

        /**
        * 是否已回复（0=否，1=是）
        */
        @TableField("reply")
        @ApiModelProperty("是否已回复（0=否，1=是）")
        private Integer reply;

        /**
        * 联系方式
        */
        @TableField("app_phone")
        @ApiModelProperty("联系方式")
        private String appPhone;

        /**
        * 问题详细内容
        */
        @TableField("content")
        @ApiModelProperty("问题详细内容")
        private String content;

        /**
        * 浏览次数
        */
        @TableField("views")
        @ApiModelProperty("浏览次数")
        private Long views;

        /**
        * 解决次数
        */
        @TableField("resolutions")
        @ApiModelProperty("解决次数")
        private Long resolutions;

        /**
        * 公开状态：0:不公开；1：公开
        */
        @TableField("open")
        @ApiModelProperty("公开状态：0:不公开；1：公开")
        private Integer open;

        /**
        * 回复内容
        */
        @TableField("reply_content")
        @ApiModelProperty("回复内容")
        private String replyContent;

        /**
        * 
        */
        @TableField("sort_date")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
        @ApiModelProperty("排序时间")
        private LocalDateTime sortDate;

        /**
        * 匿名:0:匿名，1不匿名
        */
        @TableField("anonymous")
        @ApiModelProperty("匿名:0:匿名，1不匿名")
        private String anonymous;

        /**
        * 回复人员名字
        */
        @TableField("reply_name")
        @ApiModelProperty("回复人员名字")
        private String replyName;

        /**
        * 回复时间
        */
        @TableField("reply_date")
        @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
        @ApiModelProperty("回复时间")
        private LocalDateTime replyDate;

        /**
        * 回复人员id
        */
        @TableField("reply_id")
        @ApiModelProperty("回复人员id")
        private String replyId;

        /**
         * 是否为追问问题
         **/
        @TableField(exist = false)
        @ApiModelProperty("是否为追问问题")
        private String questionMark;

        /**
         * 是否为追问问题需要回复
         **/
        @ApiModelProperty("是否为追问问题需要回复")
        @TableField(exist = false)
        private String questionReplyMark;

        @TableField(exist = false)
        @ApiModelProperty("信箱回复")
        private List<EduLetterBoxReply> eduLetterBoxReplyList;

        @TableField("type")
        @ApiModelProperty("用户类型，1是家长，2是老师")
        private Integer type;

        @TableField(exist = false)
        @ApiModelProperty("有用数量")
        private Integer likeNum;

        @TableField(exist = false)
        @ApiModelProperty("没用数量")
        private Integer disLikeNum;

        @TableField(exist = false)
        @ApiModelProperty("用户点赞类型，0为未点赞，1为有用，2为没用")
        private Integer likeStatus;
}