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.google.common.base.Objects;

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

/**
 * 社群邀请有礼入群规则表(TabHaobanGroupChatActivityJoin)实体类
 *
 * @author makejava
 * @since 2024-09-27 16:09:56
 */
public class GroupChatActivityJoinDTO implements Serializable {
    private static final long serialVersionUID = -95747409578903881L;
    /**
     * 社群活动入群规则id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long chatActivityJoinId;
    /**
     * 内容活动id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long chatActivityId;
    /**
     * 会员类型（0：会员筛选，1：会员分组）
     */
    private Integer memberType;
    /**
     * 人群
     */
    private String filterJson;
    /**
     * 人群回显
     */
    private String filterJsonView;
    /**
     * 序号 从小到大
     */
    private Integer index;
    /**
     * 群活码id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long chatHmId;

    public Long getChatActivityJoinId() {
        return chatActivityJoinId;
    }

    public void setChatActivityJoinId(Long chatActivityJoinId) {
        this.chatActivityJoinId = chatActivityJoinId;
    }

    public Long getChatActivityId() {
        return chatActivityId;
    }

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

    public Integer getMemberType() {
        return memberType;
    }

    public void setMemberType(Integer memberType) {
        this.memberType = memberType;
    }

    public String getFilterJson() {
        return filterJson;
    }

    public void setFilterJson(String filterJson) {
        this.filterJson = filterJson;
    }

    public String getFilterJsonView() {
        return filterJsonView;
    }

    public void setFilterJsonView(String filterJsonView) {
        this.filterJsonView = filterJsonView;
    }

    public Integer getIndex() {
        return index;
    }

    public void setIndex(Integer index) {
        this.index = index;
    }

    public Long getChatHmId() {
        return chatHmId;
    }

    public void setChatHmId(Long chatHmId) {
        this.chatHmId = chatHmId;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        GroupChatActivityJoinDTO that = (GroupChatActivityJoinDTO) o;
        return Objects.equal(chatActivityId, that.chatActivityId) && Objects.equal(memberType, that.memberType) && Objects.equal(filterJson, that.filterJson) && Objects.equal(index, that.index) && Objects.equal(chatHmId, that.chatHmId);
    }

    @Override
    public int hashCode() {
        return Objects.hashCode(chatActivityId, memberType, filterJson, index, chatHmId);
    }
}

