package com.leromro.core.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.leromro.common.core.domain.R;
import com.leromro.core.domain.BusinessManagement;
import com.leromro.core.domain.vo.BusinessManagementVO;

/**
 * 业务管理(树形结构包含所有服务)Service接口
 * 
 * @author ruoyi
 * @date 2025-04-17
 */
public interface IBusinessManagementService extends IService<BusinessManagement>
{
    /**
     * 查询业务管理(树形结构包含所有服务)
     * 
     * @param businessManagementId 业务管理(树形结构包含所有服务)主键
     * @return 业务管理(树形结构包含所有服务)
     */
    public BusinessManagement selectBusinessManagementByBusinessManagementId(Long businessManagementId);

    /**
     * 查询业务管理(树形结构包含所有服务)列表
     * 
     * @param businessManagement 业务管理(树形结构包含所有服务)
     * @return 业务管理(树形结构包含所有服务)集合
     */
    public List<BusinessManagement> selectBusinessManagementList(BusinessManagement businessManagement);

    /**
     * 新增业务管理(树形结构包含所有服务)
     * 
     * @param businessManagement 业务管理(树形结构包含所有服务)
     * @return 结果
     */
    public Boolean insertBusinessManagement(BusinessManagement businessManagement);

    /**
     * 修改业务管理(树形结构包含所有服务)
     * 
     * @param businessManagement 业务管理(树形结构包含所有服务)
     * @return 结果
     */
    public Boolean updateBusinessManagement(BusinessManagement businessManagement);

    /**
     * 批量删除业务管理(树形结构包含所有服务)
     * 
     * @param businessManagementIds 需要删除的业务管理(树形结构包含所有服务)主键集合
     * @return 结果
     */
    public int deleteBusinessManagementByBusinessManagementIds(Long[] businessManagementIds);

    /**
     * 删除业务管理(树形结构包含所有服务)信息
     * 
     * @param businessManagementId 业务管理(树形结构包含所有服务)主键
     * @return 结果
     */
    public int deleteBusinessManagementByBusinessManagementId(Long businessManagementId);

    R<List<BusinessManagementVO>> getTreeList(Long parentId);
}
