From 609a1931953b2298016bd2b0d6b410666b5ad7b9 Mon Sep 17 00:00:00 2001
From: rk <94314517@qq.com>
Date: 星期四, 02 七月 2026 09:19:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/3.0.1' into 3.0.1

---
 server/web/src/main/java/com/doumee/api/web/DouyinApi.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/server/web/src/main/java/com/doumee/api/web/DouyinApi.java b/server/web/src/main/java/com/doumee/api/web/DouyinApi.java
index 1559c60..be1cf40 100644
--- a/server/web/src/main/java/com/doumee/api/web/DouyinApi.java
+++ b/server/web/src/main/java/com/doumee/api/web/DouyinApi.java
@@ -7,6 +7,7 @@
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.douyin.DouyinClient;
 import com.doumee.core.douyin.dto.DouyinBaseResp;
+import com.doumee.core.douyin.dto.DouyinBoundProduct;
 import com.doumee.core.douyin.dto.DouyinPrepareParam;
 import com.doumee.core.douyin.dto.DouyinPrepareResp;
 import com.doumee.core.douyin.dto.DouyinShopPoiResp;
@@ -22,6 +23,8 @@
 import com.doumee.service.business.DouyinVerifyLogService;
 import com.doumee.service.business.DouyinVerifyService;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
@@ -88,6 +91,9 @@
     @PreventRepeat
     @ApiOperation("鎵爜涓�姝ユ牳閿�(楠屽埜鍑嗗 + 鏍搁攢鍚堝苟;鍓嶇鍙皟姝ゆ帴鍙�)")
     @PostMapping("/scanVerify")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
     public ApiResponse<DouyinVerifyRecord> scanVerify(@RequestBody DouyinPrepareParam param) {
         String apiPath = "/web/douyin/scanVerify";
         String memberId = getMemberId();
@@ -137,13 +143,19 @@
         verifyParam.setSkuId(cert.getSku().getSkuId());
         verifyParam.setPayAmount(cert.getAmount() == null ? null : cert.getAmount().getPayAmount());
 
-        // 鈶� 鏍搁攢 + 寮�濂楅(鍗曠嫭璁颁竴鏉� VERIFY 鏃ュ織)
+        // 鈶� 鏍搁攢鍓嶆牎楠�:鍟嗗搧鍦ㄥ簱 + 宸茬粦瀹氭湁鏁堝椁�;澶辫触鐩存帴鎷︽埅(鍒稿皻鏈牳閿�,閬垮厤鎶栭煶宸叉牳閿�浣嗘湰鍦版湭寮�鍗�)
+        DouyinBoundProduct boundProduct = douyinVerifyService.resolveBoundProduct(verifyParam.getSkuId());
+
+        // 鈶� 鏍搁攢 + 寮�濂楅(鍗曠嫭璁颁竴鏉� VERIFY 鏃ュ織)
         long verifyStart = System.currentTimeMillis();
         DouyinVerifyLog verifyLog = baseLog(Constants.DOUYIN_VERIFY_OPERATE_TYPE.VERIFY.getKey(), apiPath, verifyStart);
         verifyLog.setRawRequest(JSON.toJSONString(verifyParam));
         verifyLog.setPoiId(verifyParam.getPoiId());
         try {
-            DouyinVerifyRecord rec = douyinVerifyService.verify(verifyParam, memberId);
+            // 閫忎紶鏍搁攢鍓嶆牎楠岀粨鏋�,verify 鍐呬笉鍐嶉噸澶嶆煡璇㈠晢鍝�/濂楅
+            DouyinVerifyRecord rec = douyinVerifyService.verify(verifyParam, memberId, boundProduct);
+            // 闄勫甫鏈寮�閫氱殑濂楅鍗¤鎯�(渚涘墠绔牳閿�鍚庡睍绀哄椁愪俊鎭�)
+            douyinVerifyService.fillPackageInfo(rec);
             fillByRecord(verifyLog, rec);
             return ApiResponse.success(rec);
         } catch (Throwable e) {
@@ -173,6 +185,9 @@
     @LoginRequired
     @ApiOperation("鏍搁攢璁板綍鍒嗛〉")
     @PostMapping("/page")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
     public ApiResponse<PageData<DouyinVerifyRecord>> findPage(@RequestBody PageWrap<DouyinVerifyRecord> pageWrap) {
         return ApiResponse.success(douyinVerifyService.findPage(pageWrap));
     }
@@ -180,6 +195,9 @@
     @LoginRequired
     @ApiOperation("鏍搁攢璁板綍璇︽儏")
     @GetMapping("/{id}")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "header", dataType = "String", name = "token", value = "鐢ㄦ埛token鍊�", required = true),
+    })
     public ApiResponse<DouyinVerifyRecord> findById(@PathVariable String id) {
         return ApiResponse.success(douyinVerifyService.findById(id));
     }

--
Gitblit v1.9.3