From d5c2c54eaa515fd4d8db478d363a3300729e3846 Mon Sep 17 00:00:00 2001 From: Suphonchai Phoonsawat Date: Thu, 18 Dec 2025 14:08:05 +0700 Subject: [PATCH] fix: update image retrieval logic in LeaveController and adjust RabbitMQ configuration in appsettings #2138 --- .../CombinedErrorHandlerAndLoggingMiddleware.cs | 7 +++++-- BMA.EHR.Leave/Controllers/LeaveController.cs | 5 +++-- BMA.EHR.Leave/appsettings.json | 9 ++++----- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/BMA.EHR.Domain/Middlewares/CombinedErrorHandlerAndLoggingMiddleware.cs b/BMA.EHR.Domain/Middlewares/CombinedErrorHandlerAndLoggingMiddleware.cs index 00224e36..a9de25fc 100644 --- a/BMA.EHR.Domain/Middlewares/CombinedErrorHandlerAndLoggingMiddleware.cs +++ b/BMA.EHR.Domain/Middlewares/CombinedErrorHandlerAndLoggingMiddleware.cs @@ -552,12 +552,15 @@ namespace BMA.EHR.Domain.Middlewares return Guid.Empty.ToString("D"); } - // Decode Base64 payload + // Decode Base64Url payload (JWT uses Base64Url encoding, not standard Base64) var payload = parts[1]; + // แปลง Base64Url เป็น Base64 ก่อน + payload = payload.Replace('-', '+').Replace('_', '/'); + // เพิ่ม padding ถ้าจำเป็น var padLength = 4 - (payload.Length % 4); - if (padLength != 4) + if (padLength < 4) { payload += new string('=', padLength); } diff --git a/BMA.EHR.Leave/Controllers/LeaveController.cs b/BMA.EHR.Leave/Controllers/LeaveController.cs index 6ae9f015..a309fb21 100644 --- a/BMA.EHR.Leave/Controllers/LeaveController.cs +++ b/BMA.EHR.Leave/Controllers/LeaveController.cs @@ -1496,7 +1496,8 @@ namespace BMA.EHR.Leave.Service.Controllers CheckInPOI = d.CheckInPOI, CheckInLat = d.CheckInLat, CheckInLon = d.CheckInLon, - CheckInImg = $"{imgUrl}/{d.CheckInImageUrl}", + //CheckInImg = $"{imgUrl}/{d.CheckInImageUrl}", + CheckInImg = await _minIOService.ImagesPathByName(d.CheckInImageUrl), CheckInStatus = d.CheckInStatus != null || d.CheckInStatus != "" ? d.CheckInStatus : DateTime.Parse(d.CheckIn.ToString("yyyy-MM-dd HH:mm")) > DateTime.Parse($"{d.CheckIn.Date.ToString("yyyy-MM-dd")} {duty.StartTimeMorning}") ? @@ -1516,7 +1517,7 @@ namespace BMA.EHR.Leave.Service.Controllers CheckOutPOI = d.CheckOut == null ? "" : d.CheckOutPOI, CheckOutLat = d.CheckOut == null ? null : d.CheckOutLat, CheckOutLon = d.CheckOut == null ? null : d.CheckOutLon, - CheckOutImg = d.CheckOut == null ? "" : $"{imgUrl}/{d.CheckOutImageUrl}", + CheckOutImg = d.CheckOut == null ? "" : await _minIOService.ImagesPathByName(d.CheckOutImageUrl), CheckOutStatus = d.CheckOut == null ? null : d.CheckOutStatus != null || d.CheckOutStatus != "" ? d.CheckOutStatus : diff --git a/BMA.EHR.Leave/appsettings.json b/BMA.EHR.Leave/appsettings.json index 4b331ed8..e1bb5d10 100644 --- a/BMA.EHR.Leave/appsettings.json +++ b/BMA.EHR.Leave/appsettings.json @@ -50,12 +50,11 @@ "API": "https://bma-ehr.frappet.synology.me/api/v1/probation" }, "Rabbit": { - "Host": "192.168.1.40", - "API": "https://bma-ehr.frappet.synology.me/api/v1", + "Host": "192.168.1.63", "User": "admin", - "Password": "Test123456", - "Queue": "bma-checkin-queue", - "URL": "https://edm-mq.frappet.synology.me/api/queues/%2F/" + "Password": "12345678", + "Queue": "hrms-checkin-queue", + "URL": "http://192.168.1.63:9122/api/queues/%2F/" }, "Mail": { "Server": "mail.bangkok.go.th",