From de668c4c4443e0ff01dbb4014e9d056ac8a1f3d6 Mon Sep 17 00:00:00 2001 From: tanlongsheng <252620078@qq.com> Date: Sat, 28 Jun 2025 15:08:27 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96askai=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=8C=81=E4=B9=85=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/data/services/db/database_helper.dart | 10 ++++++++++ lib/data/services/db/sqflite_api.dart | 17 +++++++++++++++++ lib/modules/meeting/views/ai_bottom_sheet.dart | 17 ++++++++++++++++- 3 files changed, 43 insertions(+), 1 deletion(-) diff --git a/lib/data/services/db/database_helper.dart b/lib/data/services/db/database_helper.dart index 0d6c3aa54..7f1c6178b 100644 --- a/lib/data/services/db/database_helper.dart +++ b/lib/data/services/db/database_helper.dart @@ -77,6 +77,16 @@ class DatabaseHelper { speaker TEXT ) '''); + // 商务会议助手Ask AI + batch.execute(''' + CREATE TABLE IF NOT EXISTS meetingai ( + id INTEGER PRIMARY KEY, + meetingid INTEGER, + user TEXT, + assistant TEXT, + cruxtext TEXT + ) + '''); // 商务会议助手模版分类 batch.execute(''' CREATE TABLE IF NOT EXISTS meetingcategorytemplate ( diff --git a/lib/data/services/db/sqflite_api.dart b/lib/data/services/db/sqflite_api.dart index 5857b3a7a..20e8298d7 100644 --- a/lib/data/services/db/sqflite_api.dart +++ b/lib/data/services/db/sqflite_api.dart @@ -195,6 +195,23 @@ class SqfliteApi { }); } + // 获取商务会议助手Ask AI列表 + static Future getMeetingAiList(int id) async { + final db = await DatabaseHelper().database; + return await db.query( + 'meetingai', + where: 'meetingid = ?', + whereArgs: [id], + orderBy: 'id DESC', + ); + } + + // 插入商务会议助手Ask AI + static Future insertMeetingAi(Map meeting) async { + final db = await DatabaseHelper().database; + await db.insert('meetingai', meeting); + } + // 获取商务会议助手所有分类模版列表 static Future getMeetingCategoryTemplateList() async { final db = await DatabaseHelper().database; diff --git a/lib/modules/meeting/views/ai_bottom_sheet.dart b/lib/modules/meeting/views/ai_bottom_sheet.dart index c01c74ecb..94b578219 100644 --- a/lib/modules/meeting/views/ai_bottom_sheet.dart +++ b/lib/modules/meeting/views/ai_bottom_sheet.dart @@ -5,6 +5,7 @@ import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; +import '../../../data/services/db/sqflite_api.dart'; import '../../../data/services/deapsound_ai_service.dart'; import '../controllers/meeting_details_controller.dart'; @@ -29,7 +30,7 @@ class _AIBottomSheetState extends State { List _dataList = []; final List _cruxList = [ - '添加代办事项', + '代办事项', '提取结论', '生成关键指标', ]; @@ -42,6 +43,7 @@ class _AIBottomSheetState extends State { void initState() { super.initState(); _getAllText(); + _getDataList(); } void _getAllText() { @@ -53,6 +55,15 @@ class _AIBottomSheetState extends State { } } + void _getDataList() async { + List dataList = await SqfliteApi.getMeetingAiList( + _controller.meetingData.value.id, + ); + setState(() { + _dataList = List.from(dataList); + }); + } + @override void dispose() { _textController.dispose(); @@ -383,6 +394,10 @@ class _AIBottomSheetState extends State { _dataList.first['cruxtext'] = text.substring(index + '@continue_asking@'.length).trim(); } + SqfliteApi.insertMeetingAi({ + ..._dataList.first, + 'meetingid': _controller.meetingData.value.id, + }); setState(() { _isLoading = false; });