fix 增加null处理场景

This commit is contained in:
2025-07-18 13:28:07 +08:00
parent 05883287de
commit 2f62412f96

View File

@@ -140,36 +140,6 @@ public class GainfoFaceService : IGainfoFaceService
var face = await _faceDbContext.Queryable<GainfoFaceEntity>().Where(x => x.UserCode == gainfo.Code).SingleAsync();
if (gainfo.Type == GainfoUserTypeEnumType.External)
{
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;
if (face == null)
{
@@ -187,6 +157,36 @@ public class GainfoFaceService : IGainfoFaceService
}
else
{
if (gainfo.Type == GainfoUserTypeEnumType.External)
{
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})");
}
}
}
face.Face = request.Face;
face.ModifiedBy = 1;
face.ModifiedTime = DateTime.Now;