diff --git a/Src/Dlhis.Basic/Organization/Request/IdCardFaceCompareRequest.cs b/Src/Dlhis.Basic/Organization/Request/IdCardFaceCompareRequest.cs index 752b14a6..2febccb7 100644 --- a/Src/Dlhis.Basic/Organization/Request/IdCardFaceCompareRequest.cs +++ b/Src/Dlhis.Basic/Organization/Request/IdCardFaceCompareRequest.cs @@ -14,6 +14,5 @@ public class IdCardFaceCompareRequest /// 人脸图片base64 /// - [Required] public string Face { get; set; } } diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoIdCardFaceCompareService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoIdCardFaceCompareService.cs index 1d0b0cf2..646e948a 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoIdCardFaceCompareService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoIdCardFaceCompareService.cs @@ -15,15 +15,18 @@ 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; public GainfoIdCardFaceCompareService( IDbContext dbContext, + IServiceProvider serviceProvider, IAliyunClient aliyunClient, ICurrentUser currentUser) { _dbContext = dbContext; + _serviceProvider = serviceProvider; _aliyunClient = aliyunClient; _currentUser = currentUser; } @@ -73,6 +76,16 @@ public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService .SingleAsync(); gainfo.ThrowIfNull("人员档案信息不存在"); + var face = string.Empty; + using (var scope = _serviceProvider.CreateScope()) + { + var faceDbContext = scope.ServiceProvider.GetService().ChangeDb("face"); + face = await faceDbContext.Queryable().Where(x => x.UserCode == request.UserCode).Select(x => x.Face).SingleAsync(); + } + + face.IsEmpty().ThrowIfTrue("人脸照片未录入"); + + var now = DateTime.Now; var userId = _currentUser.GetIntSubjectId(); var record = await _dbContext.Queryable()