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.SampleFilterTrace; 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 applySampleFilters(List acceptedSampleIds, List allFaceSampleList, ScenicConfigManager scenicConfig); /** * 带过滤轨迹的样本筛选逻辑。 * * @param acceptedSampleIds 已接受的样本ID列表 * @param allFaceSampleList 所有人脸样本实体列表 * @param scenicConfig 景区配置 * @return 包含最终样本及过滤原因的轨迹对象 */ SampleFilterTrace applySampleFiltersWithTrace(List acceptedSampleIds, List allFaceSampleList, ScenicConfigManager scenicConfig); }