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

import com.zanxiang.game.module.sdk.pojo.param.*;
import com.zanxiang.game.module.sdk.pojo.vo.CpPushResultVO;
import com.zanxiang.game.module.sdk.pojo.vo.CpPushUserVO;

/**
 * @author : lingfeng
 * @time : 2024-06-20
 * @description : CP推送数据
 */
public interface ICpPushDataService {

    /**
     * 订单信息推送
     *
     * @param gameAppId : 游戏唯一标识
     * @param param     : 上报参数
     * @return : 返回接口执行结果
     */
    CpPushResultVO pushOrder(String gameAppId, CpPushOrderParam param);

    /**
     * 活跃信息上报
     *
     * @param gameAppId : 游戏唯一标识
     * @param param     : 上报参数
     * @return : 返回接口执行结果
     */
    CpPushResultVO pushActive(String gameAppId, CpPushActiveParam param);

    /**
     * 游戏区服信息数据推送
     *
     * @param gameAppId : 游戏唯一标识
     * @param param     : 接口参数
     * @return : 返回接口执行结果
     */
    CpPushResultVO pushServer(String gameAppId, CpPushServerParam param);

    /**
     * 玩家角色信息数据推送
     *
     * @param gameAppId : 游戏唯一标识
     * @param param     : 接口参数
     * @return : 返回接口执行结果
     */
    CpPushResultVO pushRole(String gameAppId, CpPushRoleParam param);

    /**
     * 玩家信息数据推送
     *
     * @param gameAppId : 游戏唯一标识
     * @param param     : 接口参数
     * @return : 返回数据判定结果
     */
    CpPushUserVO pushUser(String gameAppId, CpPushUserParam param);
}
