From 91f31d956726162b26759fc2ada1ea58f5d134bf Mon Sep 17 00:00:00 2001 From: ouyangxq <775153912@qq.com> Date: Fri, 7 Aug 2026 17:14:40 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/sql/头程数据库统一增量-MySQL8.sql | 4 + .../firstleg/client/PrintPdfClient.java | 32 +++++++ .../PlatformInboundOrderController.java | 24 +++++ .../dto/InboundMeasurementResponses.java | 1 + .../mapper/PriceBookChannelMapper.java | 8 +- .../InboundMeasurementRepository.java | 7 ++ .../repository/InboundWorkflowRepository.java | 11 +++ .../repository/PriceBookRepository.java | 2 +- .../service/CartonMeasurementService.java | 14 ++- .../InboundCartonLabelPrintService.java | 91 +++++++++++++++++++ .../service/InboundMeasurementService.java | 1 + .../service/MeasurementReviewService.java | 11 +++ firstleg/src/main/resources/application.yml | 2 + .../resources/db/phase2-inbound-schema.sql | 4 + .../InboundOrderControllerContractTest.java | 3 + .../mapper/PriceBookChannelMapperTest.java | 22 +++++ .../repository/PriceBookSqlContractTest.java | 9 ++ .../service/CartonMeasurementServiceTest.java | 3 +- .../InboundCartonLabelPrintServiceTest.java | 89 ++++++++++++++++++ .../service/MeasurementReviewServiceTest.java | 23 +++++ 20 files changed, 354 insertions(+), 7 deletions(-) create mode 100644 firstleg/src/main/java/com/baiyue/firstleg/client/PrintPdfClient.java create mode 100644 firstleg/src/main/java/com/baiyue/firstleg/service/InboundCartonLabelPrintService.java create mode 100644 firstleg/src/test/java/com/baiyue/firstleg/mapper/PriceBookChannelMapperTest.java create mode 100644 firstleg/src/test/java/com/baiyue/firstleg/service/InboundCartonLabelPrintServiceTest.java diff --git a/deploy/sql/头程数据库统一增量-MySQL8.sql b/deploy/sql/头程数据库统一增量-MySQL8.sql index 9b2ad6089..bc33156b2 100644 --- a/deploy/sql/头程数据库统一增量-MySQL8.sql +++ b/deploy/sql/头程数据库统一增量-MySQL8.sql @@ -3189,8 +3189,12 @@ CREATE TABLE IF NOT EXISTS fl_price_book_channel ( reference_transit VARCHAR(128) NULL COMMENT '参考时效', surcharge_description VARCHAR(2000) NULL COMMENT '附加费说明,仅展示', remark VARCHAR(2000) NULL COMMENT '渠道备注', + created_by BIGINT UNSIGNED NOT NULL COMMENT '创建人ID', created_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3), + updated_by BIGINT UNSIGNED NOT NULL COMMENT '最后修改人ID', updated_at DATETIME(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3), + deleted TINYINT(1) NOT NULL DEFAULT 0 COMMENT '逻辑删除标记', + version INT NOT NULL DEFAULT 0 COMMENT '乐观锁版本号', PRIMARY KEY (id), UNIQUE KEY uk_price_book_channel (price_book_version_id, channel_code), KEY idx_price_book_channel_code (channel_code, price_book_version_id) diff --git a/firstleg/src/main/java/com/baiyue/firstleg/client/PrintPdfClient.java b/firstleg/src/main/java/com/baiyue/firstleg/client/PrintPdfClient.java new file mode 100644 index 000000000..c15672df4 --- /dev/null +++ b/firstleg/src/main/java/com/baiyue/firstleg/client/PrintPdfClient.java @@ -0,0 +1,32 @@ +package com.baiyue.firstleg.client; + +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestHeader; + +import java.math.BigDecimal; +import java.util.List; + +/** Print Service contract for stateless inbound carton label rendering. */ +@FeignClient(name = "print-service", contextId = "firstlegPrintPdfClient", + url = "${baiyue.clients.print.url:}", path = "/internal/print/v1/pdfs") +public interface PrintPdfClient { + @PostMapping(value = "/inbound-marks", consumes = "application/json") + ResponseEntity generateInboundMarks( + @RequestHeader("X-Internal-Service-Token") String token, + @RequestHeader(value = "X-Request-Id", required = false) String requestId, + @RequestBody InboundMarkPdfRequest request); + + record InboundMarkPdfRequest(String templateCode, PageSpec pageSpec, + String downloadFileName, List