Browse Source

优化askai数据持久化

weicu
tanlongsheng 1 year ago
parent
commit
de668c4c44
  1. 10
      lib/data/services/db/database_helper.dart
  2. 17
      lib/data/services/db/sqflite_api.dart
  3. 17
      lib/modules/meeting/views/ai_bottom_sheet.dart

10
lib/data/services/db/database_helper.dart

@ -77,6 +77,16 @@ class DatabaseHelper {
speaker TEXT 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(''' batch.execute('''
CREATE TABLE IF NOT EXISTS meetingcategorytemplate ( CREATE TABLE IF NOT EXISTS meetingcategorytemplate (

17
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<String, Object?> meeting) async {
final db = await DatabaseHelper().database;
await db.insert('meetingai', meeting);
}
// 获取商务会议助手所有分类模版列表 // 获取商务会议助手所有分类模版列表
static Future getMeetingCategoryTemplateList() async { static Future getMeetingCategoryTemplateList() async {
final db = await DatabaseHelper().database; final db = await DatabaseHelper().database;

17
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:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import '../../../data/services/db/sqflite_api.dart';
import '../../../data/services/deapsound_ai_service.dart'; import '../../../data/services/deapsound_ai_service.dart';
import '../controllers/meeting_details_controller.dart'; import '../controllers/meeting_details_controller.dart';
@ -29,7 +30,7 @@ class _AIBottomSheetState extends State<AIBottomSheet> {
List _dataList = []; List _dataList = [];
final List _cruxList = [ final List _cruxList = [
'添加代办事项', '代办事项',
'提取结论', '提取结论',
'生成关键指标', '生成关键指标',
]; ];
@ -42,6 +43,7 @@ class _AIBottomSheetState extends State<AIBottomSheet> {
void initState() { void initState() {
super.initState(); super.initState();
_getAllText(); _getAllText();
_getDataList();
} }
void _getAllText() { void _getAllText() {
@ -53,6 +55,15 @@ class _AIBottomSheetState extends State<AIBottomSheet> {
} }
} }
void _getDataList() async {
List dataList = await SqfliteApi.getMeetingAiList(
_controller.meetingData.value.id,
);
setState(() {
_dataList = List.from(dataList);
});
}
@override @override
void dispose() { void dispose() {
_textController.dispose(); _textController.dispose();
@ -383,6 +394,10 @@ class _AIBottomSheetState extends State<AIBottomSheet> {
_dataList.first['cruxtext'] = _dataList.first['cruxtext'] =
text.substring(index + '@continue_asking@'.length).trim(); text.substring(index + '@continue_asking@'.length).trim();
} }
SqfliteApi.insertMeetingAi({
..._dataList.first,
'meetingid': _controller.meetingData.value.id,
});
setState(() { setState(() {
_isLoading = false; _isLoading = false;
}); });

Loading…
Cancel
Save