Files
baiyue-firstleg/warehouse-overseas-service/src/main/java/com/baiyue/warehouse/controller/InternalPdaPalletTransitionController.java
T

40 lines
1.9 KiB
Java

package com.baiyue.warehouse.controller;
import com.baiyue.common.core.api.ApiResponse;
import com.baiyue.warehouse.dto.PalletTransitionRequests;
import com.baiyue.warehouse.dto.PalletTransitionResponse;
import com.baiyue.warehouse.security.InternalServiceTokenGuard;
import com.baiyue.warehouse.service.WarehousePalletTransitionService;
import jakarta.annotation.Resource;
import jakarta.validation.Valid;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/internal/v1/pda-pallet-transitions")
public class InternalPdaPalletTransitionController {
@Resource private InternalServiceTokenGuard tokenGuard;
@Resource private WarehousePalletTransitionService service;
@PostMapping("/{palletId}")
public ApiResponse<PalletTransitionResponse> apply(
@RequestHeader(value = "X-Internal-Service-Token", required = false) String token,
@PathVariable long palletId, @Valid @RequestBody PalletTransitionRequests.Apply request) {
tokenGuard.verify(token);
return ApiResponse.success(service.apply(palletId, request));
}
@PostMapping("/{palletId}/{operationKey}/compensate")
public ApiResponse<PalletTransitionResponse> compensate(
@RequestHeader(value = "X-Internal-Service-Token", required = false) String token,
@PathVariable long palletId, @PathVariable String operationKey,
@Valid @RequestBody PalletTransitionRequests.Compensate request) {
tokenGuard.verify(token);
return ApiResponse.success(service.compensate(palletId, operationKey, request));
}
}