fix: 单独处理db

This commit is contained in:
2026-06-29 14:13:46 +08:00
parent e0dc896623
commit 43d967a9e4

View File

@@ -15,17 +15,18 @@ namespace Dlhis.Basic.Organization.Services.Implements;
public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
{
private readonly IDbContext _dbContext;
private readonly IDbContext _faceDbContext;
private readonly IServiceProvider _serviceProvider;
private readonly IAliyunClient _aliyunClient;
private readonly ICurrentUser _currentUser;
public GainfoIdCardFaceCompareService(
IDbContext dbContext,
IServiceProvider serviceProvider,
IAliyunClient aliyunClient,
ICurrentUser currentUser)
{
_dbContext = dbContext;
_faceDbContext = dbContext.ChangeDb("face");
_serviceProvider = serviceProvider;
_aliyunClient = aliyunClient;
_currentUser = currentUser;
}
@@ -75,6 +76,19 @@ public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
gainfo.ThrowIfNull("人员档案信息不存在");
gainfo.IdNo.IsPresent().ThrowIfFalse("人员证件号为空,无法对比");
var face = string.Empty;
using (var scope = _serviceProvider.CreateScope())
{
var faceDbContext = scope.ServiceProvider.GetService<IDbContext>().ChangeDb("face");
face = await faceDbContext.Queryable<GainfoFaceEntity>()
.Where(x => x.UserCode == gainfo.Code)
.Select(x => x.Face)
.SingleAsync();
}
face.IsEmpty().ThrowIfTrue("人脸照片尚未录入");
var now = DateTime.Now;
var userId = _currentUser.GetIntSubjectId();
var record = await _dbContext.Queryable<IdCardFaceCompareRecordEntity>()
@@ -111,10 +125,7 @@ public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
await _dbContext.UpdateAsync(record);
}
var face = await _faceDbContext.Queryable<GainfoFaceEntity>()
.Where(x => x.UserCode == gainfo.Code)
.Select(x => x.Face)
.SingleAsync();
if (!face.IsPresent())
{