package online.ruemu.franifer.reconciliation.controller; import online.ruemu.franifer.reconciliation.model.*; import online.ruemu.franifer.reconciliation.repo.*; import org.springframework.web.bind.annotation.*; import java.util.*; @RestController @RequestMapping("/api/reconciliation") @CrossOrigin(origins="*") public class ReconciliationController{private final ReconciliationRepository repo; public ReconciliationController(ReconciliationRepository r){repo=r;} @GetMapping Object all(){return repo.findAll();} @PostMapping("/compare") Object compare(@RequestBody Map<String,String>b){var r=new ReconciliationRecord();r.setTransactionReference(b.getOrDefault("transactionReference","UNKNOWN"));r.setInternalStatus(b.getOrDefault("internalStatus","UNKNOWN"));r.setProviderStatus(b.getOrDefault("providerStatus","UNKNOWN"));boolean m=r.getInternalStatus().equalsIgnoreCase(r.getProviderStatus());r.setMatched(m);r.setNote(m?"Internal ledger agrees with provider.":"Mismatch detected — review or recovery required.");return repo.save(r);}}