Skip to content

Commit 84b6d8f

Browse files
authored
feat: add data about last reconcilation + refactored (#162)
* feat: add data about last reconcilation + refactored * chore: adding test * chore: spotless * chore: adding test + refactored
1 parent f274bf0 commit 84b6d8f

File tree

7 files changed

+265
-82
lines changed

7 files changed

+265
-82
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package org.cardanofoundation.lob.app.accounting_reporting_core.repository;
22

3+
import java.util.Optional;
4+
35
import org.springframework.data.jpa.repository.JpaRepository;
46

57
import org.cardanofoundation.lob.app.accounting_reporting_core.domain.entity.reconcilation.ReconcilationEntity;
68

79
public interface TransactionReconcilationRepository extends JpaRepository<ReconcilationEntity, String> {
10+
11+
Optional<ReconcilationEntity> findTopByOrderByCreatedAtDesc();
812
}

accounting_reporting_core/src/main/java/org/cardanofoundation/lob/app/accounting_reporting_core/resource/AccountingCoreResourceReconciliation.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66

77
import lombok.RequiredArgsConstructor;
88
import lombok.extern.slf4j.Slf4j;
9-
import lombok.val;
109

1110
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
1211
import org.springframework.http.ResponseEntity;
@@ -46,12 +45,11 @@ public class AccountingCoreResourceReconciliation {
4645
})
4746
@PostMapping(value = "/reconcile/trigger", produces = APPLICATION_JSON_VALUE)
4847
@PreAuthorize("hasRole(@securityConfig.getManagerRole())")
49-
public ResponseEntity<?> reconcileTriggerAction(@Valid @RequestBody ReconciliationRequest body) {
50-
return accountingCoreService.scheduleReconcilation(body.getOrganisationId(), body.getDateFrom(), body.getDateTo()).fold(problem -> {
51-
return ResponseEntity.status(problem.getStatus().getStatusCode()).body(ReconcileResponseView.createFail(problem.getTitle(), body.getDateFrom(), body.getDateTo(), problem));
52-
}, success -> {
53-
return ResponseEntity.ok(ReconcileResponseView.createSuccess("We have received your reconcile request now.", body.getDateFrom(), body.getDateTo()));
54-
});
48+
public ResponseEntity<ReconcileResponseView> reconcileTriggerAction(@Valid @RequestBody ReconciliationRequest body) {
49+
return accountingCoreService.scheduleReconcilation(body.getOrganisationId(), body.getDateFrom(), body.getDateTo()).fold(
50+
problem -> ResponseEntity.status(problem.getStatus().getStatusCode()).body(ReconcileResponseView.createFail(problem.getTitle(), body.getDateFrom(), body.getDateTo(), problem)),
51+
success -> ResponseEntity.ok(ReconcileResponseView.createSuccess("We have received your reconcile request now.", body.getDateFrom(), body.getDateTo()))
52+
);
5553
}
5654

5755
@Operation(description = "Get the Reconciliations", responses = {
@@ -62,13 +60,13 @@ public ResponseEntity<?> reconcileTriggerAction(@Valid @RequestBody Reconciliati
6260
@Tag(name = "Reconciliation", description = "Reconciliation API")
6361
@PostMapping(value = "/transactions-reconcile", produces = "application/json")
6462
@PreAuthorize("hasRole(@securityConfig.getManagerRole()) or hasRole(@securityConfig.getAuditorRole())")
65-
public ResponseEntity<?> reconcileStart(@Valid @RequestBody ReconciliationFilterRequest body,
63+
public ResponseEntity<ReconciliationResponseView> reconcileStart(@Valid @RequestBody ReconciliationFilterRequest body,
6664
@RequestParam(name = "page", defaultValue = "0") int page,
6765
@RequestParam(name = "limit", defaultValue = "10") int limit) {
6866
body.setLimit(limit);
6967
body.setPage(page);
7068

71-
val reconciliationResponseView = accountingCorePresentationService.allReconciliationTransaction(body);
69+
ReconciliationResponseView reconciliationResponseView = accountingCorePresentationService.allReconciliationTransaction(body);
7270

7371
return ResponseEntity.ok().body(reconciliationResponseView);
7472
}
@@ -81,7 +79,7 @@ public ResponseEntity<?> reconcileStart(@Valid @RequestBody ReconciliationFilter
8179
@Tag(name = "Reconciliation", description = "Reconciliation API")
8280
@GetMapping(value = "/transactions-rejection-codes", produces = "application/json")
8381
@PreAuthorize("hasRole(@securityConfig.getManagerRole()) or hasRole(@securityConfig.getAuditorRole())")
84-
public ResponseEntity<?> reconciliationRejectionCode() {
82+
public ResponseEntity<ReconciliationRejectionCodeRequest[]> reconciliationRejectionCode() {
8583
return ResponseEntity.ok().body(ReconciliationRejectionCodeRequest.values());
8684
}
8785

0 commit comments

Comments
 (0)