fix 外部人员拍照检测
This commit is contained in:
@@ -139,6 +139,33 @@ public class GainfoFaceService : IGainfoFaceService
|
|||||||
gainfo.ThrowIfNull("人员信息不存在");
|
gainfo.ThrowIfNull("人员信息不存在");
|
||||||
|
|
||||||
var face = await _faceDbContext.Queryable<GainfoFaceEntity>().Where(x => x.UserCode == gainfo.Code).SingleAsync();
|
var face = await _faceDbContext.Queryable<GainfoFaceEntity>().Where(x => x.UserCode == gainfo.Code).SingleAsync();
|
||||||
|
var faceSimilaritySetting = await _dbContext.Queryable<BasicTypeEntity>().Where(x => x.Type == "faceSimilarity").SingleAsync();
|
||||||
|
if (faceSimilaritySetting != null)
|
||||||
|
{
|
||||||
|
var faceSimilarity = await _hikService.GetSimilarityAsync(new GainfoFaceValidateRequest
|
||||||
|
{
|
||||||
|
SrcFacePicBinaryData = face.Face,
|
||||||
|
DistFacePicBinaryData = request.Face
|
||||||
|
});
|
||||||
|
var acceptSimilarity = faceSimilaritySetting.Code.Adapt<double>();
|
||||||
|
|
||||||
|
var isError = faceSimilarity < acceptSimilarity;
|
||||||
|
await _dbContext.InsertAsync(new HikValidateResultEntity
|
||||||
|
{
|
||||||
|
UserCode = face.UserCode,
|
||||||
|
Similarity = faceSimilarity,
|
||||||
|
AcceptSimilarity = acceptSimilarity,
|
||||||
|
CurrentFace = face.Face,
|
||||||
|
UploadFace = request.Face,
|
||||||
|
TenantId = gainfo.Factory,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (isError)
|
||||||
|
{
|
||||||
|
throw new UserFriendlyException($"系统检测非本人更新,请重试(相似度{faceSimilarity})");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var taskType = face == null ? DeviceTaskEnumType.Add : DeviceTaskEnumType.Update;
|
var taskType = face == null ? DeviceTaskEnumType.Add : DeviceTaskEnumType.Update;
|
||||||
if (face == null)
|
if (face == null)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user