package com.energy.manage.service.service.system;


import com.energy.manage.common.base.BaseService;
import com.energy.manage.common.po.system.SysPermissionPO;
import com.energy.manage.service.domain.dto.system.RoleUpdateOrganizationDto;
import com.energy.manage.service.domain.dto.system.SystemPermissionListDto;
import com.energy.manage.service.domain.vo.system.PermissionVo;
import com.energy.manage.service.domain.vo.system.SysRelationVo;
import com.energy.manage.service.domain.vo.system.SystemPermissionVo;

import java.util.List;
import java.util.Map;

public interface SysPermissionService extends BaseService<SysPermissionPO> {

    boolean addPermission(SysPermissionPO po);

    boolean delPermission(SysPermissionPO po);

    boolean updatePermission(SysPermissionPO po);

    List<SystemPermissionVo> getAllPermission(SystemPermissionListDto systemPermissionListDto);

    List<SystemPermissionVo> getRolePermission(Integer roleId);

    List<Map<String, Object>> getRoleOrganization(Integer roleId);

    List<PermissionVo> getRolePermissionByUserId(Integer userId);

    boolean updateRolePermission(Integer roleId, String permissionIds);

    boolean updateRoleOrganization(Integer roleId, List<RoleUpdateOrganizationDto.OrganizationCode> organizationCodes,Integer userId, int type);

}
