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

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zanxiang.game.module.manage.pojo.params.GameAuthRoleGroupAddParam;
import com.zanxiang.game.module.manage.pojo.params.GameAuthRoleGroupListParam;
import com.zanxiang.game.module.manage.pojo.vo.GameAuthRoleGroupVO;
import com.zanxiang.game.module.mybatis.entity.GameAuthRoleGroup;

/**
 * @author : lingfeng
 * @time : 2024-05-20
 * @description : 游戏授权角色分组
 */
public interface IGameAuthRoleGroupService extends IService<GameAuthRoleGroup> {

    /**
     * 是否组长更新
     *
     * @param groupId  : 分组id
     * @param userId   : 用户id
     * @param isLeader : 是否组长
     * @return : 返回执行结果
     */
    boolean leaderUpdate(Long groupId, Long userId, boolean isLeader);

    /**
     * 根据id删除
     *
     * @param id : 主键id
     * @return : 返回删除结果
     */
    boolean deleteById(Long id);

    /**
     * 分页查询游戏授权角色分组
     *
     * @param param : 查询参数
     * @return : 返回分页数据
     */
    IPage<GameAuthRoleGroupVO> listOfPage(GameAuthRoleGroupListParam param);

    /**
     * 授权分组加人
     *
     * @param param : 参数
     * @return : 返回添加结果
     */
    boolean groupAddUser(GameAuthRoleGroupAddParam param);
}
