40 lines
1.9 KiB
Java
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));
|
|
}
|
|
}
|