package com.gic.haoban.manage.api.dto.chat;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.gic.haoban.manage.api.qdto.chat.GroupChatActivityJoinQDTO;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 社群邀请有礼表(TabHaobanGroupChatActivity)实体类
 *
 * @author makejava
 * @since 2024-09-27 16:09:38
 */
public class GroupChatActivityBaseDTO implements Serializable {
    private static final long serialVersionUID = 973688857967269973L;
    /**
     * 社群活动id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long chatActivityId;
    /**
     * 活动名称
     */
    private String activityName;
    /**
     * 开始时间
     */
    private Date startDate;
    /**
     * 结束时间
     */
    private Date endDate;
    /**
     * 终止/截止时间
     */
    private Date limitDate;
    /**
     * 活动图片
     */
    private String activityImg;
    /**
     * 活动受邀页图片
     */
    private String activityInviteImg;
    /**
     * 活动说明
     */
    private String activityDesc;
    /**
     * 活动分享标题
     */
    private String activityShareTitle;
    /**
     * 活动分享卡片图片
     */
    private String activityShareImg;
    /**
     * 活动分享海报图片
     */
    private String activityPosterImg;
    /**
     * 状态1未开始2进行中3已终止4已结束
     */
    private Integer status;
    /**
     * 奖励类型 1定额奖励2阶梯奖励
     */
    private Integer inviteRewardType;
    /**
     * 入群方式 1规则入群2定向入群
     */
    private Integer joinType;
    /**
     * 入群规则 1邀请人所在企微群2服务门店3协管门店4LBS定位 逗号分隔
     */
    private String joinRule;
    /**
     * 入群兜底群活码id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long joinChatHmId;
    /**
     * 邀请类型 0不限制1入群前未处于任何企业群聊内算有效邀请2首次加入企业群聊才算有效邀请
     */
    private Integer inviteType;
    /**
     * 邀请会员类型 0所有用户1开卡会员
     */
    private Integer inviteMemberType;
    /**
     * 打标签1是0否
     */
    private Integer labelFlag;
    /**
     * { "options": 1, "id": 1, "name": "标签名称" }
     */
    private String labelJson;
    /**
     * 异常提醒 0 不提醒 1短信提醒
     */
    private Integer exceptionNotice;
    /**
     * 异常提醒数量
     */
    private Integer exceptionNoticeNum;
    /**
     * 企业ID
     */
    private String enterpriseId;
    /**
     * 微信企业ID
     */
    private String wxEnterpriseId;

    private Date createTime;

    private Date updateTime;

    private String creatorId;

    private String creatorName;

    public Long getChatActivityId() {
        return chatActivityId;
    }

    public void setChatActivityId(Long chatActivityId) {
        this.chatActivityId = chatActivityId;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public Date getStartDate() {
        return startDate;
    }

    public void setStartDate(Date startDate) {
        this.startDate = startDate;
    }

    public Date getEndDate() {
        return endDate;
    }

    public void setEndDate(Date endDate) {
        this.endDate = endDate;
    }

    public Date getLimitDate() {
        return limitDate;
    }

    public void setLimitDate(Date limitDate) {
        this.limitDate = limitDate;
    }

    public String getActivityImg() {
        return activityImg;
    }

    public void setActivityImg(String activityImg) {
        this.activityImg = activityImg;
    }

    public String getActivityInviteImg() {
        return activityInviteImg;
    }

    public void setActivityInviteImg(String activityInviteImg) {
        this.activityInviteImg = activityInviteImg;
    }

    public String getActivityDesc() {
        return activityDesc;
    }

    public void setActivityDesc(String activityDesc) {
        this.activityDesc = activityDesc;
    }

    public String getActivityShareTitle() {
        return activityShareTitle;
    }

    public void setActivityShareTitle(String activityShareTitle) {
        this.activityShareTitle = activityShareTitle;
    }

    public String getActivityShareImg() {
        return activityShareImg;
    }

    public void setActivityShareImg(String activityShareImg) {
        this.activityShareImg = activityShareImg;
    }

    public String getActivityPosterImg() {
        return activityPosterImg;
    }

    public void setActivityPosterImg(String activityPosterImg) {
        this.activityPosterImg = activityPosterImg;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getInviteRewardType() {
        return inviteRewardType;
    }

    public void setInviteRewardType(Integer inviteRewardType) {
        this.inviteRewardType = inviteRewardType;
    }

    public Integer getJoinType() {
        return joinType;
    }

    public void setJoinType(Integer joinType) {
        this.joinType = joinType;
    }

    public String getJoinRule() {
        return joinRule;
    }

    public void setJoinRule(String joinRule) {
        this.joinRule = joinRule;
    }

    public Long getJoinChatHmId() {
        return joinChatHmId;
    }

    public void setJoinChatHmId(Long joinChatHmId) {
        this.joinChatHmId = joinChatHmId;
    }

    public Integer getInviteType() {
        return inviteType;
    }

    public void setInviteType(Integer inviteType) {
        this.inviteType = inviteType;
    }

    public Integer getInviteMemberType() {
        return inviteMemberType;
    }

    public void setInviteMemberType(Integer inviteMemberType) {
        this.inviteMemberType = inviteMemberType;
    }

    public Integer getLabelFlag() {
        return labelFlag;
    }

    public void setLabelFlag(Integer labelFlag) {
        this.labelFlag = labelFlag;
    }

    public String getLabelJson() {
        return labelJson;
    }

    public void setLabelJson(String labelJson) {
        this.labelJson = labelJson;
    }

    public Integer getExceptionNotice() {
        return exceptionNotice;
    }

    public void setExceptionNotice(Integer exceptionNotice) {
        this.exceptionNotice = exceptionNotice;
    }

    public Integer getExceptionNoticeNum() {
        return exceptionNoticeNum;
    }

    public void setExceptionNoticeNum(Integer exceptionNoticeNum) {
        this.exceptionNoticeNum = exceptionNoticeNum;
    }

    public String getEnterpriseId() {
        return enterpriseId;
    }

    public void setEnterpriseId(String enterpriseId) {
        this.enterpriseId = enterpriseId;
    }

    public String getWxEnterpriseId() {
        return wxEnterpriseId;
    }

    public void setWxEnterpriseId(String wxEnterpriseId) {
        this.wxEnterpriseId = wxEnterpriseId;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    public String getCreatorId() {
        return creatorId;
    }

    public void setCreatorId(String creatorId) {
        this.creatorId = creatorId;
    }

    public String getCreatorName() {
        return creatorName;
    }

    public void setCreatorName(String creatorName) {
        this.creatorName = creatorName;
    }

}

