package com.yiqi.crm.domain;

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.yiqi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.List;

/**
 * 微信回复表 wx_reply
 *
 * @author zjw
 */
@ApiModel("微信回复")
@TableName("wx_reply")
@Data
public class WxReply extends BaseEntity {
    private static final long serialVersionUID = 1L;

    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty(name = "回复id")
    @TableId(type = IdType.AUTO)
    private Long replyId;

    @ApiModelProperty(name = "关键字")
    @TableField(value = "key_words")
    private String keyWords;

    @ApiModelProperty(name = "关键词类型")
    @TableField(value = "key_words_type")
    private String keyWordsType;

    @ApiModelProperty(name = "是否启用关键词 0正常，1禁用")
    @TableField(value = "is_use_key_words")
    private String isUseKeyWords;

    @ApiModelProperty(name = "标题")
    @TableField(value = "title")
    private String title;

    @ApiModelProperty(name = "作者")
    @TableField(value = "author")
    private String author;

    @ApiModelProperty(name = "简介")
    @TableField(value = "synopsis")
    private String synopsis;

    @ApiModelProperty(name = "图片地址")
    @TableField(value = "picture_url")
    private String pictureUrl;

    @ApiModelProperty(name = "图文详细页内容")
    @TableField(value = "pic_text_detail_content")
    private String picTextDetailContent;

    @ApiModelProperty(name = "图文外链网址")
    @TableField(value = "pic_text_url")
    private String picTextUrl;

    @ApiModelProperty(name = "回复类型")
    @TableField(value = "reply_type")
    private String replyType;

    @ApiModelProperty(name = "内容类型")
    @TableField(value = "content_type")
    private String contentType;

    @ApiModelProperty(name = "浏览次数")
    @TableField(value = "look_number")
    private String lookNumber;

    @ApiModelProperty(name = "素材id")
    @TableField(value = "media_id")
    private String mediaId;

    @ApiModelProperty(name = "排序")
    @TableField(value = "sort")
    private String sort;

    @ApiModelProperty(name = "状态")
    @TableField(value = "status")
    private String status;

    @ApiModelProperty(name = "多图文关联回复id")
    @TableField(value = "relation_reply_id")
    private String relationReplyId;

    @Override
    public String toString(){
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
                .append("replyId",getReplyId())
                .append("keyWords",getKeyWords())
                .append("keyWordsType",getKeyWordsType())
                .append("isUseKeyWords",getIsUseKeyWords())
                .append("title",getTitle())
                .append("author",getAuthor())
                .append("synopsis",getSynopsis())
                .append("pictureUrl",getPictureUrl())
                .append("picTextDetailContent",getPicTextDetailContent())
                .append("picTextUrl",getPicTextUrl())
                .append("replyType",getReplyType())
                .append("contentType",getContentType())
                .append("lookNumber",getLookNumber())
                .append("mediaId",getMediaId())
                .append("sort",getSort())
                .append("createById",getCreateById())
                .append("createBy",getCreateBy())
                .append("createTime",getCreateTime())
                .append("updateById",getUpdateById())
                .append("updateBy",getUpdateBy())
                .append("updateTime",getUpdateTime())
                .append("remark",getRemark())
                .append("mediaId",getMediaId())
                .append("sort",getSort())
                .append("status",getStatus())
                .append("relationReplyId",getRelationReplyId())
                .toString();
    }
}
