fix: 单独处理db
This commit is contained in:
@@ -15,17 +15,18 @@ namespace Dlhis.Basic.Organization.Services.Implements;
|
|||||||
public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
|
public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
|
||||||
{
|
{
|
||||||
private readonly IDbContext _dbContext;
|
private readonly IDbContext _dbContext;
|
||||||
private readonly IDbContext _faceDbContext;
|
private readonly IServiceProvider _serviceProvider;
|
||||||
private readonly IAliyunClient _aliyunClient;
|
private readonly IAliyunClient _aliyunClient;
|
||||||
private readonly ICurrentUser _currentUser;
|
private readonly ICurrentUser _currentUser;
|
||||||
|
|
||||||
public GainfoIdCardFaceCompareService(
|
public GainfoIdCardFaceCompareService(
|
||||||
IDbContext dbContext,
|
IDbContext dbContext,
|
||||||
|
IServiceProvider serviceProvider,
|
||||||
IAliyunClient aliyunClient,
|
IAliyunClient aliyunClient,
|
||||||
ICurrentUser currentUser)
|
ICurrentUser currentUser)
|
||||||
{
|
{
|
||||||
_dbContext = dbContext;
|
_dbContext = dbContext;
|
||||||
_faceDbContext = dbContext.ChangeDb("face");
|
_serviceProvider = serviceProvider;
|
||||||
_aliyunClient = aliyunClient;
|
_aliyunClient = aliyunClient;
|
||||||
_currentUser = currentUser;
|
_currentUser = currentUser;
|
||||||
}
|
}
|
||||||
@@ -75,6 +76,19 @@ public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
|
|||||||
gainfo.ThrowIfNull("人员档案信息不存在");
|
gainfo.ThrowIfNull("人员档案信息不存在");
|
||||||
gainfo.IdNo.IsPresent().ThrowIfFalse("人员证件号为空,无法对比");
|
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 now = DateTime.Now;
|
||||||
var userId = _currentUser.GetIntSubjectId();
|
var userId = _currentUser.GetIntSubjectId();
|
||||||
var record = await _dbContext.Queryable<IdCardFaceCompareRecordEntity>()
|
var record = await _dbContext.Queryable<IdCardFaceCompareRecordEntity>()
|
||||||
@@ -111,10 +125,7 @@ public class GainfoIdCardFaceCompareService : IGainfoIdCardFaceCompareService
|
|||||||
await _dbContext.UpdateAsync(record);
|
await _dbContext.UpdateAsync(record);
|
||||||
}
|
}
|
||||||
|
|
||||||
var face = await _faceDbContext.Queryable<GainfoFaceEntity>()
|
|
||||||
.Where(x => x.UserCode == gainfo.Code)
|
|
||||||
.Select(x => x.Face)
|
|
||||||
.SingleAsync();
|
|
||||||
|
|
||||||
if (!face.IsPresent())
|
if (!face.IsPresent())
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user