package com.inkasso.factoring.system.resource.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.inkasso.factoring.system.resource.entity.ResourceDO;
import com.inkasso.factoring.system.resource.model.dto.ResourceDTO;
import com.inkasso.factoring.system.resource.model.dto.ResourceTreeDTO;
import com.inkasso.factoring.system.resource.model.request.AddResourceRequest;
import com.inkasso.factoring.system.resource.model.request.EditResourceRequest;

import java.util.List;

/**
* @author 张超
* @date  2023-08-19
*/
  public interface ResourceService extends IService<ResourceDO> {

  /**
  * 添加操作
  * @param addResourceRequest
  */
  void addResource(AddResourceRequest addResourceRequest);


  /**
  * 编辑操作
  * @param editResourceRequest
  */
  void editResource(EditResourceRequest editResourceRequest);

  /**
  * 通过id获取详细信息
  * @param id
  */
    ResourceDTO getById(Long id);

  /**
  * 删除
  */
  void deleteResource(Long id);


  /**
   * 登录的时候 通过用户id 和 租户id 查询 该用户的 资源权限
   * @param userId
   * @return
   */
  List<ResourceDTO> getResourceById(Long userId,Long tenantId);


  List<ResourceTreeDTO>  getResourceTree(Long tenantId);


  List<ResourceDTO>  getResourceByRoleId(Long roleId);


}

