package com.smppw.modaq.common.enums;

import lombok.Getter;

@Getter
public enum ReportType {
    // 最后识别的类型
    OTHER(-2, "其他报告",
            new String[]{"公告", "通知", "告知函", "意见征询函", "说明函", "简报",
                    "清算报告", "邀请函", "观点", "预警", "投研报告", "公示", "回顾",
                    "风险提示函", "说明", "合同变更", "生效函", "实施情况"}),

    LETTER(-1, "交易流水确认函",
            new String[]{"确认单", "确认函", "交易确认数据",
                    "赎回确认", "申购确认", "分红确认", "确认表", "交易确认", "确认"}),

    /**
     * 月报识别规则（单独的“月”字不绑定到月度报告中，防止影响其他报告）
     */
    MONTHLY(0, "月",
            new String[]{"月度报告", "月报", "月度"}),

    QUARTERLY(1, "季",
            new String[]{"季度报告", "季报", "季度"}),

    ANNUALLY(2, "年",
            new String[]{"年度", "年报", "年度报告"}),

    WEEKLY(3, "周",
            new String[]{"周报", "周度报告", "周度", "周总结"}),
    ;

    private final int type;
    private final String label;
    private final String[] patterns;

    ReportType(int type, String label, String[] patterns) {
        this.type = type;
        this.label = label;
        this.patterns = patterns;
    }
}
