package com.ruoyi.project.mapper;

import java.util.List;
import com.ruoyi.project.domain.BizProject;

/**
 * 项目Mapper接口
 * 
 * @author ruoyi
 * @date 2025-08-28
 */
public interface BizProjectMapper 
{
    /**
     * 查询项目
     * 
     * @param projectId 项目主键
     * @return 项目
     */
    public BizProject selectBizProjectByProjectId(Long projectId);

    /**
     * 查询项目列表
     * 
     * @param bizProject 项目
     * @return 项目集合
     */
    public List<BizProject> selectBizProjectList(BizProject bizProject);

    /**
     * 新增项目
     * 
     * @param bizProject 项目
     * @return 结果
     */
    public int insertBizProject(BizProject bizProject);

    /**
     * 修改项目
     * 
     * @param bizProject 项目
     * @return 结果
     */
    public int updateBizProject(BizProject bizProject);

    /**
     * 删除项目
     * 
     * @param projectId 项目主键
     * @return 结果
     */
    public int deleteBizProjectByProjectId(Long projectId);

    /**
     * 批量删除项目
     * 
     * @param projectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBizProjectByProjectIds(Long[] projectIds);

    /**
     * 将已到期但未完成且非隐藏的项目状态置为“立项中”(2)
     */
    public int markOverdueProjectsAsInitiating();

    /**
     * 将到达起始时间的“立项中”(2) 项目置为 “进行中”(0)
     */
    public int markInitiatingToOngoingByStartTime();
}
