import request from '@/utils/request';
import { AxiosPromise } from 'axios';
import {AskVO} from "@/api/ai/skill/aiChat/types";

// AI报表分析生成SQL语句API
export const generateReportSql = (query?: AskVO): AxiosPromise<AskVO[]> => {
  return request({
    url: '/ai/aiReport/generateReportSql',
    method: 'post',
    params: query,
    timeout: 1000000
  });
};

// AI报表分析API
export function generateReport(data) {
  return request({
    url: '/ai/aiReport/generateReport',
    method: 'post',
    data
  })
}

// 获取最新AI生成报表信息
export function getRecentReports() {
  return request({
    url: '/ai/aiReport/getRecentReports',
    method: 'get'
  })
}


/**
 * 根据sessionid和messagedetailtype获取最新一条AI生成报表详细给信息
 * @param query
 * @returns {*}
 */
export function getRecentReportInfo (query) {
  return request({
    url: '/ai/aiReport/getRecentReportInfo',
    method: 'get',
    params: query
  });
};




// 测试报表分析API
export function generateTestReport(data) {
  return request({
    url: '/ai/aiReport/generateTestReport',
    method: 'post',
    data
  })
}

// 获取快速体验示例
export function getQuickExamples() {
  return request({
    url: '/ai/aiReport/examples',
    method: 'get'
  })
}

// 生成SQL（测试用）
export function generateSQL(prompt) {
  return request({
    url: '/ai/aiReport/generate-sql',
    method: 'post',
    params: { prompt }
  })
}

// 生成HTML（测试用）
export function generateHTML(prompt) {
  return request({
    url: '/ai/aiReport/generate-html',
    method: 'post',
    params: { prompt }
  })
}

// 健康检查
export function healthCheck() {
  return request({
    url: '/ai/aiReport/health',
    method: 'get'
  })
}
