diff --git a/src/main/java/com/ycwl/basic/controller/viid/ViidController.java b/src/main/java/com/ycwl/basic/controller/viid/ViidController.java index 1050e8e..f5d5a70 100644 --- a/src/main/java/com/ycwl/basic/controller/viid/ViidController.java +++ b/src/main/java/com/ycwl/basic/controller/viid/ViidController.java @@ -308,6 +308,10 @@ public class ViidController { } IStorageAdapter scenicStorageAdapter = scenicService.getScenicStorageAdapter(scenicId); IFaceBodyAdapter faceBodyAdapter = scenicService.getScenicFaceBodyAdapter(scenicId); + if (faceBodyAdapter == null) { + log.warn("人脸上传适配器不存在:" + scenicId); + continue; + } FacePositionObject facePosition = new FacePositionObject(); facePosition.setLtY(face.getLeftTopY()); facePosition.setLtX(face.getLeftTopX()); @@ -344,13 +348,18 @@ public class ViidController { faceSampleMapper.add(faceSample); ThreadPoolExecutor executor = getExecutor(scenicId); executor.execute(() -> { - if (faceBodyAdapter != null) { - taskFaceService.assureFaceDb(faceBodyAdapter, scenicId.toString()); - AddFaceResp addFaceResp = faceBodyAdapter.addFace(scenicId.toString(), faceSample.getId().toString(), url, newFaceSampleId.toString()); - if (addFaceResp != null) { - faceSample.setScore(addFaceResp.getScore()); - faceSampleMapper.updateScore(faceSample.getId(), addFaceResp.getScore()); - } + taskFaceService.assureFaceDb(faceBodyAdapter, scenicId.toString()); + AddFaceResp addFaceResp; + try { + addFaceResp = faceBodyAdapter.addFace(scenicId.toString(), faceSample.getId().toString(), url, newFaceSampleId.toString()); + } catch (Exception e) { + log.error("人脸添加失败:{}", e.getMessage()); + return; + } + if (addFaceResp != null) { + faceSample.setScore(addFaceResp.getScore()); + faceSampleMapper.updateScore(faceSample.getId(), addFaceResp.getScore()); + } if (Integer.valueOf(1).equals(deviceConfig.getInteger("enable_pre_book"))) { DynamicTaskGenerator.addTask(faceSample.getId()); @@ -436,16 +445,20 @@ public class ViidController { DynamicTaskGenerator.addTask(faceSample.getId()); ThreadPoolExecutor executor = getExecutor(scenicId); executor.execute(() -> { - if (faceBodyAdapter != null) { - taskFaceService.assureFaceDb(faceBodyAdapter, scenicId.toString()); - AddFaceResp addFaceResp = faceBodyAdapter.addFace(scenicId.toString(), faceSample.getId().toString(), url, newFaceSampleId.toString()); - if (addFaceResp != null) { - faceSample.setScore(addFaceResp.getScore()); - faceSampleMapper.updateScore(faceSample.getId(), addFaceResp.getScore()); - } + taskFaceService.assureFaceDb(faceBodyAdapter, scenicId.toString()); + AddFaceResp addFaceResp; + try { + addFaceResp = faceBodyAdapter.addFace(scenicId.toString(), faceSample.getId().toString(), url, newFaceSampleId.toString()); + } catch (Exception e) { + log.error("人脸添加失败:{}", e.getMessage()); + return; } - if (Integer.valueOf(1).equals(deviceConfig.getInteger("enable_pre_book"))) { - DynamicTaskGenerator.addTask(faceSample.getId()); + if (addFaceResp != null) { + faceSample.setScore(addFaceResp.getScore()); + faceSampleMapper.updateScore(faceSample.getId(), addFaceResp.getScore()); + if (Integer.valueOf(1).equals(deviceConfig.getInteger("enable_pre_book"))) { + DynamicTaskGenerator.addTask(faceSample.getId()); + } } }); log.info("模式1人脸信息入库成功!设备ID:{}", deviceID);