| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- package com.oms.controller;
- import com.oms.common.ApiResponse;
- import com.oms.dto.ShippingOrderDTO;
- import com.oms.entity.ShippingOrder;
- import com.oms.service.ShippingOrderService;
- import lombok.RequiredArgsConstructor;
- import org.springframework.web.bind.annotation.*;
- import java.util.List;
- @RestController
- @RequestMapping("/order/shipping-orders")
- @RequiredArgsConstructor
- public class ShippingOrderController {
- private final ShippingOrderService shippingOrderService;
- @GetMapping
- public ApiResponse<List<ShippingOrder>> getShippingOrders(
- @RequestParam(defaultValue = "1") int page,
- @RequestParam(defaultValue = "20") int size) {
- return ApiResponse.success(shippingOrderService.getPage(page, size).getRecords());
- }
- @GetMapping("/all")
- public ApiResponse<List<ShippingOrder>> getAll() {
- return ApiResponse.success(shippingOrderService.getAll());
- }
- @GetMapping("/{id}")
- public ApiResponse<ShippingOrderDTO> getById(@PathVariable Long id) {
- return ApiResponse.success(shippingOrderService.getDtoById(id));
- }
- @GetMapping("/shipment-no/{shipmentNo}")
- public ApiResponse<ShippingOrder> getByShipmentNo(@PathVariable String shipmentNo) {
- return ApiResponse.success(shippingOrderService.getByShipmentNo(shipmentNo));
- }
- @PostMapping
- public ApiResponse<Long> create(@RequestBody ShippingOrder shippingOrder) {
- return ApiResponse.success(shippingOrderService.save(shippingOrder));
- }
- @PutMapping("/{id}")
- public ApiResponse<Void> update(@PathVariable Long id, @RequestBody ShippingOrder shippingOrder) {
- shippingOrder.setId(id);
- shippingOrderService.update(shippingOrder);
- return ApiResponse.success(null);
- }
- @DeleteMapping("/{id}")
- public ApiResponse<Void> delete(@PathVariable Long id) {
- shippingOrderService.delete(id);
- return ApiResponse.success(null);
- }
- @PostMapping("/{id}/submit-tracking")
- public ApiResponse<Void> submitTracking(@PathVariable Long id, @RequestParam String carrier, @RequestParam String trackingNo) {
- shippingOrderService.submitTracking(id, carrier, trackingNo, "SYSTEM");
- return ApiResponse.success(null);
- }
- @PostMapping("/{id}/confirm-shipped")
- public ApiResponse<Void> confirmShipped(@PathVariable Long id) {
- shippingOrderService.confirmShipped(id, "SYSTEM");
- return ApiResponse.success(null);
- }
- @PostMapping("/{id}/retry-return")
- public ApiResponse<Void> retryReturn(@PathVariable Long id) {
- shippingOrderService.retryReturn(id);
- return ApiResponse.success(null);
- }
- }
|