fix: .
This commit is contained in:
@@ -15,7 +15,6 @@ namespace Dlhis.Basic.Organization.Services.Implements;
|
||||
public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
|
||||
{
|
||||
private readonly IDbContext _dbContext;
|
||||
private readonly IServiceProvider _serviceProvider;
|
||||
private readonly IAliyunClient _aliyunClient;
|
||||
private readonly ICurrentUser _currentUser;
|
||||
|
||||
@@ -151,6 +150,59 @@ public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
|
||||
return await GetRecordAsync(record.UserCode);
|
||||
}
|
||||
|
||||
public async Task<IdCardFaceCompareRecordResponse> SaveAsync(IdCardFaceCompareRecordSaveRequest request)
|
||||
{
|
||||
var gainfo = await _dbContext.Queryable<GainfoEntity>()
|
||||
.Where(x => x.Code == request.UserCode)
|
||||
.SingleAsync();
|
||||
gainfo.ThrowIfNull("人员档案信息不存在");
|
||||
|
||||
var now = DateTime.Now;
|
||||
var compareTime = request.CompareTime ?? now;
|
||||
var userId = _currentUser.GetIntSubjectId();
|
||||
var record = await _dbContext.Queryable<IdCardFaceCompareRecordEntity>()
|
||||
.Where(x => x.UserCode == gainfo.Code)
|
||||
.SingleAsync();
|
||||
|
||||
if (record == null)
|
||||
{
|
||||
record = new IdCardFaceCompareRecordEntity
|
||||
{
|
||||
UserCode = gainfo.Code,
|
||||
CompareCount = 0,
|
||||
CreatedBy = userId,
|
||||
CreateTime = now
|
||||
};
|
||||
}
|
||||
|
||||
record.UserType = gainfo.Type;
|
||||
record.UserName = gainfo.Name;
|
||||
record.IdNo = gainfo.IdNo;
|
||||
record.CompareResult = request.CompareResult
|
||||
?? (request.ErrorMessage.IsPresent()
|
||||
? IdCardFaceCompareResultEnumType.NotCompared
|
||||
: IdCardFaceCompareResultEnumType.Compared);
|
||||
record.ApiResponse = request.ApiResponse;
|
||||
record.IsPassed = request.IsPassed;
|
||||
record.Similarity = request.Similarity;
|
||||
record.ErrorMessage = request.ErrorMessage;
|
||||
record.CompareCount += 1;
|
||||
record.LastCompareTime = compareTime;
|
||||
record.ModifiedTime = now;
|
||||
record.ModifiedBy = userId;
|
||||
|
||||
if (record.Id == 0)
|
||||
{
|
||||
await _dbContext.InsertAsync(record);
|
||||
}
|
||||
else
|
||||
{
|
||||
await _dbContext.UpdateAsync(record);
|
||||
}
|
||||
|
||||
return await GetRecordAsync(record.UserCode);
|
||||
}
|
||||
|
||||
private async Task UpdateRecordErrorAndThrowAsync(IdCardFaceCompareRecordEntity record, string message, int userId)
|
||||
{
|
||||
record.ErrorMessage = message;
|
||||
|
||||
Reference in New Issue
Block a user