package com.zcloud.domain.persistence.repository;

import com.alibaba.cola.dto.PageResponse;
import com.jjb.saas.framework.repository.repo.BaseRepository;
import com.zcloud.domain.persistence.dataobject.ProjectTaskDO;

import javax.validation.constraints.NotEmpty;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * web-infrastructure
 *
 * @Author zhaokai
 * @Date 2026-01-29 11:28:41
 */
public interface ProjectTaskRepository extends BaseRepository<ProjectTaskDO> {
    PageResponse<ProjectTaskDO> listPage(Map<String, Object> params);

    ProjectTaskDO getInfoById(Long id);

    void updateScoreStatus(String projectTaskId, Integer code, BigDecimal averageScore );

    List<ProjectTaskDO> getWaitPerfectList();

    List<ProjectTaskDO> getExecutingList();

    void updateExecuteStatusBatchById(Integer code, List<Long> idList);

    ProjectTaskDO getInfoByTaskId(@NotEmpty(message = "课题任务不能为空") String projectTaskId);

    List<ProjectTaskDO> getNoFinishByDomainDepartmentId(List<String> domainDepartmentIds);

    List<ProjectTaskDO> getNoFinishByDomainGroupId(List<String> groupIdList);
}

