Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,10 @@ public boolean isDebitEntry() {
return JournalEntryType.DEBIT.getValue().equals(this.type);
}

public boolean isCreditEntry() {
return JournalEntryType.CREDIT.getValue().equals(this.type);
}

public void setReversalJournalEntry(final JournalEntry reversalJournalEntry) {
this.reversalJournalEntry = reversalJournalEntry;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,14 @@
"string"
]
},
{
"default": null,
"name": "transferExternalReferenceId",
"type": [
"null",
"string"
]
},
{
"default": null,
"name": "submittedDate",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3661,6 +3661,14 @@ public CommandWrapperBuilder updateExternalAssetOwnerLoanProductAttribute(final
return this;
}

public CommandWrapperBuilder intermediarySaleLoanToExternalAssetOwner(final Long loanId) {
this.actionName = "INTERMEDIARYSALE";
this.entityName = "LOAN";
this.loanId = loanId;
this.href = "/external-asset-owners/transfers/loans/" + loanId;
return this;
}

public CommandWrapperBuilder saleLoanToExternalAssetOwner(final Long loanId) {
this.actionName = "SALE";
this.entityName = "LOAN";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,14 +48,16 @@ public class CommandProcessingResult implements Serializable {
private final Long glimId;
private Boolean rollbackTransaction;
private final ExternalId resourceExternalId;
private final ExternalId resourceExternalReferenceId;
private final ExternalId subResourceExternalId;
private final ExternalId loanExternalId;

private CommandProcessingResult(final Long commandId, final Long officeId, final Long groupId, final Long clientId, final Long loanId,
final Long savingsId, final String resourceIdentifier, final Long resourceId, final String transactionId,
final Map<String, Object> changes, final Long productId, final Long gsimId, final Long glimId,
final Map<String, Object> creditBureauReportData, Boolean rollbackTransaction, final Long subResourceId,
final ExternalId resourceExternalId, final ExternalId subResourceExternalId, final ExternalId loanExternalId) {
final ExternalId resourceExternalId, final ExternalId resourceExternalReferenceId, final ExternalId subResourceExternalId,
final ExternalId loanExternalId) {
this.commandId = commandId;
this.officeId = officeId;
this.groupId = groupId;
Expand All @@ -73,14 +75,15 @@ private CommandProcessingResult(final Long commandId, final Long officeId, final
this.rollbackTransaction = rollbackTransaction;
this.subResourceId = subResourceId;
this.resourceExternalId = resourceExternalId;
this.resourceExternalReferenceId = resourceExternalReferenceId;
this.subResourceExternalId = subResourceExternalId;
this.loanExternalId = loanExternalId;
}

protected CommandProcessingResult(final Long resourceId, final Long officeId, final Long commandId, final Map<String, Object> changes,
Long clientId) {
this(commandId, officeId, null, clientId, null, null, resourceId == null ? null : resourceId.toString(), resourceId, null, changes,
null, null, null, null, null, null, ExternalId.empty(), ExternalId.empty(), ExternalId.empty());
null, null, null, null, null, null, ExternalId.empty(), ExternalId.empty(), ExternalId.empty(), ExternalId.empty());
}

protected CommandProcessingResult(final Long resourceId, final Long officeId, final Long commandId, final Map<String, Object> changes) {
Expand All @@ -96,7 +99,8 @@ public static CommandProcessingResult fromCommandProcessingResult(CommandProcess
commandResult.loanId, commandResult.savingsId, commandResult.resourceIdentifier, resourceId, commandResult.transactionId,
commandResult.changes, commandResult.productId, commandResult.gsimId, commandResult.glimId,
commandResult.creditBureauReportData, commandResult.rollbackTransaction, commandResult.subResourceId,
commandResult.resourceExternalId, commandResult.subResourceExternalId, commandResult.loanExternalId);
commandResult.resourceExternalId, commandResult.resourceExternalReferenceId, commandResult.subResourceExternalId,
commandResult.loanExternalId);
}

public static CommandProcessingResult fromCommandProcessingResult(CommandProcessingResult commandResult) {
Expand All @@ -107,10 +111,11 @@ public static CommandProcessingResult fromDetails(final Long commandId, final Lo
final Long loanId, final Long savingsId, final String resourceIdentifier, final Long entityId, final Long gsimId,
final Long glimId, final Map<String, Object> creditBureauReportData, final String transactionId,
final Map<String, Object> changes, final Long productId, final Boolean rollbackTransaction, final Long subResourceId,
final ExternalId resourceExternalId, final ExternalId subResourceExternalId, final ExternalId loanExternalId) {
final ExternalId resourceExternalId, final ExternalId resourceExternalReferenceId, final ExternalId subResourceExternalId,
final ExternalId loanExternalId) {
return new CommandProcessingResult(commandId, officeId, groupId, clientId, loanId, savingsId, resourceIdentifier, entityId,
transactionId, changes, productId, gsimId, glimId, creditBureauReportData, rollbackTransaction, subResourceId,
resourceExternalId, subResourceExternalId, loanExternalId);
resourceExternalId, resourceExternalReferenceId, subResourceExternalId, loanExternalId);
}

public static CommandProcessingResult commandOnlyResult(final Long commandId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,16 +43,15 @@ public class CommandProcessingResultBuilder {
private Long productId;
private boolean rollbackTransaction = false;
private ExternalId entityExternalId = ExternalId.empty();

private ExternalId entityExternalReferenceId = ExternalId.empty();
private ExternalId subEntityExternalId = ExternalId.empty();

private ExternalId loanExternalId = ExternalId.empty();

public CommandProcessingResult build() {
return CommandProcessingResult.fromDetails(this.commandId, this.officeId, this.groupId, this.clientId, this.loanId, this.savingsId,
this.resourceIdentifier, this.entityId, this.gsimId, this.glimId, this.creditBureauReportData, this.transactionId,
this.changes, this.productId, this.rollbackTransaction, this.subEntityId, this.entityExternalId, this.subEntityExternalId,
this.loanExternalId);
this.changes, this.productId, this.rollbackTransaction, this.subEntityId, this.entityExternalId,
this.entityExternalReferenceId, this.subEntityExternalId, this.loanExternalId);
}

public CommandProcessingResultBuilder withCommandId(final Long withCommandId) {
Expand Down Expand Up @@ -140,6 +139,11 @@ public CommandProcessingResultBuilder withEntityExternalId(final ExternalId enti
return this;
}

public CommandProcessingResultBuilder withEntityExternalReferenceId(final ExternalId entityExternalReferenceId) {
this.entityExternalReferenceId = entityExternalReferenceId;
return this;
}

public CommandProcessingResultBuilder withSubEntityExternalId(final ExternalId subEntityExternalId) {
this.subEntityExternalId = subEntityExternalId;
return this;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,9 @@ private String getResultByTransferId(Long id, String command) {
private String getResult(Long loanId, String apiRequestBodyAsJson, String commandParam) {
final CommandWrapperBuilder builder = new CommandWrapperBuilder().withJson(apiRequestBodyAsJson);
CommandWrapper commandRequest = null;
if (CommandParameterUtil.is(commandParam, "sale")) {
if (CommandParameterUtil.is(commandParam, "intermediarySale")) {
commandRequest = builder.intermediarySaleLoanToExternalAssetOwner(loanId).build();
} else if (CommandParameterUtil.is(commandParam, "sale")) {
commandRequest = builder.saleLoanToExternalAssetOwner(loanId).build();
} else if (CommandParameterUtil.is(commandParam, "buyback")) {
commandRequest = builder.buybackLoanToExternalAssetOwner(loanId).build();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,9 @@ private GetExternalTransferLoan() {}
@Schema(example = "e1156fbe-38bb-42f8-b491-fca02075f40e")
public String transferExternalId;

@Schema(example = "e1156fbe-38bb-42f8-b491-fca02075f40e")
public String transferExternalReferenceId;

@Schema(example = "1")
public String purchasePriceRatio;

Expand Down Expand Up @@ -101,6 +104,9 @@ private PostInitiateTransferRequest() {}
@Schema(example = "36efeb06-d835-48a1-99eb-09bd1d348c1e")
public String transferExternalId;

@Schema(example = "e1156fbe-38bb-42f8-b491-fca02075f40e")
public String transferExternalReferenceId;

@Schema(example = "1.2345678")
public String purchasePriceRatio;

Expand All @@ -122,6 +128,9 @@ private PostInitiateTransferResponse() {}
@Schema(example = "36efeb06-d835-48a1-99eb-09bd1d348c1e", description = "transfer external ID")
public String resourceExternalId;

@Schema(example = "36efeb06-d835-48a1-99eb-09bd1d348c1e", description = "transfer external reference ID")
public String resourceExternalReferenceId;

@Schema(example = "2", description = "loan ID")
public Long subResourceId;

Expand All @@ -148,6 +157,9 @@ static final class ExternalAssetOwnerTransferChangesData {
@Schema(example = "36efeb06-d835-48a1-99eb-09bd1d348c1e")
public String transferExternalId;

@Schema(example = "e1156fbe-38bb-42f8-b491-fca02075f40e")
public String transferExternalReferenceId;

@Schema(example = "1.23456789")
public String purchasePriceRatio;
}
Expand Down
Loading
Loading