pending account terminate feature develop

This commit is contained in:
keshav898966
2026-07-01 17:25:04 +05:30
parent 1bd41cff43
commit 99c153830c
34 changed files with 641 additions and 76 deletions
@@ -4216,6 +4216,21 @@ public class SavingsAccount extends AbstractAuditableWithUTCDateTimeCustom<Long>
@Column(name = "senior_citizen_interest_rate", scale = 6, precision = 19, nullable = true)
private BigDecimal seniorCitizenInterestRate;
@Column(name = "terminate_true", nullable = false, columnDefinition = "boolean default false")
private boolean terminateTrue = false;
public boolean isTerminateTrue() { return terminateTrue; }
public void setTerminateTrue(boolean terminateTrue) { this.terminateTrue = terminateTrue; }
public Map<String, Object> terminate() {
final Map<String, Object> actualChanges = new LinkedHashMap<>();
this.terminateTrue = true;
this.status = SavingsAccountStatusType.TERMINATED.getValue();
actualChanges.put("terminateTrue", true);
actualChanges.put("status", SavingsAccountStatusType.TERMINATED.getValue());
return actualChanges;
}
@jakarta.persistence.OneToOne(cascade = jakarta.persistence.CascadeType.ALL, mappedBy = "savingsAccount", orphanRemoval = true, fetch = FetchType.LAZY)
private SavingsAccountFacilityConfig facilityConfig;
@@ -118,4 +118,6 @@ public interface SavingsAccountWritePlatformService {
CommandProcessingResult gsimDeposit(Long gsimId, JsonCommand command);
CommandProcessingResult bulkGSIMClose(Long gsimId, JsonCommand command);
CommandProcessingResult terminate(Long savingsId, JsonCommand command);
}