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

import com.baomidou.mybatisplus.extension.service.IService;
import com.zanxiang.game.module.manage.pojo.dto.GameAppletConfigDTO;
import com.zanxiang.game.module.manage.pojo.dto.GameAppletDTO;
import com.zanxiang.game.module.mybatis.entity.Game;
import com.zanxiang.game.module.mybatis.entity.GameApplet;

/**
 * @author : lingfeng
 * @time : 2022-07-08
 * @description : 微信小游戏(小程序)
 */
public interface IGameAppletService extends IService<GameApplet> {

    /**
     * 添加或更新
     *
     * @param game                游戏
     * @param gameAppletConfigDTO 游戏小程序配置dto
     * @return boolean
     */
    boolean addOrUpdate(Game game, GameAppletConfigDTO gameAppletConfigDTO);

    /**
     * 创建数据源
     *
     * @param gameId 游戏id
     * @return {@link Boolean}
     */
    Boolean createActionSet(Long gameId);

    /**
     * 通过游戏id
     *
     * @param gameId 游戏id
     * @return {@link GameAppletDTO}
     */
    GameAppletDTO getByGameId(Long gameId);

    /**
     * 获取小游戏二维码
     *
     * @param appId       应用程序id
     * @param appSecret   应用程序秘密
     * @param ossFileName oss文件名
     * @return {@link String}
     */
    String getQrCode(String appId, String appSecret, String ossFileName);
}
