feat: add self-operated analytics and enforce Lastleg module boundaries

This commit is contained in:
2026-10-12 20:27:35 +08:00
parent c06e788b0f
commit a1f1d93902
174 changed files with 13514 additions and 490 deletions
@@ -0,0 +1,17 @@
package com.baiyue.lastleg.transfer.gateway;
import com.baiyue.common.core.api.ApiResponse;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestHeader;
import java.util.List;
/** Authoritative warehouse catalog for resolving the frozen transfer destination. */
@FeignClient(name = "warehouse-service", contextId = "transferWarehouseCatalogClient",
url = "${baiyue.clients.domestic-warehouse.url:}")
public interface TransferWarehouseCatalogClient {
@GetMapping("/internal/warehouses/order-catalog")
ApiResponse<List<Warehouse>> activeWarehouses(@RequestHeader("X-Internal-Service-Token") String token);
record Warehouse(Long id, String warehouseCode, String warehouseName, String warehouseType, String countryCode) { }
}
@@ -2,7 +2,7 @@ package com.baiyue.lastleg.transfer.service;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.baiyue.lastleg.client.DomesticWarehouseDirectoryClient;
import com.baiyue.lastleg.fleet.driver.FleetWarehouseClient;
import com.baiyue.lastleg.transfer.gateway.TransferWarehouseCatalogClient;
import com.baiyue.lastleg.inboundplan.pda.gateway.WarehouseResourceGateway;
import com.baiyue.lastleg.transfer.dto.WarehouseTransferRequests;
import com.baiyue.lastleg.transfer.dto.WarehouseTransferResponses;
@@ -41,7 +41,7 @@ public class WarehouseTransferReceiptCoordinator {
@Resource private WarehouseTransferReceiptCommandMapper commands;
@Resource private WarehouseResourceGateway warehouse;
@Resource private DomesticWarehouseDirectoryClient directory;
@Resource private FleetWarehouseClient catalog;
@Resource private TransferWarehouseCatalogClient catalog;
@Resource private PlatformTransactionManager transactionManager;
@Resource private ObjectMapper objectMapper;
@Value("${baiyue.security.internal-service-token:}") private String internalToken;