fix 增加null处理场景
This commit is contained in:
@@ -140,36 +140,6 @@ public class GainfoFaceService : IGainfoFaceService
|
|||||||
|
|
||||||
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();
|
||||||
|
|
||||||
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;
|
var taskType = face == null ? DeviceTaskEnumType.Add : DeviceTaskEnumType.Update;
|
||||||
if (face == null)
|
if (face == null)
|
||||||
{
|
{
|
||||||
@@ -187,6 +157,36 @@ public class GainfoFaceService : IGainfoFaceService
|
|||||||
}
|
}
|
||||||
else
|
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.Face = request.Face;
|
||||||
face.ModifiedBy = 1;
|
face.ModifiedBy = 1;
|
||||||
face.ModifiedTime = DateTime.Now;
|
face.ModifiedTime = DateTime.Now;
|
||||||
|
|||||||
Reference in New Issue
Block a user