From 9fc4e2f948cc37b1967429008a00945e93c72f5f Mon Sep 17 00:00:00 2001 From: Adam Saghy Date: Thu, 9 Jan 2025 13:47:22 +0100 Subject: [PATCH] FINERACT-2152: Loan term variations audit fields --- ...InterestPauseWritePlatformServiceImpl.java | 11 ----- .../domain/LoanTermVariations.java | 49 +------------------ ...tional_audit_fields_to_term_variations.xml | 33 +++++++++++++ 3 files changed, 35 insertions(+), 58 deletions(-) diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/interestpauses/service/InterestPauseWritePlatformServiceImpl.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/interestpauses/service/InterestPauseWritePlatformServiceImpl.java index 095ec4024..8076b4062 100644 --- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/interestpauses/service/InterestPauseWritePlatformServiceImpl.java +++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/interestpauses/service/InterestPauseWritePlatformServiceImpl.java @@ -23,7 +23,6 @@ import static org.apache.fineract.portfolio.loanaccount.domain.LoanTermVariation import static org.apache.fineract.portfolio.loanaccount.loanschedule.domain.LoanScheduleType.PROGRESSIVE; import java.time.LocalDate; -import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; import java.util.ArrayList; @@ -41,13 +40,11 @@ import org.apache.fineract.infrastructure.core.data.DataValidatorBuilder; import org.apache.fineract.infrastructure.core.domain.ExternalId; import org.apache.fineract.infrastructure.core.exception.GeneralPlatformDomainRuleException; import org.apache.fineract.infrastructure.core.exception.PlatformApiDataValidationException; -import org.apache.fineract.infrastructure.core.service.DateUtils; import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext; import org.apache.fineract.portfolio.loanaccount.domain.Loan; import org.apache.fineract.portfolio.loanaccount.domain.LoanRepositoryWrapper; import org.apache.fineract.portfolio.loanaccount.domain.LoanTermVariations; import org.apache.fineract.portfolio.loanaccount.rescheduleloan.domain.LoanTermVariationsRepository; -import org.apache.fineract.useradministration.domain.AppUser; import org.springframework.transaction.annotation.Transactional; @AllArgsConstructor @@ -110,10 +107,6 @@ public class InterestPauseWritePlatformServiceImpl implements InterestPauseWrite variation.setTermApplicableFrom(startDate); variation.setDateValue(endDate); - AppUser currentUser = context.authenticatedUser(); - variation.setUpdatedBy(currentUser != null ? currentUser.getId() : null); - variation.setUpdatedOnDate(LocalDateTime.now(DateUtils.getDateTimeZoneOfTenant())); - LoanTermVariations updatedVariation = loanTermVariationsRepository.save(variation); return new CommandProcessingResultBuilder().withEntityId(updatedVariation.getId()) @@ -128,10 +121,6 @@ public class InterestPauseWritePlatformServiceImpl implements InterestPauseWrite LoanTermVariations variation = new LoanTermVariations(INTEREST_PAUSE.getValue(), startDate, null, endDate, false, loan); - AppUser currentUser = context.authenticatedUser(); - variation.setCreatedBy(currentUser != null ? currentUser.getId() : null); - variation.setCreatedOnDate(LocalDateTime.now(DateUtils.getDateTimeZoneOfTenant())); - LoanTermVariations savedVariation = loanTermVariationsRepository.saveAndFlush(variation); return new CommandProcessingResultBuilder().withEntityId(savedVariation.getId()).build(); diff --git a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTermVariations.java b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTermVariations.java index 891dde0e2..906ae257f 100644 --- a/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTermVariations.java +++ b/fineract-loan/src/main/java/org/apache/fineract/portfolio/loanaccount/domain/LoanTermVariations.java @@ -27,15 +27,14 @@ import jakarta.persistence.OneToOne; import jakarta.persistence.Table; import java.math.BigDecimal; import java.time.LocalDate; -import java.time.LocalDateTime; import org.apache.fineract.infrastructure.core.data.EnumOptionData; -import org.apache.fineract.infrastructure.core.domain.AbstractPersistableCustom; +import org.apache.fineract.infrastructure.core.domain.AbstractAuditableWithUTCDateTimeCustom; import org.apache.fineract.portfolio.loanaccount.data.LoanTermVariationsData; import org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations; @Entity @Table(name = "m_loan_term_variations") -public class LoanTermVariations extends AbstractPersistableCustom { +public class LoanTermVariations extends AbstractAuditableWithUTCDateTimeCustom { @ManyToOne(optional = false) @JoinColumn(name = "loan_id", nullable = false) @@ -62,18 +61,6 @@ public class LoanTermVariations extends AbstractPersistableCustom { @Column(name = "is_active", nullable = false) private Boolean isActive; - @Column(name = "created_by") - private Long createdBy; - - @Column(name = "created_on_date") - private LocalDateTime createdOnDate; - - @Column(name = "updated_by") - private Long updatedBy; - - @Column(name = "updated_on_date") - private LocalDateTime updatedOnDate; - @OneToOne(fetch = FetchType.LAZY) @JoinColumn(name = "parent_id") private LoanTermVariations parent; @@ -183,36 +170,4 @@ public class LoanTermVariations extends AbstractPersistableCustom { public void markAsInactive() { this.isActive = false; } - - public Long getCreatedBy() { - return createdBy; - } - - public void setCreatedBy(Long createdBy) { - this.createdBy = createdBy; - } - - public LocalDateTime getCreatedOnDate() { - return createdOnDate; - } - - public void setCreatedOnDate(LocalDateTime createdOnDate) { - this.createdOnDate = createdOnDate; - } - - public Long getUpdatedBy() { - return updatedBy; - } - - public void setUpdatedBy(Long updatedBy) { - this.updatedBy = updatedBy; - } - - public LocalDateTime getUpdatedOnDate() { - return updatedOnDate; - } - - public void setUpdatedOnDate(LocalDateTime updatedOnDate) { - this.updatedOnDate = updatedOnDate; - } } diff --git a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0162_add_additional_audit_fields_to_term_variations.xml b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0162_add_additional_audit_fields_to_term_variations.xml index fbb1ef2bf..4c9b7c1af 100644 --- a/fineract-provider/src/main/resources/db/changelog/tenant/parts/0162_add_additional_audit_fields_to_term_variations.xml +++ b/fineract-provider/src/main/resources/db/changelog/tenant/parts/0162_add_additional_audit_fields_to_term_variations.xml @@ -48,4 +48,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +