refactor(face): 移除样本筛选轨迹功能及相关枚举

- 删除 FaceRecognitionFilterReason 枚举类
- 移除 SampleFilterTrace 类及其相关逻辑
- 简化样本筛选方法,去除轨迹记录功能- 更新 FaceServiceImpl 和 TaskFaceServiceImpl 中的调用逻辑
- 移除 SearchFaceRespVo 中的 filterTrace 字段- 清理无用的 import语句和相关代码引用
This commit is contained in:
2025-10-29 19:26:35 +08:00
parent b6bde4ad62
commit 745943fc23
8 changed files with 19 additions and 138 deletions

View File

@@ -1,7 +1,6 @@
package com.ycwl.basic.model.mobile.face;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ycwl.basic.model.pc.face.enums.FaceRecognitionFilterReason;
import lombok.Data;
import java.util.Date;

View File

@@ -19,10 +19,7 @@ public class FaceRecognitionUpdateReq {
*/
private List<Long> manualAcceptedSampleIds;
/**
* 用户主动排除的样本ID列表。
*/
private List<Long> manualRejectedSampleIds;
/**
* 是否强制重新走一次识别流程。

View File

@@ -1,22 +0,0 @@
package com.ycwl.basic.model.pc.face.enums;
import lombok.Getter;
/**
* 标识系统在过滤识别样本时的原因,便于前端渲染提示。
*/
@Getter
public enum FaceRecognitionFilterReason {
SCORE_BELOW_THRESHOLD("score_below_threshold", "置信度低于阈值"),
OUT_OF_TIME_RANGE("out_of_time_range", "超出景区时间范围限制"),
DEVICE_PHOTO_LIMIT("device_photo_limit", "超过设备照片数量限制"),
MANUAL_REJECTED("manual_rejected", "已被手动排除");
private final String code;
private final String description;
FaceRecognitionFilterReason(String code, String description) {
this.code = code;
this.description = description;
}
}

View File

@@ -1,34 +0,0 @@
package com.ycwl.basic.model.task.resp;
import com.ycwl.basic.model.pc.face.enums.FaceRecognitionFilterReason;
import lombok.Data;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* 样本筛选的轨迹信息,记录最终样本集合及各过滤原因。
*/
@Data
public class SampleFilterTrace {
private List<Long> acceptedSampleIds;
private Map<Long, EnumSet<FaceRecognitionFilterReason>> filteredReasonMap = new HashMap<>();
public void addReason(Long sampleId, FaceRecognitionFilterReason reason) {
if (sampleId == null || reason == null) {
return;
}
filteredReasonMap.computeIfAbsent(sampleId, key -> EnumSet.noneOf(FaceRecognitionFilterReason.class))
.add(reason);
}
public Map<Long, EnumSet<FaceRecognitionFilterReason>> getFilteredReasonMap() {
if (filteredReasonMap == null) {
return Collections.emptyMap();
}
return filteredReasonMap;
}
}

View File

@@ -11,5 +11,4 @@ public class SearchFaceRespVo {
private String searchResultJson;
private Float firstMatchRate;
private boolean lowThreshold;
private SampleFilterTrace filterTrace;
}