package com.ruoyi.web.modules.role.service;

import java.util.List;
import com.ruoyi.common.core.domain.TreeSelect;
import com.ruoyi.web.modules.role.domain.MerchantRoleQuery;
import com.ruoyi.web.modules.role.dto.MerchantRoleCreateDTO;
import com.ruoyi.web.modules.role.dto.MerchantRoleUpdateDTO;
import com.ruoyi.web.modules.role.vo.MerchantRoleDetailVO;
import com.ruoyi.web.modules.role.vo.MerchantRoleListVO;

/**
 * 角色管理 Service
 */
public interface IMerchantRoleService
{
    void fillListScope(MerchantRoleQuery query, Long operatorUserId);

    List<MerchantRoleListVO> selectRoleList(MerchantRoleQuery query);

    List<TreeSelect> selectMenuTree(Long operatorUserId);

    MerchantRoleDetailVO selectRoleDetail(Long roleId, Long operatorUserId);

    Long createRole(MerchantRoleCreateDTO dto, Long operatorUserId, String operator);

    void updateRole(MerchantRoleUpdateDTO dto, Long operatorUserId, String operator);

    void deleteRoles(Long[] roleIds, Long operatorUserId);
}
