From dd22571b369970b35ca6c48f32010e2876b43d25 Mon Sep 17 00:00:00 2001
From: yeg <1347747024@qq.com>
Date: 星期四, 17 九月 2026 15:48:11 +0800
Subject: [PATCH] feat(verification): 核销码轮换放宽与手输 6 位数字码核销

---
 talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantWorkController.java |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)

diff --git a/talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantWorkController.java b/talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantWorkController.java
index 6cdb0c7..e6f2963 100644
--- a/talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantWorkController.java
+++ b/talent-card-server/src/main/java/com/talentcard/server/business/merchant/MerchantWorkController.java
@@ -160,6 +160,21 @@
 	}
 
 	/**
+	 * 手输 6 位数字核销码之后的确认核销({@code POST /verification/scan} 的数字码分支)。
+	 *
+	 * <p>这条路不能复用 {@code POST /orders/{orderNo}/verify}:数字码的扫码答复刻意不返回订单号,
+	 * 客户端拿不到;服务端从扫码尝试反查订单后再走同一套核销实现。
+	 */
+	@PostMapping("/verification/numeric/confirm")
+	public ApiResponse<Map<String, Object>> confirmNumericVerification(
+			@RequestAttribute(MerchantAuthService.PRINCIPAL_ATTRIBUTE) MerchantPrincipal principal,
+			@RequestBody Map<String, String> body,
+			@RequestHeader(value = "X-Idempotency-Key", required = false) String idempotencyKey
+	) {
+		return ApiResponse.success(merchantWorkService.confirmNumericVerification(principal, body.get("verificationId"), idempotencyKey));
+	}
+
+	/**
 	 * 免费入住券核销。涉及支付的订单核销走 {@code POST /orders/{orderNo}/verify}:
 	 * 核销要写记录并确认延迟入账的资金,与不涉及支付的免费入住券是两条不同的线。
 	 */

--
Gitblit v1.7.1