diff --git a/Src/Dlhis.Entity/Basic/Entity/GainfoFaceEntity.cs b/Src/Dlhis.Entity/Basic/Entity/GainfoFaceEntity.cs index b074232c..7a399154 100644 --- a/Src/Dlhis.Entity/Basic/Entity/GainfoFaceEntity.cs +++ b/Src/Dlhis.Entity/Basic/Entity/GainfoFaceEntity.cs @@ -23,5 +23,12 @@ namespace Dlhis.Entity.Basic.Entity /// [SugarColumn(ColumnDataType = "longtext", IsNullable = false)] public string Face { get; set; } + + + /// + /// 是否同步 + /// + [SugarColumn(IsNullable = false, ColumnDataType = "bit")] + public bool IsSync { get; set; } } } \ No newline at end of file diff --git a/Src/Dlhis.Entity/Sap/SapDataSyncEntity.cs b/Src/Dlhis.Entity/Sap/SapDataSyncEntity.cs deleted file mode 100644 index 57167cfc..00000000 --- a/Src/Dlhis.Entity/Sap/SapDataSyncEntity.cs +++ /dev/null @@ -1,17 +0,0 @@ -using Kurisu.AspNetCore.DataAccess.SqlSugar; -using SqlSugar; - -namespace Dlhis.Entity.Sap; - -[SugarTable(TableName = "SapDataSync")] -public class SapDataSyncEntity : SugarBaseEntity -{ - [SugarColumn(UniqueGroupNameList = new[] { "unique_SapDataSync_key-type" })] - public string Key { get; set; } - - [SugarColumn(UniqueGroupNameList = new[] { "unique_SapDataSync_key-type" })] - public string Type { get; set; } - - [SugarColumn(ColumnDataType = "bit")] - public bool IsSync { get; set; } -} \ No newline at end of file diff --git a/Src/Dlhis.ScheduledTask/Common/Services/Implements/HangfireService.cs b/Src/Dlhis.ScheduledTask/Common/Services/Implements/HangfireService.cs index c2ff4d70..6f177b4e 100644 --- a/Src/Dlhis.ScheduledTask/Common/Services/Implements/HangfireService.cs +++ b/Src/Dlhis.ScheduledTask/Common/Services/Implements/HangfireService.cs @@ -50,6 +50,14 @@ public class HangfireService : IHangfireService public async Task FaceUploadToSapAsync(FaceUploadToSapRequest request) { - await _jinkoJipService.SyncFaceToSapAsync(request.UserCode, request.Base64); + var response = await _jinkoJipService.SyncFaceToSapAsync(request.UserCode, request.Base64); + if (response.OLX == "S") + { + var faceDbContext = _dbContext.ChangeDb("face"); + await faceDbContext.Updateable() + .SetColumns(x => x.IsSync == true) + .Where(x => x.UserCode == request.UserCode) + .ExecuteCommandAsync(); + } } } \ No newline at end of file diff --git a/Src/Dlhis.ScheduledTask/Jobs/SyncFaceJob.cs b/Src/Dlhis.ScheduledTask/Jobs/SyncFaceJob.cs index 0ee4a102..0475ec33 100644 --- a/Src/Dlhis.ScheduledTask/Jobs/SyncFaceJob.cs +++ b/Src/Dlhis.ScheduledTask/Jobs/SyncFaceJob.cs @@ -1,5 +1,4 @@ using Dlhis.Entity.Basic.Entity; -using Dlhis.Entity.Sap; using Dlhis.ScheduledTask.Attributes; using Dlhis.ScheduledTask.Common.Services; @@ -21,12 +20,7 @@ public class SyncFaceJob : BaseJob { var faceDbContext = DbContext.ChangeDb("face"); - var existsData = await DbContext.Queryable().Where(x => x.IsSync).Select(x => x.Key).ToListAsync(); - - var userFaces = await faceDbContext.Queryable() - .Where(x => !existsData.Contains(x.UserCode)) - .ToPageListAsync(1, 5000); - + var userFaces = await faceDbContext.Queryable().Where(x => x.IsSync == false).ToPageListAsync(1, 1000); foreach (var data in userFaces) { try @@ -34,12 +28,8 @@ public class SyncFaceJob : BaseJob var response = await _jinkoJipService.SyncFaceToSapAsync(data.UserCode, data.Face); if (response.OLX == "S") { - await DbContext.InsertAsync(new SapDataSyncEntity - { - Key = data.UserCode, - Type = "Face", - IsSync = true - }); + data.IsSync = true; + await faceDbContext.UpdateAsync(data); } } catch (Exception e)