package org.dromara.web.controller;

import cn.dev33.satoken.annotation.SaIgnore;
import org.dromara.common.core.domain.R;
import org.dromara.common.core.validate.inner.InnerOnly;
import org.dromara.web.domain.oneAPI.CallbackReq;
import org.dromara.web.domain.oneAPI.PreCheckReq;
import org.dromara.web.domain.oneAPI.PreCheckResp;
import org.dromara.web.service.IAiBillingService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/inner")
public class AiOneApiController {

    @Autowired
    private IAiBillingService billingService;

    @SaIgnore
    @InnerOnly
// 原第23行：[BUG-2] preCheck 仅靠已失效的 @InnerOnly，无任何鉴权
    @PostMapping("/billing/preCheck")
    public R<PreCheckResp> preCheck(@RequestBody @Validated PreCheckReq req) {
        return billingService.preCheck(req);
    }

    @SaIgnore
    @InnerOnly
// 原第30行：[BUG-2] callback 仅靠已失效的 @InnerOnly
    @PostMapping("/billing/callback")
    public R<Void> callback(@RequestBody @Validated CallbackReq req) {
        return billingService.callback(req);
    }
}
