package com.yingpaipay.business.service; import com.yingpaipay.business.domain.bo.*; import com.yingpaipay.business.domain.vo.*; import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.PageQuery; import java.util.Collection; import java.util.List; /** * 项目管理Service接口 * * @author Huanyi * @date 2025-12-05 */ public interface IProjectService { /** * 查询项目管理 * * @param id 主键 * @return 项目管理 */ ProjectVo queryById(Long id); /** * 分页查询项目管理列表 * * @param bo 查询条件 * @param pageQuery 分页参数 * @return 项目管理分页列表 */ TableDataInfo queryPageList(ProjectBo bo, PageQuery pageQuery); /** * 查询符合条件的项目管理列表 * * @param bo 查询条件 * @return 项目管理列表 */ List queryList(ProjectBo bo); /** * 新增项目管理 * * @param bo 项目管理 * @return 是否新增成功 */ Boolean insertByBo(ProjectBo bo); /** * 修改项目管理 * * @param bo 项目管理 * @return 是否修改成功 */ Boolean updateByBo(ProjectBo bo); /** * 校验并批量删除项目管理信息 * * @param ids 待删除的主键集合 * @param isValid 是否进行有效性校验 * @return 是否删除成功 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); List getListByName(String name); List getList(); int updateStatus(ProjectUpdateStatusBo bo); TableDataInfo selectMemberListById(Long id, PageQuery pageQuery); TableDataInfo listOnDocument(ProjectOnDocumentBo bo, PageQuery pageQuery); TableDataInfo queryMemberNotInCenter(Long projectId, Long folderId, String name, PageQuery pageQuery); TableDataInfo queryPageListOnDashboardWorkbench(ProjectListOnDashboardWorkbenchBo bo, PageQuery pageQuery); boolean insertUser(ProjectAddMemberBo bo); ProjectFolderVo getFoldersByUserId(Long userId, Long projectId); boolean updateFolders(ProjectMemberUpdateFoldersBo bo); }