package com.ycwl.basic.service.task;

import com.ycwl.basic.facebody.adapter.IFaceBodyAdapter;
import com.ycwl.basic.integration.common.manager.ScenicConfigManager;
import com.ycwl.basic.model.pc.faceSample.entity.FaceSampleEntity;
import com.ycwl.basic.model.task.resp.SearchFaceRespVo;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface TaskFaceService {

    SearchFaceRespVo searchFace(Long faceId);

    SearchFaceRespVo searchFace(IFaceBodyAdapter adapter, String dbName, String faceUrl, String reason);

    boolean deleteFaceSample(Long scenicId, String dbName, String entityId);

    boolean assureFaceDb(IFaceBodyAdapter faceBodyAdapter, String dbName);

    /**
     * 应用样本筛选逻辑
     * @param acceptedSampleIds 已接受的样本ID列表
     * @param allFaceSampleList 所有人脸样本实体列表  
     * @param scenicConfig 景区配置管理器
     * @return 筛选后的样本ID列表
     */
    List<Long> applySampleFilters(List<Long> acceptedSampleIds,
                                 List<FaceSampleEntity> allFaceSampleList,
                                 ScenicConfigManager scenicConfig);
}
