feat(face): 添加新人脸任务状态设置逻辑及单元测试

- 在SetTaskStatusStage中增加新人脸用户判断逻辑,非新用户跳过任务状态设置
- 新增LoadFaceSamplesStage、SetTaskStatusStage和UpdateFaceResultStage的完整单元测试
- 完善各阶段异常处理和边界条件测试,提升代码健壮性
- 添加大量测试用例覆盖成功、失败、异常等多种执行路径
- 验证任务状态设置、人脸样本加载和识别结果更新的核心功能
This commit is contained in:
2025-12-03 18:41:24 +08:00
parent 71d6400a1e
commit b165840176
4 changed files with 637 additions and 0 deletions

View File

@@ -49,6 +49,12 @@ public class SetTaskStatusStage extends AbstractFaceMatchingStage<FaceMatchingCo
protected StageResult<FaceMatchingContext> doExecute(FaceMatchingContext context) {
Long faceId = context.getFaceId();
// 防御性检查:只有新用户才执行
if (!context.isNew()) {
log.debug("非新用户,跳过设置任务状态,faceId={}", faceId);
return StageResult.skipped("非新用户");
}
try {
taskStatusBiz.setFaceCutStatus(faceId, 0);
log.debug("设置新用户任务状态: faceId={}, status=0", faceId);