package com.zanxiang.game.module.sdk.service;

import com.zanxiang.game.module.mybatis.entity.GameUserRole;
import com.zanxiang.game.module.sdk.enums.KafkaEventTrackEnum;
import com.zanxiang.game.module.sdk.pojo.param.GameRoleActiveCallParam;
import com.zanxiang.game.module.sdk.pojo.param.UserData;

/**
 * @author : lingfeng
 * @time : 2024-03-07
 * @description : 卡夫卡队列
 */
public interface IKafkaService {

    /**
     * 埋点数据发送到卡夫卡
     *
     * @param eventTrackEnum : 埋点类型key
     * @param data           : 数据
     */
    void eventTrack(KafkaEventTrackEnum eventTrackEnum, String data);

    /**
     * 角色活跃信息发送到卡夫卡
     *
     * @param userData : 用户信息
     * @param param    : 提交参数
     */
    void roleActiveTrack(UserData userData, GameRoleActiveCallParam param);

    /**
     * 角色活跃信息发送到卡夫卡
     *
     * @param gameUserRole : 角色信息
     * @param activeType   : 活跃类型
     */
    void roleActiveTrack(GameUserRole gameUserRole, Integer activeType);
}
