From 275e6e333de8fe3ef0593edb9ba559797f7bf08e Mon Sep 17 00:00:00 2001 From: liguoyang Date: Thu, 29 Aug 2024 18:20:17 +0800 Subject: [PATCH] =?UTF-8?q?fix=20face=E6=95=B0=E6=8D=AE=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Organization/Api/IHainingApi.cs | 12 ++++++++++++ .../Api/Request/HainingApiUploadRequest.cs | 12 ++++++++++++ .../Organization/Request/GainfoSaveRequest.cs | 2 +- .../Response/GainfoDetailResponse.cs | 4 ++-- .../Response/GainfoPageResponse.cs | 2 +- .../Services/Implements/GainfoFaceService.cs | 18 ++++++++++++++++++ .../Implements/GainfoOutsourceService.cs | 5 +++-- .../Services/Implements/GainfoService.cs | 6 +++++- 8 files changed, 54 insertions(+), 7 deletions(-) create mode 100644 Src/Dlhis.Basic/Organization/Api/IHainingApi.cs create mode 100644 Src/Dlhis.Basic/Organization/Api/Request/HainingApiUploadRequest.cs diff --git a/Src/Dlhis.Basic/Organization/Api/IHainingApi.cs b/Src/Dlhis.Basic/Organization/Api/IHainingApi.cs new file mode 100644 index 00000000..52ff8c95 --- /dev/null +++ b/Src/Dlhis.Basic/Organization/Api/IHainingApi.cs @@ -0,0 +1,12 @@ +using Dlhis.Basic.Organization.Api.Request; +using Kurisu.RemoteCall.Attributes; + +namespace Dlhis.Basic.Organization.Api; + +[EnableRemoteClient(Name = "haining-service", BaseUrl = "https://pay.aizhuhotel.com")] +public interface IHainingApi +{ + [RequestLog] + [Post("/jingke/api/face/SaveFaceByFace")] + Task UploadAsync(HainingApiUploadRequest request); +} \ No newline at end of file diff --git a/Src/Dlhis.Basic/Organization/Api/Request/HainingApiUploadRequest.cs b/Src/Dlhis.Basic/Organization/Api/Request/HainingApiUploadRequest.cs new file mode 100644 index 00000000..b452fc6e --- /dev/null +++ b/Src/Dlhis.Basic/Organization/Api/Request/HainingApiUploadRequest.cs @@ -0,0 +1,12 @@ +using Newtonsoft.Json; + +namespace Dlhis.Basic.Organization.Api.Request; + +public class HainingApiUploadRequest +{ + [JsonProperty("employeeNo")] + public string Code { get; set; } + + [JsonProperty("photoBase64")] + public string Base64 { get; set; } +} \ No newline at end of file diff --git a/Src/Dlhis.Basic/Organization/Request/GainfoSaveRequest.cs b/Src/Dlhis.Basic/Organization/Request/GainfoSaveRequest.cs index 838f621c..f64fb6a1 100644 --- a/Src/Dlhis.Basic/Organization/Request/GainfoSaveRequest.cs +++ b/Src/Dlhis.Basic/Organization/Request/GainfoSaveRequest.cs @@ -13,7 +13,7 @@ public class GainfoSaveRequest : IValidatableObject [EnumDataType(typeof(GainfoStatusEnumType))] public GainfoStatusEnumType? GainfoStatus { get; set; } - public string SapNo { get; set; } + public string InternalNo { get; set; } /// /// 姓名 diff --git a/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs b/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs index 17205533..acd65556 100644 --- a/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs +++ b/Src/Dlhis.Basic/Organization/Response/GainfoDetailResponse.cs @@ -13,9 +13,9 @@ public class GainfoDetailResponse public string No { get; set; } /// - /// SAP内部编号 + /// 内部编号 /// - public string SapNo { get; set; } + public string InternalNo { get; set; } /// /// 姓名 diff --git a/Src/Dlhis.Basic/Organization/Response/GainfoPageResponse.cs b/Src/Dlhis.Basic/Organization/Response/GainfoPageResponse.cs index 82233c5c..efbb53fa 100644 --- a/Src/Dlhis.Basic/Organization/Response/GainfoPageResponse.cs +++ b/Src/Dlhis.Basic/Organization/Response/GainfoPageResponse.cs @@ -14,7 +14,7 @@ public class GainfoPageResponse /// /// SAP内部编号 /// - public string SapNo { get; set; } + public string InternalNo { get; set; } /// /// 人员类型 diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoFaceService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoFaceService.cs index 30368c7f..966dd47a 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoFaceService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoFaceService.cs @@ -1,4 +1,6 @@ using Dlhis.Basic.Device.Services; +using Dlhis.Basic.Organization.Api; +using Dlhis.Basic.Organization.Api.Request; using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Entity.Basic.Dto; @@ -30,6 +32,7 @@ public class GainfoFaceService : IGainfoFaceService private readonly IHangfireApi _hangfireApi; private readonly IDevicePermissionService _devicePermissionService; private readonly IFactorySettingService _factorySettingService; + private readonly IHainingApi _hainingApi; private readonly IInfoCheckApi _infoCheckApi; private readonly IDataProtectionProvider _dataProtectionProvider; @@ -41,6 +44,7 @@ public class GainfoFaceService : IGainfoFaceService IHangfireApi hangfireApi, IDevicePermissionService devicePermissionService, IFactorySettingService factorySettingService, + IHainingApi hainingApi, IInfoCheckApi infoCheckApi, IDataProtectionProvider dataProtectionProvider) { @@ -53,6 +57,7 @@ public class GainfoFaceService : IGainfoFaceService _hangfireApi = hangfireApi; _devicePermissionService = devicePermissionService; _factorySettingService = factorySettingService; + _hainingApi = hainingApi; _infoCheckApi = infoCheckApi; _dataProtectionProvider = dataProtectionProvider; } @@ -238,6 +243,19 @@ public class GainfoFaceService : IGainfoFaceService _logger.LogError(e, "上传face数据到sap失败:{message}", e.Message); } + try + { + await _hainingApi.UploadAsync(new HainingApiUploadRequest() + { + Code = gainfo.Code, + Base64 = request.Face + }); + } + catch (Exception e) + { + _logger.LogError(e, "上传face数据到老系统失败:{message}", e.Message); + } + //生成任务 await _devicePermissionService.GenerateDeviceTasksAsync(gainfo.No, taskType, DeviceTaskSourceEnumType.Photo); } diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs index 12a81719..170ea3b9 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoOutsourceService.cs @@ -1,6 +1,7 @@ using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Entity.Basic.Entity; +using Dlhis.Entity.Basic.Enums; using Kurisu.AspNetCore.DataAccess.SqlSugar.Services; using Kurisu.AspNetCore.Utils; using Kurisu.AspNetCore.Utils.Extensions; @@ -32,11 +33,11 @@ public class GainfoOutsourceService : IGainfoOutsourceService .AnyAsync(); isOutsource.ThrowIfTrue("对接人不可为外包人员"); - if (!request.Id.HasValue) { var entity = request.Adapt(); entity.No = Guid.NewGuid().ToString(); + entity.Type = GainfoUserTypeEnumType.Outsource; entity.Code = request.Code.IsPresent() ? request.Code : await GetOutSourceCodeAsync(); @@ -63,7 +64,7 @@ public class GainfoOutsourceService : IGainfoOutsourceService request.Adapt(entity); entity.IdNo = idNo; entity.Phone = phone; - + outsource!.Code = entity.Code; request.ExternalInfo.Adapt(outsource); diff --git a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs index 52cd2cb9..a87cd48e 100644 --- a/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs +++ b/Src/Dlhis.Basic/Organization/Services/Implements/GainfoService.cs @@ -1,4 +1,5 @@ using Dlhis.Basic.Device.Services; +using Dlhis.Basic.Organization.Api; using Dlhis.Basic.Organization.Request; using Dlhis.Basic.Organization.Response; using Dlhis.Entity.Basic.Entity; @@ -27,6 +28,7 @@ public class GainfoService : IGainfoService private readonly ICurrentUser _currentUser; private readonly ITenantApi _tenantApi; private readonly IHangfireApi _hangfireApi; + private readonly IHainingApi _hainingApi; private readonly IDevicePermissionService _devicePermissionService; private readonly IGainfoPermissionService _gainfoPermissionService; private readonly ILogger _logger; @@ -37,6 +39,7 @@ public class GainfoService : IGainfoService ICurrentUser currentUser, ITenantApi tenantApi, IHangfireApi hangfireApi, + IHainingApi hainingApi, IDevicePermissionService devicePermissionService, IGainfoPermissionService gainfoPermissionService, ILogger logger) @@ -47,6 +50,7 @@ public class GainfoService : IGainfoService _currentUser = currentUser; _tenantApi = tenantApi; _hangfireApi = hangfireApi; + _hainingApi = hainingApi; _devicePermissionService = devicePermissionService; _gainfoPermissionService = gainfoPermissionService; _logger = logger; @@ -351,7 +355,7 @@ public class GainfoService : IGainfoService .Select((ga, de, pos, type) => new GainfoDetailResponse { No = ga.No, - SapNo = ga.SapNo, + InternalNo = ga.InternalNo, Name = ga.Name, Code = ga.Code, IdClass = ga.IdClass,