From 9a7778fc7fbf47764d7ee43f2367254391365688 Mon Sep 17 00:00:00 2001 From: Andrei Isvoran Date: Wed, 18 Sep 2024 13:10:36 +0200 Subject: [PATCH] RED-10027 - Fix time zone issues --- .../migration/StorageToMongoCopyService.java | 6 +++++- .../service/ComponentDocumentUpdateService.java | 12 +++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/StorageToMongoCopyService.java b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/StorageToMongoCopyService.java index 154c69340..1cb109027 100644 --- a/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/StorageToMongoCopyService.java +++ b/persistence-service-v1/persistence-service-processor-v1/src/main/java/com/iqser/red/service/persistence/management/v1/processor/migration/StorageToMongoCopyService.java @@ -1,6 +1,8 @@ package com.iqser.red.service.persistence.management.v1.processor.migration; import java.time.OffsetDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -145,7 +147,9 @@ public class StorageToMongoCopyService { }); if (file.softDeleted != null) { - componentLogService.softDeleteAllOverrides(file.dossierId(), file.fileId(), file.softDeleted); + ZonedDateTime zonedDeletedTime = file.softDeleted.atZoneSameInstant(ZoneId.systemDefault()); + OffsetDateTime adjustedSoftDeletedTime = zonedDeletedTime.toOffsetDateTime(); + componentLogService.softDeleteAllOverrides(file.dossierId(), file.fileId(), adjustedSoftDeletedTime); } fileManagementStorageService.deleteObject(file.dossierId(), file.fileId(), FileType.COMPONENTS); diff --git a/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/ComponentDocumentUpdateService.java b/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/ComponentDocumentUpdateService.java index 9a101da0c..3f351b572 100644 --- a/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/ComponentDocumentUpdateService.java +++ b/persistence-service-v1/persistence-service-shared-mongo-v1/src/main/java/com/iqser/red/service/persistence/service/v1/api/shared/mongo/service/ComponentDocumentUpdateService.java @@ -1,6 +1,8 @@ package com.iqser.red.service.persistence.service.v1.api.shared.mongo.service; import java.time.OffsetDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Criteria; @@ -21,18 +23,22 @@ public class ComponentDocumentUpdateService { public void setSoftDeletedTime(String componentLogId, OffsetDateTime softDeletedTime) { + ZonedDateTime zonedDeletedTime = softDeletedTime.atZoneSameInstant(ZoneId.systemDefault()); + OffsetDateTime adjustedSoftDeletedTime = zonedDeletedTime.toOffsetDateTime(); Query query = new Query(Criteria.where("componentLogId").is(componentLogId) .and("softDeletedTime").is(null)); - Update update = new Update().set("softDeletedTime", softDeletedTime); + Update update = new Update().set("softDeletedTime", adjustedSoftDeletedTime); mongoTemplate.updateMulti(query, update, ComponentDocument.class); } public void unsetSoftDeletedTimeWhereGreaterThanEquals(String componentLogId, OffsetDateTime softDeletedTime) { + ZonedDateTime zonedDeletedTime = softDeletedTime.atZoneSameInstant(ZoneId.systemDefault()); + OffsetDateTime adjustedSoftDeletedTime = zonedDeletedTime.toOffsetDateTime(); Query query = new Query(Criteria.where("componentLogId").is(componentLogId) - .and("softDeletedTime").gte(softDeletedTime)); + .and("softDeletedTime").gte(adjustedSoftDeletedTime)); Update update = new Update().unset("softDeletedTime"); mongoTemplate.updateMulti(query, update, ComponentDocument.class); @@ -40,4 +46,4 @@ public class ComponentDocumentUpdateService { } -} +} \ No newline at end of file