From b82daad16c59c9770f6a0492e1a89514d41e6f71 Mon Sep 17 00:00:00 2001
From: “mitao” <“2763622819@qq.com”>
Date: 星期一, 27 四月 2026 18:58:06 +0800
Subject: [PATCH] fix:安卓推广码绑定

---
 tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/share/controller/OpenAppInviteController.java |   23 +++++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)

diff --git a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/share/controller/OpenAppInviteController.java b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/share/controller/OpenAppInviteController.java
index d87b59b..3dc5cc3 100644
--- a/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/share/controller/OpenAppInviteController.java
+++ b/tcm-training-admin-backend/src/main/java/com/tcm/training/admin/app/share/controller/OpenAppInviteController.java
@@ -1,13 +1,20 @@
 package com.tcm.training.admin.app.share.controller;
 
+import com.tcm.training.admin.app.share.dto.AppInviteBindTicketCreateRequest;
 import com.tcm.training.admin.app.share.service.AppShareService;
+import com.tcm.training.admin.app.share.vo.AppInviteBindTicketVO;
+import com.tcm.training.admin.app.share.vo.AppInviteBindTicketValidateVO;
 import com.tcm.training.admin.app.share.vo.AppInviteLandingVO;
 import com.tcm.training.admin.common.ApiResponse;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
+
+import javax.validation.Valid;
 
 /**
  * 邀请下载页公开接口。
@@ -33,4 +40,20 @@
     public ApiResponse<AppInviteLandingVO> getInviteLanding(@RequestParam(value = "inviteCode", required = false) String inviteCode) {
         return ApiResponse.ok(appShareService.getInviteLanding(inviteCode));
     }
+
+    /**
+     * 生成下载页继续注册使用的一次性绑定票据。
+     */
+    @PostMapping("/bind-ticket")
+    public ApiResponse<AppInviteBindTicketVO> createBindTicket(@Valid @RequestBody AppInviteBindTicketCreateRequest request) {
+        return ApiResponse.ok(appShareService.createBindTicket(request.getInviteCode()));
+    }
+
+    /**
+     * 校验绑定票据是否仍可用于注册绑定。
+     */
+    @GetMapping("/bind-ticket/validate")
+    public ApiResponse<AppInviteBindTicketValidateVO> validateBindTicket(@RequestParam("bindTicket") String bindTicket) {
+        return ApiResponse.ok(appShareService.validateBindTicket(bindTicket));
+    }
 }

--
Gitblit v1.7.1