예시
@Transactional
public void order(OrderRequestDto orderRequestDto, Long customerId) {
// orderService에서는 orderRepository에만 접근해야 함, 필요할 경우 productService단에 메소드 생성하여 불러오기
Product product = productRepository.findById(orderRequestDto.getProductId())
.orElseThrow(() -> new CustomException(ExceptionStatus.Product_IS_NOT_EXIST));
// 위와 마찬가지
User customer = userRepository.findById(customerId)
.orElseThrow(() -> new CustomException(ExceptionStatus.USER_IS_NOT_EXIST));
// 주문시 고객이 결제.
customer.payForOrder(product.getProductPrice(), orderRequestDto.getQuantity());
product.subtractQuantity(orderRequestDto.getQuantity());
Orders order = new Orders(product.getSellerId(), product.getId(), customerId, orderRequestDto.getQuantity());
orderRepository.save(order);
userRepository.save(customer);
productRepository.save(product);
}
내용 추가 필요