package com.sonic.frog.event.outer;

import com.sonic.common.event.Event;
import com.sonic.frog.config.EventConfig;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 定义不属于当前系统的消息
 * @author code
 */
@AllArgsConstructor
@Getter
public enum EventType {
    /** 事件定义 */
    USER_CREATED(Event.BuildInScene.BS.getCode(), "bs_user", "user_created", "用户创建"),

    AI_CHAT(EventConfig.DEFAULT_SCENE, EventConfig.PIGEON, "ai_chat", "和AI聊天"),

    USER_DEDUCTION_STAT(EventConfig.DEFAULT_SCENE, EventConfig.DEFAULT_MODULE, "user_deduction_stat", "文本，语音，语音通话预扣款统计"),

    USER_BALANCE_INSUFFICIENT_CHECKOUT(EventConfig.DEFAULT_SCENE, EventConfig.DEFAULT_MODULE, "user_balance_insufficient_checkout", "余额不足，文本，语音，语音通话预扣款结算"),

    AI_CHAT_TO_FROG(EventConfig.DEFAULT_SCENE, EventConfig.DEFAULT_MODULE, "ai_chat_to_frog", "AI聊天同步到业务系统"),


    ;

    EventType(String scene, String module, String name, String desc) {
        this.eventCode = Event.EventCode.builder()
                .scene(scene)
                .module(module)
                .name(name)
                .build();
        this.desc = desc;
    }

    private String desc;
    private Event.EventCode eventCode;
}
