Add: Swagger Annotations for Undoing Transaction API

This commit is contained in:
BLasan
2021-06-19 14:16:26 +05:30
parent 88df504390
commit 8b428d347a
5 changed files with 37 additions and 17 deletions
@@ -276,6 +276,9 @@ public class LoanTransactionsApiResource {
@Consumes({ MediaType.APPLICATION_JSON })
@Produces({ MediaType.APPLICATION_JSON })
@Operation(summary = "Undo a Waive Charge Transaction", description = "Undo a Waive Charge Transaction")
@RequestBody(required = true, content = @Content(schema = @Schema(implementation = LoanTransactionsApiResourceSwagger.PutChargeTransactionChangesRequest.class)))
@ApiResponses({
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = LoanTransactionsApiResourceSwagger.PutChargeTransactionChangesResponse.class))) })
public String undoWaiveCharge(@PathParam("loanId") @Parameter(description = "loanId") final Long loanId,
@PathParam("transactionId") @Parameter(description = "transactionId") final Long transactionId) {
@@ -186,4 +186,35 @@ final class LoanTransactionsApiResourceSwagger {
@Schema(example = "16")
public Integer resourceId;
}
@Schema(description = "PutChargeTransactionChangesResponse")
public static final class PutChargeTransactionChangesResponse {
private PutChargeTransactionChangesResponse() {}
static final class Changes {
private Changes() {}
@Schema(example = "amount")
public String amount;
}
@Schema(example = "1")
public Integer resourceId;
@Schema(example = "48")
public Integer loanId;
public PutChargeTransactionChangesResponse.Changes changes;
}
@Schema(description = "PutChargeTransactionChangesRequest")
public static final class PutChargeTransactionChangesRequest {
private PutChargeTransactionChangesRequest() {}
@Schema(example = "1")
public Integer transactionId;
}
}
@@ -25,8 +25,7 @@ import org.springframework.data.repository.query.Param;
public interface LoanChargePaidByRepository extends JpaRepository<LoanChargePaidBy, Long>, JpaSpecificationExecutor<LoanCharge> {
// no added behaviour
@Query("select lp from LoanChargePaidBy lp where lp.loanCharge=:loanCharge and lp.installmentNumber=:installmentNumber")
LoanChargePaidBy getLoanChargePaidByLoanCharge(@Param("loanCharge") final LoanCharge loanCharge,
@Param("installmentNumber") final Integer installmentNo);
LoanChargePaidBy getLoanChargePaidByLoanCharge(@Param("loanCharge") LoanCharge loanCharge,
@Param("installmentNumber") Integer installmentNo);
}
@@ -1732,16 +1732,6 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf
changes.put("amount", amountWaived);
// final Set<LoanChargePaidBy> loanChargePaidBySet = loanCharge.getLoanChargePaidBySet();
// for (LoanChargePaidBy loanChargePaidBy: loanChargePaidBySet) {
// if (installmentNumber.equals(loanChargePaidBy.getInstallmentNumber())) {
// LoanTransaction transaction = loanChargePaidBy.getLoanTransaction();
// if (transaction.isNotReversed()) {
// transaction.setReversed();
// }
// }
// }
} else {
/**
* TODO: Throw installment number should not be empty error.
@@ -1758,9 +1748,6 @@ public class LoanWritePlatformServiceJpaRepositoryImpl implements LoanWritePlatf
return new CommandProcessingResultBuilder() //
.withCommandId(command.commandId()) //
.withEntityId(command.entityId()) //
.withOfficeId(loan.getOfficeId()) //
.withClientId(loan.getClientId()) //
.withGroupId(loan.getGroupId()) //
.withLoanId(loanId) //
.with(changes).build();
}
@@ -286,6 +286,7 @@ INSERT INTO `m_permission`
('transaction_loan', 'WRITEOFF_LOAN_CHECKER', 'LOAN', 'WRITEOFF', '0'),
('transaction_loan', 'CLOSE_LOAN_CHECKER', 'LOAN', 'CLOSE', '0'),
('transaction_loan', 'CLOSEASRESCHEDULED_LOAN_CHECKER', 'LOAN', 'CLOSEASRESCHEDULED', '0'),
{'transaction_loan', 'UNDO_WAIVECHARGE', 'WAIVECHARGE', 'UNDO', '0'},
('transaction_savings', 'DEPOSIT_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'DEPOSIT', '1'),
('transaction_savings', 'DEPOSIT_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'DEPOSIT', '0'),
('transaction_savings', 'WITHDRAWAL_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'WITHDRAWAL', '1'),
@@ -293,7 +294,6 @@ INSERT INTO `m_permission`
('transaction_savings', 'ACTIVATE_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'ACTIVATE', '1'),
('transaction_savings', 'ACTIVATE_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'ACTIVATE', '0'),
('transaction_savings', 'CALCULATEINTEREST_SAVINGSACCOUNT', 'SAVINGSACCOUNT', 'CALCULATEINTEREST', '1'),
{'transaction_lon', 'UNDO_WAIVECHARGE', 'WAIVECHARGE', 'UNDO', '0'},
('transaction_savings', 'CALCULATEINTEREST_SAVINGSACCOUNT_CHECKER', 'SAVINGSACCOUNT', 'CALCULATEINTEREST', '0');
-- == accounting related permissions