package shop.alien.entity.store;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户动态
 */
@Data
@JsonInclude
@TableName("life_user_dynamics")
public class LifeUserDynamics {

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 发布人
     */
    private String phoneId;

    @TableField("phone_user_type")
    @ApiModelProperty(value = "发布人用户分类：1-用户(life_user) 2-商户(store_user) 3-律师(lawyer_user)")
    private Integer phoneUserType;

    @TableField("phone_ref_id")
    @ApiModelProperty(value = "发布人对应表主键id（与 phone_user_type 对应）")
    private Integer phoneRefId;

    /**
     * 标题
     */
    private String title;

    /**
     * 动态内容
     */
    private String context;

    /**
     * 动态图片
     */
    private String imagePath;

    /**
     * 地址
     */
    private String address;

    /**
     * 地址详情
     */
    private String addressContext;

    /**
     * 地址名称
     */
    private String addressName;

    /**
     * 浏览数
     */
    private Integer liulanCount;

    /**
     * 点赞数
     */
    private Integer dianzanCount;

    @ApiModelProperty(value = "1-动态 2-商家社区 3-官方社区")
    private String type;

    @ApiModelProperty(value = "是否草稿（0-否  1-是）")
    private Integer draft;

    @ApiModelProperty(value = "删除标记, 0:未删除, 1:已删除")
    @TableField("delete_flag")
    @TableLogic
    private Integer deleteFlag;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "created_time", fill = FieldFill.INSERT)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createdTime;

    @ApiModelProperty(value = "创建人ID")
    @TableField("created_user_id")
    private Integer createdUserId;

    @ApiModelProperty(value = "修改时间")
    @TableField(value = "updated_time", fill = FieldFill.UPDATE)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date updatedTime;

    @ApiModelProperty(value = "修改人ID")
    @TableField("updated_user_id")
    private Integer updatedUserId;

    @ApiModelProperty(value = "是否拉黑(0:未拉黑, 1:已拉黑)")
    @TableField(exist = false)
    private String isBlack;

    @ApiModelProperty(value = "省份")
    @TableField("address_province")
    private String addressProvince;

    @ApiModelProperty(value = "置顶")
    @TableField("top_status")
    private Integer topStatus;

    @ApiModelProperty(value = "修改时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date topTime;

    @ApiModelProperty(value = "启用状态0-启用，1-禁用")
    @TableField("enable_status")
    private Integer enableStatus;

    @ApiModelProperty(value = "达人id")
    @TableField("expert_id")
    private Integer expertId;

    @ApiModelProperty(value = "业务id")
    @TableField("business_id")
    private Integer businessId;

    @ApiModelProperty(value = "转发量")
    @TableField("transfer_count")
    private Integer transferCount;

    @ApiModelProperty(value = "达人动态实际浏览数")
    @TableField("reality_count")
    private Integer realityCount;

    @ApiModelProperty(value = "是否审核(未审核:0,审核中:1,审核完成:2)")
    @TableField("check_flag")
    private Integer checkFlag;

    @ApiModelProperty(value = "AI审核结果查询id")
    @TableField("ai_task_id")
    private String aiTaskId;

    @ApiModelProperty(value = "审核失败原因")
    @TableField("reason")
    private String reason;

    @ApiModelProperty(value = "封面图")
    @TableField("cover_image")
    private String coverImage;
}
