OrderClient.java 777 Bytes
package com.ecommerce.payment.client;

import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

@FeignClient(name = "order-service", path = "/api/orders")
public interface OrderClient {
    
    @GetMapping("/number/{orderNumber}")
    Map<String, Object> getOrderByNumber(@PathVariable("orderNumber") String orderNumber);
    
    @PutMapping("/number/{orderNumber}/status")
    Map<String, Object> updateOrderStatus(@PathVariable("orderNumber") String orderNumber,
                                         @RequestBody Map<String, String> request);
    
    @GetMapping("/number/{orderNumber}/payment-status")
    Map<String, Object> getPaymentStatus(@PathVariable("orderNumber") String orderNumber);
}