ClientID for orders

This commit is contained in:
2025-06-08 10:25:36 +02:00
parent 190083c133
commit 81cbc1f4b2
4 changed files with 37 additions and 25 deletions

View File

@@ -2,14 +2,16 @@ package _11.asktpk.artisanconnectbackend.controller;
import _11.asktpk.artisanconnectbackend.dto.*; import _11.asktpk.artisanconnectbackend.dto.*;
import _11.asktpk.artisanconnectbackend.entities.Order; import _11.asktpk.artisanconnectbackend.entities.Order;
import _11.asktpk.artisanconnectbackend.service.ClientService;
import _11.asktpk.artisanconnectbackend.service.OrderService; import _11.asktpk.artisanconnectbackend.service.OrderService;
import _11.asktpk.artisanconnectbackend.service.PaymentService; import _11.asktpk.artisanconnectbackend.service.PaymentService;
import _11.asktpk.artisanconnectbackend.utils.Enums; import _11.asktpk.artisanconnectbackend.utils.Enums;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import static _11.asktpk.artisanconnectbackend.utils.Tools.getClientIdFromRequest;
@RestController @RestController
@RequestMapping("/api/v1/orders") @RequestMapping("/api/v1/orders")
public class OrderController { public class OrderController {
@@ -23,19 +25,20 @@ public class OrderController {
} }
@PostMapping("/add") @PostMapping("/add")
public ResponseEntity addClient(@RequestBody OrderDTO orderDTO) { public ResponseEntity<?> addClient(@RequestBody OrderDTO orderDTO, HttpServletRequest request) {
return new ResponseEntity<>(orderService.addOrder(orderDTO), HttpStatus.CREATED); orderDTO.setClientId(getClientIdFromRequest(request));
return ResponseEntity.status(HttpStatus.CREATED).body(orderService.addOrder(orderDTO));
} }
@PutMapping("/changeStatus") @PutMapping("/changeStatus")
public ResponseEntity changeStatus(@RequestBody OrderStatusDTO orderStatusDTO) { public ResponseEntity<?> changeStatus(@RequestBody OrderStatusDTO orderStatusDTO) {
return new ResponseEntity<>(orderService.changeOrderStatus(orderStatusDTO.getId(),orderStatusDTO.getStatus()), HttpStatus.OK); return ResponseEntity.status(HttpStatus.OK).body(orderService.changeOrderStatus(orderStatusDTO.getId(), orderStatusDTO.getStatus()));
} }
@PostMapping("/token") @PostMapping("/token")
public ResponseEntity<?> fetchToken() { public ResponseEntity<?> fetchToken() {
Order order = orderService.getOrderById(1L); Order order = orderService.getOrderById(1L);
OAuthPaymentResponseDTO authPaymentDTO= paymentService.getOAuthToken(); OAuthPaymentResponseDTO authPaymentDTO = paymentService.getOAuthToken();
TransactionPaymentRequestDTO.Payer payer = new TransactionPaymentRequestDTO.Payer( TransactionPaymentRequestDTO.Payer payer = new TransactionPaymentRequestDTO.Payer(
"patryk@test.pl", "Patryk Test"); "patryk@test.pl", "Patryk Test");
@@ -44,10 +47,10 @@ public class OrderController {
TransactionPaymentRequestDTO request = new TransactionPaymentRequestDTO( TransactionPaymentRequestDTO request = new TransactionPaymentRequestDTO(
order.getAmount(), paymentDescription, payer); order.getAmount(), paymentDescription, payer);
String response = paymentService.createTransaction(order,authPaymentDTO.getAccess_token(), request); String response = paymentService.createTransaction(order, authPaymentDTO.getAccess_token(), request);
System.out.println(response); System.out.println(response);
System.out.println(request); System.out.println(request);
return ResponseEntity.ok(response); return ResponseEntity.status(HttpStatus.OK).body(response);
} }
} }

View File

@@ -2,7 +2,6 @@ package _11.asktpk.artisanconnectbackend.controller;
import _11.asktpk.artisanconnectbackend.dto.NoticeDTO; import _11.asktpk.artisanconnectbackend.dto.NoticeDTO;
import _11.asktpk.artisanconnectbackend.dto.RequestResponseDTO; import _11.asktpk.artisanconnectbackend.dto.RequestResponseDTO;
import _11.asktpk.artisanconnectbackend.security.JwtUtil;
import _11.asktpk.artisanconnectbackend.service.ClientService; import _11.asktpk.artisanconnectbackend.service.ClientService;
import _11.asktpk.artisanconnectbackend.service.NoticeService; import _11.asktpk.artisanconnectbackend.service.NoticeService;
import _11.asktpk.artisanconnectbackend.service.WishlistService; import _11.asktpk.artisanconnectbackend.service.WishlistService;
@@ -13,6 +12,8 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
import static _11.asktpk.artisanconnectbackend.utils.Tools.getClientIdFromRequest;
@Slf4j @Slf4j
@RestController @RestController
@RequestMapping("/api/v1/wishlist") @RequestMapping("/api/v1/wishlist")
@@ -20,13 +21,11 @@ public class WishlistController {
private final WishlistService wishlistService; private final WishlistService wishlistService;
private final ClientService clientService; private final ClientService clientService;
private final NoticeService noticeService; private final NoticeService noticeService;
private final JwtUtil jwtUtil;
public WishlistController(WishlistService wishlistService, ClientService clientService, NoticeService noticeService, JwtUtil jwtUtil) { public WishlistController(WishlistService wishlistService, ClientService clientService, NoticeService noticeService) {
this.wishlistService = wishlistService; this.wishlistService = wishlistService;
this.clientService = clientService; this.clientService = clientService;
this.noticeService = noticeService; this.noticeService = noticeService;
this.jwtUtil = jwtUtil;
} }
@PostMapping("/toggle/{noticeId}") @PostMapping("/toggle/{noticeId}")
@@ -59,15 +58,4 @@ public class WishlistController {
Long clientId = getClientIdFromRequest(request); Long clientId = getClientIdFromRequest(request);
return wishlistService.getNoticesInWishlist(clientId); return wishlistService.getNoticesInWishlist(clientId);
} }
private Long getClientIdFromRequest(HttpServletRequest request) {
String authorizationHeader = request.getHeader("Authorization");
if (authorizationHeader != null && authorizationHeader.startsWith("Bearer ")) {
Long clientId = jwtUtil.extractUserId(authorizationHeader.substring(7));
log.info("Client Id: {}", clientId);
return clientId;
} else {
return null;
}
}
} }

View File

@@ -56,8 +56,7 @@ public class OrderService {
public Long addOrder(OrderDTO orderDTO) { public Long addOrder(OrderDTO orderDTO) {
Order order = fromDTO(orderDTO); return orderRepository.save(fromDTO(orderDTO)).getId();
return orderRepository.save(order).getId();
} }
public Long changeOrderStatus(Long id, Enums.OrderStatus status) { public Long changeOrderStatus(Long id, Enums.OrderStatus status) {

View File

@@ -0,0 +1,22 @@
package _11.asktpk.artisanconnectbackend.utils;
import _11.asktpk.artisanconnectbackend.security.JwtUtil;
import jakarta.servlet.http.HttpServletRequest;
public class Tools {
private static JwtUtil jwtUtil = null;
public Tools(JwtUtil jwtUtil) {
Tools.jwtUtil = jwtUtil;
}
static public Long getClientIdFromRequest(HttpServletRequest request) {
String authorizationHeader = request.getHeader("Authorization");
if (authorizationHeader != null && authorizationHeader.startsWith("Bearer ")) {
return jwtUtil.extractUserId(authorizationHeader.substring(7));
} else {
return null;
}
}
}