From 3e2f9594cc02c47994f268c909e75979e4ebe898 Mon Sep 17 00:00:00 2001 From: xs Date: Fri, 5 Sep 2025 16:46:01 +0800 Subject: [PATCH] =?UTF-8?q?1.5.3=E5=89=8D=E7=AB=AF=20AI=E7=94=9F=E6=88=90S?= =?UTF-8?q?QL=E8=A1=A8=E4=BF=A1=E6=81=AF=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/ai/base/aiSqlTable/index.ts | 126 +++++++++++ src/api/ai/base/aiSqlTable/types.ts | 128 +++++++++++ src/api/ai/skill/aiChat/index.ts | 19 +- src/api/ai/skill/aiChat/types.ts | 13 +- src/views/ai/base/aiSqlTable/index.vue | 271 +++++++++++++++++++++++ src/views/ai/base/common/importTable.vue | 141 ++++++++++++ 6 files changed, 686 insertions(+), 12 deletions(-) create mode 100644 src/api/ai/base/aiSqlTable/index.ts create mode 100644 src/api/ai/base/aiSqlTable/types.ts create mode 100644 src/views/ai/base/aiSqlTable/index.vue create mode 100644 src/views/ai/base/common/importTable.vue diff --git a/src/api/ai/base/aiSqlTable/index.ts b/src/api/ai/base/aiSqlTable/index.ts new file mode 100644 index 0000000..a311eb2 --- /dev/null +++ b/src/api/ai/base/aiSqlTable/index.ts @@ -0,0 +1,126 @@ +import request from '@/utils/request'; +import { AxiosPromise } from 'axios'; +import { AiSqlTableVO, AiSqlTableForm, AiSqlTableQuery,DbTableQuery,DbTableVO } from '@/api/ai/base/aiSqlTable/types'; + +/** + * 查询AI生成sql信息列表 + * @param query + * @returns {*} + */ + +export const listAiSqlTable = (query?: AiSqlTableQuery): AxiosPromise => { + return request({ + url: '/ai/aiSqlTable/list', + method: 'get', + params: query + }); +}; + +/** + * 查询AI生成sql信息详细 + * @param tableId + */ +export const getAiSqlTable = (tableId: string | number): AxiosPromise => { + return request({ + url: '/ai/aiSqlTable/' + tableId, + method: 'get' + }); +}; + +/** + * 新增AI生成sql信息 + * @param data + */ +export const addAiSqlTable = (data: AiSqlTableForm) => { + return request({ + url: '/ai/aiSqlTable', + method: 'post', + data: data + }); +}; + +/** + * 修改AI生成sql信息 + * @param data + */ +export const updateAiSqlTable = (data: AiSqlTableForm) => { + return request({ + url: '/ai/aiSqlTable', + method: 'put', + data: data + }); +}; + +/** + * 删除AI生成sql信息 + * @param tableId + */ +export const delAiSqlTable = (tableId: string | number | Array) => { + return request({ + url: '/ai/aiSqlTable/' + tableId, + method: 'delete' + }); +}; + + +/** + * 下拉框查询AI生成sql信息列表 + * @param query + * @returns {*} + */ +export function getAiSqlTableList (query) { + return request({ + url: '/ai/aiSqlTable/getAiSqlTableList', + method: 'get', + params: query + }); +}; + + +// 查询db数据库列表 +export const listDbTable = (query: DbTableQuery): AxiosPromise => { + return request({ + url: '/ai/aiSqlTable/db/list', + method: 'get', + params: query + }); +}; + + +// 导入表 +export const importTable = (aiSqlTableList: AiSqlTableVO[]): AxiosPromise => { + return request({ + url: '/ai/aiSqlTable/importTable', + method: 'post', + data: aiSqlTableList + }); +}; + + +// 获取数据源名称 +export const getDataNames = () => { + return request({ + url: '/ai/aiSqlTable/getDataNames', + method: 'get' + }); +}; + +/** + * 删除AI生成sql信息 + * @param tableId + */ +export const deleteAiSqlTable = (data) => { + return request({ + url: '/ai/aiSqlTable/deleteAiSqlTable', + method: 'delete', + data: data + }); +}; + +// 获取数据源名称 +export const refreshCache = () => { + return request({ + url: '/ai/aiSqlTable/refreshCache', + method: 'post' + }); +}; diff --git a/src/api/ai/base/aiSqlTable/types.ts b/src/api/ai/base/aiSqlTable/types.ts new file mode 100644 index 0000000..1186061 --- /dev/null +++ b/src/api/ai/base/aiSqlTable/types.ts @@ -0,0 +1,128 @@ +import {DbColumnVO} from "@/api/tool/gen/types"; + +export interface AiSqlTableVO { + /** + * 编号 + */ + tableId: string | number; + + /** + * 表名称 + */ + tableName: string; + + /** + * 表描述 + */ + tableComment: string; + + /** + * 关联子表的表名 + */ + subTableName: string; + + /** + * 子表关联的外键名 + */ + subTableFkName: string; + +} + +export interface AiSqlTableForm extends BaseEntity { + /** + * 编号 + */ + tableId?: string | number; + + /** + * 表名称 + */ + tableName?: string; + + /** + * 表描述 + */ + tableComment?: string; + + /** + * 关联子表的表名 + */ + subTableName?: string; + + /** + * 子表关联的外键名 + */ + subTableFkName?: string; + +} + +export interface AiSqlTableQuery extends PageQuery { + + /** + * 编号 + */ + tableId?: string | number; + + /** + * 表名称 + */ + tableName?: string; + + /** + * 表描述 + */ + tableComment?: string; + + /** + * 关联子表的表名 + */ + subTableName?: string; + + /** + * 子表关联的外键名 + */ + subTableFkName?: string; + + /** + * 日期范围参数 + */ + params?: any; +} + + + +export interface DbTableQuery extends PageQuery { + dataName: string; + tableName: string; + tableComment: string; +} + +export interface DbTableVO { + createDept?: any; + tableId?: any; + tableName: string; + tableComment: string; + subTableName?: any; + subTableFkName?: any; + className?: any; + tplCategory?: any; + packageName?: any; + moduleName?: any; + businessName?: any; + functionName?: any; + functionAuthor?: any; + genType?: any; + genPath?: any; + pkColumn?: any; + columns: DbColumnVO[]; + options?: any; + remark?: any; + treeCode?: any; + treeParentCode?: any; + treeName?: any; + menuIds?: any; + parentMenuId?: any; + parentMenuName?: any; + tree: boolean; + crud: boolean; +} diff --git a/src/api/ai/skill/aiChat/index.ts b/src/api/ai/skill/aiChat/index.ts index 3dc4174..092a5e5 100644 --- a/src/api/ai/skill/aiChat/index.ts +++ b/src/api/ai/skill/aiChat/index.ts @@ -69,6 +69,17 @@ export const delAiMessage = (sessionId: string) => { }; +export const generateSql = (query?: AskVO): AxiosPromise => { + return request({ + url: '/ai/assistant/generateSql', + method: 'post', + params: query, + timeout: 1000000 + }); +}; + + + /** * AI问答,完整回复 @@ -92,13 +103,7 @@ export const aiStreamAsk = (query?: AskVO): AxiosPromise => { }); }; -export const aiSqlAsk = (query?: AskVO): AxiosPromise => { - return request({ - url: '/ai/api/chat/sql', - method: 'post', - params: query - }); -}; + export const streamDeepSeek = (prompt, handlers) => { diff --git a/src/api/ai/skill/aiChat/types.ts b/src/api/ai/skill/aiChat/types.ts index 17db2d6..0679614 100644 --- a/src/api/ai/skill/aiChat/types.ts +++ b/src/api/ai/skill/aiChat/types.ts @@ -1,16 +1,19 @@ export interface AskVO { /** - * 模型分类名称 + * 提问的问题(prompt) */ - question: string; + text: string; /** - * api地址 + * AI模型ID */ - provider: string; - + modelId: number; + /** + * AI平台提供商ID + */ + platformId: number; } diff --git a/src/views/ai/base/aiSqlTable/index.vue b/src/views/ai/base/aiSqlTable/index.vue new file mode 100644 index 0000000..6b22e5e --- /dev/null +++ b/src/views/ai/base/aiSqlTable/index.vue @@ -0,0 +1,271 @@ + + + diff --git a/src/views/ai/base/common/importTable.vue b/src/views/ai/base/common/importTable.vue new file mode 100644 index 0000000..90d0a87 --- /dev/null +++ b/src/views/ai/base/common/importTable.vue @@ -0,0 +1,141 @@ + + +