fix:女生认证
This commit is contained in:
1 parent
e060b00c98
commit
d3582ed54a
4 files changed
+64
-11
No files matched your search
+30
-2
@@ -16,7 +16,12 @@ import com.aliyun.teautil.models.RuntimeOptions;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.validation.Valid;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.net.URL;
|
||||
import java.util.Arrays;
|
||||
import java.util.Base64;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -34,20 +39,43 @@ public class ThirdFaceVerifyServiceImpl implements ThirdFaceVerifyService {
|
||||
|
||||
private static final List<String> endpoints = Arrays.asList("cloudauth.cn-shanghai.aliyuncs.com", "cloudauth.cn-beijing.aliyuncs.com");
|
||||
|
||||
public static String convertImageUrlToBase64(String imageUrl) {
|
||||
try {
|
||||
URL url = new URL(imageUrl);
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
try (InputStream is = url.openStream()) {
|
||||
byte[] buffer = new byte[4096];
|
||||
int bytesRead;
|
||||
while ((bytesRead = is.read(buffer)) != -1) {
|
||||
baos.write(buffer, 0, bytesRead);
|
||||
}
|
||||
}
|
||||
byte[] imageBytes = baos.toByteArray();
|
||||
return Base64.getEncoder().encodeToString(imageBytes);
|
||||
} catch (Exception e) {
|
||||
log.error("|人脸识别|,图片转换url-image to base64 错误:{}", e.getMessage());
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 人脸识别
|
||||
*/
|
||||
@Override
|
||||
public ThirdFaceVerifyResVO faceVerify(ThirdFaceVerifyReqVO dto) {
|
||||
String base64Image = convertImageUrlToBase64(dto.getFaceVerifyUrl());
|
||||
|
||||
InitFaceVerifyRequest request = new InitFaceVerifyRequest();
|
||||
request.setSceneId(thirdAlConfig.getFaceSceneId());
|
||||
request.setProductCode("PV_FV");
|
||||
request.setModel("MOVE_ACTION");
|
||||
request.setModel("LIVENESS");
|
||||
// 参数
|
||||
request.setOuterOrderNo(dto.getCode());
|
||||
request.setUserId(String.valueOf(dto.getFaceVerifyUserId()));
|
||||
request.setMetaInfo(dto.getMetaInfoJson());
|
||||
request.setFaceContrastPictureUrl(dto.getFaceVerifyUrl());
|
||||
// request.setFaceContrastPictureUrl(dto.getFaceVerifyUrl());
|
||||
|
||||
request.setFaceContrastPicture(base64Image);
|
||||
// 配置
|
||||
request.setCallbackToken(thirdAlConfig.getFaceVerifyCallbackToken());
|
||||
request.setCallbackUrl(thirdAlConfig.getFaceVerifyCallbackUrl() + "/admin-api/third-callback/face-verify");
|
||||
|
||||
+11
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.framework.common.util.date.DateUtils;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
||||
import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
||||
import cn.iocoder.yudao.module.member.client.service.ChatApi;
|
||||
import cn.iocoder.yudao.module.member.client.service.ThirdFaceVerifyService;
|
||||
import cn.iocoder.yudao.module.member.client.vo.thirdfaceverify.ThirdFindFaceVerifyReqVo;
|
||||
import cn.iocoder.yudao.module.member.client.vo.thirdfaceverify.ThirdFindFaceVerifyResVo;
|
||||
@@ -55,6 +56,9 @@ public class ThirdCallbackController {
|
||||
@Resource
|
||||
private MemberRecentTagService memberRecentTagService;
|
||||
|
||||
@Resource
|
||||
private ChatApi chatApi;
|
||||
|
||||
@GetMapping("/face-verify")
|
||||
@Operation(summary = "人脸认证回调")
|
||||
@PermitAll
|
||||
@@ -94,19 +98,26 @@ public class ThirdCallbackController {
|
||||
log.error("人脸认证回调,主动查询,第三方接口无响应");
|
||||
return;
|
||||
}
|
||||
|
||||
String message = "";
|
||||
|
||||
ComAuthDO updateObj = new ComAuthDO();
|
||||
updateObj.setFailReason(faceVerifyRes.getErrorMessage());
|
||||
if (faceVerifyRes.isPassed()) {
|
||||
updateObj.setAuthStatus(MemberComAuthStatusEnum.CHECK_PASS.getType());
|
||||
memberRecentTagService.setPersonTag(auth.getAuthMemberId(), true);
|
||||
message = "您好,您已通过人脸识别认证。";
|
||||
}
|
||||
if (faceVerifyRes.isNotPassed()) {
|
||||
updateObj.setAuthStatus(MemberComAuthStatusEnum.CHECK_FAIL.getType());
|
||||
message = "您好,您未通过人脸识别认证,请重新认证。";
|
||||
}
|
||||
updateObj.setId(auth.getId());
|
||||
updateObj.setAuthTime(LocalDateTime.now());
|
||||
updateObj.setFailReason("验证失败");
|
||||
authMapper.updateById(updateObj);
|
||||
|
||||
chatApi.messageUserSendText(auth.getAuthMemberId(), message);
|
||||
TenantContextHolder.clear();
|
||||
});
|
||||
}
|
||||
|
||||
@@ -240,8 +240,8 @@ pf4j:
|
||||
pluginsDir: ../plugins
|
||||
|
||||
chat:
|
||||
base-url: http://127.0.0.1:8888
|
||||
# base-url: http://chatsever.zianxin.com
|
||||
# base-url: http://127.0.0.1:8888
|
||||
base-url: http://chatsever.zianxin.com
|
||||
app-key: 4H2HkBLygMsxaQKO
|
||||
app-secret: JIizm84av3TK5xaQdsng7X5mqLPjbeQ0
|
||||
|
||||
@@ -250,10 +250,17 @@ tx-map:
|
||||
app-key: GGCBZ-SVPWT-IO6XL-LHZ3I-YPMBS-O6B6D
|
||||
app-secret: uYWt4DalxHgFnk6d9ul2KLdPVM1ABD9m
|
||||
|
||||
#al-config:
|
||||
# access-key-id: LTAI5tJ7sSxB96XaY9T3Vq3D
|
||||
# access-key-secret: EVXWFTS2SB6UkjUVFLhTDBfIvIXgI3
|
||||
# face-scene-id: 1000016045
|
||||
# face-verify-callback-url: https://dzc001.fy.takin.cc
|
||||
# face-verify-callback-token: uVuYOzoiQBWPp4A5kPgTddZlKWoSQlzc
|
||||
|
||||
al-config:
|
||||
access-key-id: LTAI5tJ7sSxB96XaY9T3Vq3D
|
||||
access-key-secret: EVXWFTS2SB6UkjUVFLhTDBfIvIXgI3
|
||||
face-scene-id: 1000016045
|
||||
access-key-id: LTAI5tBrkf3ynA5CMLb4TYbo
|
||||
access-key-secret: u3Za5XigBfRXo0iJHSbPgOSZTDVN3C
|
||||
face-scene-id: 1000016556
|
||||
face-verify-callback-url: https://dzc001.fy.takin.cc
|
||||
face-verify-callback-token: uVuYOzoiQBWPp4A5kPgTddZlKWoSQlzc
|
||||
|
||||
|
||||
@@ -241,11 +241,18 @@ tx-map:
|
||||
app-key: GGCBZ-SVPWT-IO6XL-LHZ3I-YPMBS-O6B6D
|
||||
app-secret: uYWt4DalxHgFnk6d9ul2KLdPVM1ABD9m
|
||||
|
||||
#al-config:
|
||||
# access-key-id: LTAI5tJ7sSxB96XaY9T3Vq3D
|
||||
# access-key-secret: EVXWFTS2SB6UkjUVFLhTDBfIvIXgI3
|
||||
# face-scene-id: 1000016045
|
||||
# face-verify-callback-url: https://chatapi.zianxin.com
|
||||
# face-verify-callback-token: uVuYOzoiQBWPp4A5kPgTddZlKWoSQlzc
|
||||
|
||||
al-config:
|
||||
access-key-id: LTAI5tJ7sSxB96XaY9T3Vq3D
|
||||
access-key-secret: EVXWFTS2SB6UkjUVFLhTDBfIvIXgI3
|
||||
face-scene-id: 1000016045
|
||||
face-verify-callback-url: https://chatapi.zianxin.com
|
||||
access-key-id: LTAI5tBrkf3ynA5CMLb4TYbo
|
||||
access-key-secret: u3Za5XigBfRXo0iJHSbPgOSZTDVN3C
|
||||
face-scene-id: 1000016556
|
||||
face-verify-callback-url: https://dzc001.fy.takin.cc
|
||||
face-verify-callback-token: uVuYOzoiQBWPp4A5kPgTddZlKWoSQlzc
|
||||
|
||||
brokerage:
|
||||
|
||||
Reference in new issue
Block a user