package com.yingpaipay.business.service;

import com.yingpaipay.business.domain.bo.FolderBo;
import com.yingpaipay.business.domain.bo.ProjectCenterListBo;
import com.yingpaipay.business.domain.bo.ProjectCenterMemberListBo;
import com.yingpaipay.business.domain.vo.FolderListVo;
import com.yingpaipay.business.domain.vo.FolderVo;
import com.yingpaipay.business.domain.vo.ProjectCenterListVo;
import com.yingpaipay.business.domain.vo.ProjectCenterMemberListVo;
import jakarta.validation.constraints.NotNull;
import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo;

import java.util.Collection;
import java.util.List;

/**
 * 文件夹管理Service接口
 *
 * @author Huanyi
 * @date 2025-12-08
 */
public interface IFolderService {

    List<FolderListVo> selectList(Long projectId);

    List<FolderListVo> selectAllList(Long projectId);

    boolean insertByBo(FolderBo bo);

    boolean deleteWithValidIds(Collection<Long> ids, Boolean isValid);

    boolean updateByBo(FolderBo bo);

    FolderVo queryById(Long id);

    TableDataInfo<ProjectCenterListVo> queryCenterInfo(ProjectCenterListBo bo, PageQuery pageQuery);

    TableDataInfo<ProjectCenterMemberListVo> queryCenterMember(ProjectCenterMemberListBo bo, PageQuery pageQuery);
}
