“mitao”
2026-04-27 b82daad16c59c9770f6a0492e1a89514d41e6f71
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));
    }
}