package top.imwork.window.silos.service.upms;


import top.imwork.commons.core.pojo.BaseTreeNode;
import top.imwork.window.silos.pojo.upms.bo.PermissionBO;
import top.imwork.window.silos.pojo.upms.bo.PermissionResultBO;
import top.imwork.window.silos.pojo.upms.dto.PermissionDTO;
import top.imwork.window.silos.pojo.upms.dto.PermissionListDTO;

import java.util.List;

/**
 * 权限信息
 *
 * @author jiangxiaowei
 * email: e-jiangxiaowei@outlook.com
 * date: 2025-12-11 12:21:32
 */
public interface IPermissionService{

    /**
     * 根据权限信息id获取权限信息详情
     * @param id 权限信息id
     * @return PermissionBO 权限信息详情
     */
    PermissionBO info(Long id);

    /**
     * 新增/修改 信息
     * @param permissionDTO 要保存的信息
     * @return PermissionBO 保存后的信息
     */
    PermissionBO save(PermissionDTO permissionDTO);

    /**
     * 根据id删除信息
     * @param id id
     * @return true/false 是否删除成功
     */
    Boolean delete(Long id);

    /**
     * 根据ids删除信息
     * @param ids ids
     * @return true/false 是否删除成功
     */
    Boolean deleteByIds(String[] ids);

    /**
     * 分页查询信息
     * @param permissionListDTO 分页信息
     * @return PermissionResultBO 查询结果
     */
    PermissionResultBO queryPage(PermissionListDTO permissionListDTO);

    List<BaseTreeNode> queryTreeList();
}

