package cn.axzo.msg.center.service.template.request;

import cn.axzo.basics.common.page.PageRequest;
import cn.axzo.msg.center.service.enums.MessageCategoryEnum;
import cn.axzo.msg.center.service.enums.StatusEnum;
import com.alibaba.fastjson.JSON;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.util.Collection;

/**
 * @author cold_blade
 * @date 2023/10/13
 * @version 1.0
 */
@Setter
@Getter
public class MessageTemplatePageRequest extends PageRequest implements Serializable {

    private static final long serialVersionUID = 3501567663122621175L;

    /**
     * 模板名称
     */
    private String templateName;
    /**
     * 模板编码
     */
    private String templateCode;
    /**
     * 消息子类型
     *   GENERAL_MESSAGE: 通知
     *   BIZ_PENDING_MESSAGE: 业务待办
     *   APPROVAL_PENDING_MESSAGE: 审批待办
     */
    private Collection<MessageCategoryEnum> categories;
    /**
     * 分类树的结点编码. 会查询这个节点以及子节点对应的模版
     */
    private String groupNodeCode;
    /**
     * 模板状态
     *   ENABLE: 启用
     *   DISABLE: 禁用
     */
    private StatusEnum status;
    /**
     * 搜索标题
     */
    private String title;
    /**
     * 搜索内容
     */
    private String content;

    /**
     * 是否开启push
     */
    public Boolean pushSwitchOn;

    @Override
    public String toString() {
        return JSON.toJSONString(this);
    }
}
