package com.mmc.iuav.user.service;

import com.mmc.iuav.page.PageResult;
import com.mmc.iuav.response.ResultBody;
import com.mmc.iuav.user.model.dto.LoginSuccessDTO;
import com.mmc.iuav.user.model.qo.RoleInfoQO;
import com.mmc.iuav.user.model.vo.RoleInfoVO;
import com.mmc.iuav.user.model.vo.RoleMenuInfoVO;


/**
 * @Author small
 * @Date 2023/7/8 9:53
 * @Version 1.0
 */
public interface RoleService {
    ResultBody insertRoleInfo(RoleInfoVO role, LoginSuccessDTO userLoginInfoFromRedis);

    ResultBody updateRoleInfo(RoleInfoVO role, LoginSuccessDTO userLoginInfoFromRedis);

    ResultBody removeRoleInfo(Integer id);

    PageResult listPageRoleInfo(RoleInfoQO param, LoginSuccessDTO userLoginInfoFromRedis);

    ResultBody listRoleMenuInfo(Integer roleId);

    ResultBody updateRoleMenuInfo(RoleMenuInfoVO roleMenuInfoVO, LoginSuccessDTO userLoginInfoFromRedis);
}
