package com.estate.expert.admin.service.eval; import com.estate.expert.admin.domain.common.IDtoBase; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.response.PageResp; import com.estate.expert.admin.domain.exam.eval.EvalResult; import com.estate.expert.admin.domain.exam.task.check.CheckTask; import com.estate.expert.admin.service.common.CrudServiceBase; import java.time.LocalDateTime; import java.util.List; /** * 评价服务的基础接口 */ public interface EvalService extends CrudServiceBase { /** * 列表 * * @param clientId 委托方ID * @param planIds 计划ID列表 * @param taskIds 检查任务ID列表 * @param startDate 开始日期 * @param endDate 结束日期 * @param pageReq 分页请求 * @return 列表 */ PageResp list(Integer clientId, List planIds, List taskIds, LocalDateTime startDate, LocalDateTime endDate, PageReq pageReq); /** * 评估 * * @param checkTask 检查任务 * @return 评估结果 */ T eval(CheckTask checkTask); /** * 获取评估结果 * * @param checkTaskId 检查任务ID * @return 评估结果 */ T getByCheckTaskId(Integer checkTaskId); /** * 重新评估 * * @param checkTask 检查任务 */ void evalOnce(CheckTask checkTask); }