package admin.rest;

import admin.model.MaxKbChatReq;
import admin.model.SendSseModel;
import admin.model.python.PythonApiReq;
import admin.resp.ApiResponse;
import admin.resp.PythonResp;
import admin.service.DeepSeekOpenApiService;
import admin.service.MaxkbOpenApiService;
import admin.service.OpenConnectService;
import admin.service.PythonOpenApiClient;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;

import javax.websocket.Session;
import java.util.List;

/**
 * @author lj
 * @date 2025/2/23 13:35
 */
@RestController
@RequestMapping(value = "v1/openApi/")
@RequiredArgsConstructor
@Slf4j
public class OpenApiController {


    private final PythonOpenApiClient pythonOpenApiClient;
    private final OpenConnectService openConnectService;

    @GetMapping("testAnalysis")
    public ApiResponse<Object> testAnalysis(PythonApiReq pythonApiReq){
        PythonResp analysisData = pythonOpenApiClient.getAnalysisData(pythonApiReq);
        return ApiResponse.buildSuccess(analysisData);
    }


    /**
     * 相似问题
     * @param pythonApiReq
     * @return
     */
    @PostMapping("similarProblems")
    public ApiResponse<Object> similarProblems(@RequestBody PythonApiReq pythonApiReq){
        List<String> similarProblems = pythonOpenApiClient.getSimilarProblems(pythonApiReq);
        return ApiResponse.buildSuccess(similarProblems);
    }

    @GetMapping("webOnOpen")
    public ApiResponse<Object> webOnOpen(@RequestParam String name,@RequestParam String action){
        openConnectService.popUpEvent(name,action);
        return ApiResponse.buildSuccess();
    }
}