|
|
@@ -2,12 +2,11 @@ package com.github.microservice.auth.server.core.service.local;
|
|
|
|
|
|
import com.github.microservice.auth.client.content.ResultContent;
|
|
|
import com.github.microservice.auth.client.content.ResultState;
|
|
|
+import com.github.microservice.auth.client.model.*;
|
|
|
import com.github.microservice.auth.security.helper.AuthHelper;
|
|
|
import com.github.microservice.auth.server.core.helper.FaceHelper;
|
|
|
import com.github.microservice.auth.server.core.model.FacePutResultsModel;
|
|
|
import com.github.microservice.auth.server.core.model.FaceSearchResultModel;
|
|
|
-import com.github.microservice.auth.client.model.UserFaceQueryModel;
|
|
|
-import com.github.microservice.auth.client.model.UserFaceUploadModel;
|
|
|
import com.github.microservice.auth.client.service.UserFaceService;
|
|
|
import com.github.microservice.auth.server.core.dao.UserDao;
|
|
|
import com.github.microservice.auth.server.core.dao.UserFaceDao;
|
|
|
@@ -57,6 +56,38 @@ public class UserFaceServiceImpl implements UserFaceService {
|
|
|
@Autowired
|
|
|
FaceHelper faceHelper;
|
|
|
|
|
|
+ @SneakyThrows
|
|
|
+ public ResultContent<Double> confidence(UserFaceConfidenceModel userFaceConfidenceModel){
|
|
|
+ String key = UUID.randomUUID().toString() + System.currentTimeMillis();
|
|
|
+ //上传人脸库,获取向量
|
|
|
+ String fileBase64 = userFaceConfidenceModel.getFile();
|
|
|
+ byte[] decode = Base64.getDecoder().decode(fileBase64);
|
|
|
+ @Cleanup InputStream inputStream = new ByteArrayInputStream(decode);
|
|
|
+
|
|
|
+ HttpResponse<String> response = faceHelper.uploadFs(inputStream, key);
|
|
|
+ if (response.statusCode() != 200) {
|
|
|
+ return ResultContent.buildFail("人脸特征提取失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ String body = response.body();
|
|
|
+ if (StringUtils.isBlank(body)) {
|
|
|
+ return ResultContent.buildFail("无法提取人脸特征");
|
|
|
+ }
|
|
|
+ FaceStoreResponseModel storeResponse = JsonUtil.toObject(body, FaceStoreResponseModel.class);
|
|
|
+
|
|
|
+ if (storeResponse.getResults() == null || storeResponse.getResults().isEmpty()) {
|
|
|
+ return ResultContent.buildFail("获取人脸信息结果失败");
|
|
|
+ }
|
|
|
+ Double faceConfidence = storeResponse.getResults().get(0).getFace_confidence();
|
|
|
+
|
|
|
+ HttpResponse<String> deleteResponse = faceHelper.delete(key);
|
|
|
+ if (deleteResponse.statusCode() != 200) {
|
|
|
+ log.error("人脸库删除数据失败:key:{}", key);
|
|
|
+ }
|
|
|
+
|
|
|
+ return ResultContent.buildContent(faceConfidence);
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 上传人脸图片
|
|
|
@@ -110,6 +141,13 @@ public class UserFaceServiceImpl implements UserFaceService {
|
|
|
userFace.setFaceFSId(fileId);
|
|
|
userFace.setFaceDataKey(key);
|
|
|
userFaceDao.save(userFace);
|
|
|
+
|
|
|
+// String body = response.body();
|
|
|
+// FaceStoreResponseModel storeResponse = JsonUtil.toObject(body, FaceStoreResponseModel.class);
|
|
|
+// System.out.println("face_confidence = " + storeResponse.getResults().get(0).getFace_confidence());
|
|
|
+// UserFaceUploadResultModel userFaceUploadResultModel = new UserFaceUploadResultModel();
|
|
|
+// userFaceUploadResultModel.setFileId(fileId);
|
|
|
+// userFaceUploadResultModel.setFaceConfidence(storeResponse.getResults().get(0).getFace_confidence());
|
|
|
return ResultContent.buildContent(fileId);
|
|
|
}
|
|
|
|