package com.huiju.estateagents.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 lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * <p>
 * 项目动态表
 * </p>
 *
 * @author jobob
 * @since 2019-03-21
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("ta_building_dynamic")
public class TaBuildingDynamic implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 动态ID
     */
    @TableId(value = "dynamic_id", type = IdType.UUID)
    private String dynamicId;

    /**
     * 楼盘ID
     */
    private String buildingId;

    /**
     * 首页列表图片URL
     */
    private String imgUrl;

    /**
     * 首页详情图片URL
     */
    private String listImgUrl;

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

    /**
     * 发布时间
     */
    private LocalDateTime publishDate;

    /**
     * 描述
     */
    @TableField("`desc`")
    private String desc;

    /**
     * url
     */
    private String url;

    /**
     * 分享图片
     */
    private String shareImg;

    /**
     * 0正常，-1删除
     */
    @TableField("`status`")
    private Integer status;

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

    /**
     * 楼盘
     */
    @TableField(exist = false)
    private TaBuilding building;

    /**
     * 活动总开关判断活动是否能开始报名_1:可以，0:不可以
     */
    private Integer isEnlist;

    /**
     * 活动开始时间
     */
    private LocalDateTime startDate;

    /**
     * 活动结束时间
     */
    private  LocalDateTime endDate;

    /**
     *  报名开始时间
     */
    private  LocalDateTime enlistStart;

    /**
     * 报名结束时间
     */
    private  LocalDateTime enlistEnd;

    /**
     * 活动推首页标志
     */
    private Integer home;

    /**
     * 活动的当前状态1:进行中，2:未开始,3:结束
     */
    @TableField(exist = false)
    private  Integer activityCondition;

    /**
     * 报名总数
     */
    @TableField(exist = false)
    private  Integer count;

    /**
     * 是否报名1为已报名,0为未报名
     */
    @TableField(exist = false)
    private Integer isSign;

    @TableField(exist = false)
    private Integer isSaved;

    /**
     * 分享活动
     */
    private Integer shareNum;

    /**
     * 阅读量
     */
    private  Integer pvNum;

    /**
     * 收藏量
     */
    private  Integer saveNum;

    /**
     * 点赞
     */
    private  Integer favorNum;

    /**
     * 项目名称
     */
    @TableField(exist = false)
    private  String buildingName;

    /**
     *活动地点
     */
    private  String address;

    /**
     * 活动人数
     */
    private Integer personNum;

    private Integer cityId;

    /**
     * 活动报名人数
     */
    private Integer enlistNum;

    private Integer weight;
    
    /**
     * 最大报名人数
     */
    private Integer maxEnlistByPerson;

    /**
     * 活动状态
     */
    private Integer activityStatus;

    /**
     * 权重，用于排序
     */
    private Integer heavy;

    /**
     * 公司Id
     */
    private Integer orgId;

    private String qrCode;

    /**
     * 活动主图2 用于首页底部活动轮播
     */
    private  String bannerListImg;

    @TableField(exist = false)
    private List<TaPoster> posters;

    @TableField(exist = false)
    private List<TaShareContent> shareContents;

    /**
     * 已报名人数，sum 一下 ta_activity_dynamic_enlist 中的 attendNum 字段值
     */
    @TableField(exist = false)
    private Integer enlisted;
}
