using LiveForum.Code.Base;
using LiveForum.Code.JwtInfrastructure;
using LiveForum.IService.Cdk;
using LiveForum.Model.Dto.Cdk;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
namespace LiveForum.WebApi.Controllers
{
///
/// CDK激活相关接口
///
[Route("api/[controller]/[action]")]
[ApiController]
[Authorize]
public class CdkController : ControllerBase
{
private readonly ICdkService _cdkService;
private readonly JwtUserInfoModel _userInfoModel;
///
/// 构造函数
///
/// CDK服务
/// 用户信息模型
public CdkController(ICdkService cdkService, JwtUserInfoModel userInfoModel)
{
_cdkService = cdkService;
_userInfoModel = userInfoModel;
}
///
/// 检查CDK状态
/// GET /api/cdk/check-status
///
/// CDK状态信息
[HttpGet]
[ActionName("check-status")]
public async Task> CheckStatus()
{
var userId = _userInfoModel.UserId;
if (userId <= 0)
{
return new BaseResponse(ResponseCode.Unauthorized, "用户未登录");
}
var status = await _cdkService.CheckCdkStatusAsync(userId);
return new BaseResponse(status);
}
///
/// 激活CDK
/// POST /api/cdk/activate
///
/// 激活请求
/// 激活结果
[HttpPost]
public async Task> Activate([FromBody] CdkActivateReq request)
{
var userId = _userInfoModel.UserId;
if (userId <= 0)
{
return new BaseResponse