package com.zxdmy.excite.system.service.cloud.role;

import com.zxdmy.excite.common.entity.PageList;
import com.zxdmy.excite.system.entity.SysRole;
import com.zxdmy.excite.system.entity.cloud.role.CloudRole;
import com.baomidou.mybatisplus.extension.service.IService;
import com.zxdmy.excite.system.entity.req.role.ReqRole;
import com.zxdmy.excite.system.entity.vo.role.RoleVo;

import java.util.List;

/**
 * <p>
 * 云盘权限表 服务类
 * </p>
 *
 * @author ss
 * @since 2026-01-27
 */
public interface ICloudRoleService extends IService<CloudRole> {

    PageList<RoleVo> queryByPage(Integer current, Integer size, ReqRole data);
    RoleVo getByData(ReqRole data);
    int saveData(ReqRole data);
    int updateData(ReqRole data);
    int deleteById(String id);
    public int[] changeUploadStatus(Integer newStatus, String[] ids);
    public int[] changeDownStatus(Integer newStatus, String[] ids);
    public int[] changeDeleteStatus(Integer newStatus, String[] ids);
    public boolean authRoleForUsers(String roleId, String[] userIds);
    public int[] revokeRoleForUsers(String roleId, String[] userIds);

    public List<CloudRole> getListByUserId(Integer userId);
    List<RoleVo> queryByData();

}
