From 2050ff35f4801ef5b00903a772c49f9dda194343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joe=20K=C3=BCng?= Date: Wed, 4 Mar 2026 15:12:28 +0100 Subject: [PATCH 1/2] feat(back-end and front-end) email --- .../controller/admin/AdminOrderController.java | 7 +++++-- .../printcalculator/service/PaymentService.java | 16 ++++++++++++++++ .../admin/pages/admin-dashboard.component.html | 8 +++----- .../admin/pages/admin-dashboard.component.ts | 6 +++--- .../admin/services/admin-orders.service.ts | 2 +- 5 files changed, 28 insertions(+), 11 deletions(-) diff --git a/backend/src/main/java/com/printcalculator/controller/admin/AdminOrderController.java b/backend/src/main/java/com/printcalculator/controller/admin/AdminOrderController.java index 9e8e134..764940d 100644 --- a/backend/src/main/java/com/printcalculator/controller/admin/AdminOrderController.java +++ b/backend/src/main/java/com/printcalculator/controller/admin/AdminOrderController.java @@ -101,13 +101,16 @@ public class AdminOrderController { @PostMapping("/{orderId}/payments/confirm") @Transactional - public ResponseEntity confirmPayment( + public ResponseEntity updatePaymentMethod( @PathVariable UUID orderId, @RequestBody(required = false) Map payload ) { getOrderOrThrow(orderId); String method = payload != null ? payload.get("method") : null; - paymentService.confirmPayment(orderId, method); + if (method == null || method.isBlank()) { + throw new ResponseStatusException(BAD_REQUEST, "Payment method is required"); + } + paymentService.updatePaymentMethod(orderId, method); return ResponseEntity.ok(toOrderDto(getOrderOrThrow(orderId))); } diff --git a/backend/src/main/java/com/printcalculator/service/PaymentService.java b/backend/src/main/java/com/printcalculator/service/PaymentService.java index 5087bb6..23b907c 100644 --- a/backend/src/main/java/com/printcalculator/service/PaymentService.java +++ b/backend/src/main/java/com/printcalculator/service/PaymentService.java @@ -98,4 +98,20 @@ public class PaymentService { return payment; } + + @Transactional + public Payment updatePaymentMethod(UUID orderId, String method) { + if (method == null || method.isBlank()) { + throw new IllegalArgumentException("Payment method is required"); + } + + Order order = orderRepo.findById(orderId) + .orElseThrow(() -> new RuntimeException("Order not found with id " + orderId)); + + Payment payment = paymentRepo.findByOrder_Id(orderId) + .orElseGet(() -> getOrCreatePaymentForOrder(order, "OTHER")); + + payment.setMethod(method.trim().toUpperCase()); + return paymentRepo.save(payment); + } } diff --git a/frontend/src/app/features/admin/pages/admin-dashboard.component.html b/frontend/src/app/features/admin/pages/admin-dashboard.component.html index e6ad060..d3dc0e8 100644 --- a/frontend/src/app/features/admin/pages/admin-dashboard.component.html +++ b/frontend/src/app/features/admin/pages/admin-dashboard.component.html @@ -163,12 +163,10 @@ diff --git a/frontend/src/app/features/admin/pages/admin-dashboard.component.ts b/frontend/src/app/features/admin/pages/admin-dashboard.component.ts index 8a3c23e..74dbd4c 100644 --- a/frontend/src/app/features/admin/pages/admin-dashboard.component.ts +++ b/frontend/src/app/features/admin/pages/admin-dashboard.component.ts @@ -132,14 +132,14 @@ export class AdminDashboardComponent implements OnInit { }); } - confirmPayment(): void { + updatePaymentMethod(): void { if (!this.selectedOrder || this.confirmingPayment) { return; } this.confirmingPayment = true; this.adminOrdersService - .confirmPayment(this.selectedOrder.id, this.selectedPaymentMethod) + .updatePaymentMethod(this.selectedOrder.id, this.selectedPaymentMethod) .subscribe({ next: (updatedOrder) => { this.confirmingPayment = false; @@ -147,7 +147,7 @@ export class AdminDashboardComponent implements OnInit { }, error: () => { this.confirmingPayment = false; - this.errorMessage = 'Conferma pagamento non riuscita.'; + this.errorMessage = 'Aggiornamento metodo pagamento non riuscito.'; }, }); } diff --git a/frontend/src/app/features/admin/services/admin-orders.service.ts b/frontend/src/app/features/admin/services/admin-orders.service.ts index 58f37ad..39225fe 100644 --- a/frontend/src/app/features/admin/services/admin-orders.service.ts +++ b/frontend/src/app/features/admin/services/admin-orders.service.ts @@ -59,7 +59,7 @@ export class AdminOrdersService { }); } - confirmPayment(orderId: string, method: string): Observable { + updatePaymentMethod(orderId: string, method: string): Observable { return this.http.post( `${this.baseUrl}/${orderId}/payments/confirm`, { method }, From 57360bacd056f84d88b18e05e4cbdfb8df54b66e Mon Sep 17 00:00:00 2001 From: printcalc-ci Date: Wed, 4 Mar 2026 14:21:33 +0000 Subject: [PATCH 2/2] style: apply prettier formatting --- .../app/features/admin/pages/admin-dashboard.component.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/frontend/src/app/features/admin/pages/admin-dashboard.component.html b/frontend/src/app/features/admin/pages/admin-dashboard.component.html index d3dc0e8..a8696f9 100644 --- a/frontend/src/app/features/admin/pages/admin-dashboard.component.html +++ b/frontend/src/app/features/admin/pages/admin-dashboard.component.html @@ -166,7 +166,9 @@ (click)="updatePaymentMethod()" [disabled]="confirmingPayment" > - {{ confirmingPayment ? "Salvataggio..." : "Cambia metodo pagamento" }} + {{ + confirmingPayment ? "Salvataggio..." : "Cambia metodo pagamento" + }}