package com.gxwebsoft.oa.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.gxwebsoft.common.core.web.PageResult;
import com.gxwebsoft.oa.entity.OaCompany;
import com.gxwebsoft.oa.param.OaCompanyParam;

import java.util.List;

/**
 * 企业信息Service
 *
 * @author 科技小王子
 * @since 2024-09-20 12:33:12
 */
public interface OaCompanyService extends IService<OaCompany> {

    /**
     * 分页关联查询
     *
     * @param param 查询参数
     * @return PageResult<OaCompany>
     */
    PageResult<OaCompany> pageRel(OaCompanyParam param);

    /**
     * 关联查询全部
     *
     * @param param 查询参数
     * @return List<OaCompany>
     */
    List<OaCompany> listRel(OaCompanyParam param);

    /**
     * 根据id查询
     *
     * @param companyId 企业id
     * @return OaCompany
     */
    OaCompany getByIdRel(Integer companyId);

    /**
     * 初始化企业目录
     *
     * @param oaCompany 企业信息
     * @param userId 创建用户ID
     */
    void initCompanyDocDirectories(OaCompany oaCompany, Integer userId);

    /**
     * 清空企业目录
     *
     * @param oaCompany 企业Id
     */
    boolean removeCompanyDocDirectories(Integer companyId);

    /**
     * 清空企业知识库
     *
     * @param oaCompany 企业Id
     */
    boolean removeCompanyKnowledgeBase(Integer companyId);

}
