Browse Source

优化会议记录总结任务

newdev_shunjiawei
tanlongsheng 11 months ago
parent
commit
906f1cdaa9
  1. 65
      lib/data/services/meeting/summary_task_service.dart
  2. 6
      lib/modules/splash/controllers/splash_controller.dart

65
lib/data/services/meeting/summary_task_service.dart

@ -66,45 +66,36 @@ class SummaryTaskService extends GetxService {
_storage.write("summary_task_list", _taskList); _storage.write("summary_task_list", _taskList);
} }
void _aiServiceMessage(int id, String text, String prompt, String outline) { Future<void> _aiServiceMessage(
int awaitQuantity = 0; int id, String text, String prompt, String outline) async {
String summaryText = ''; final ai = DeapsoundAIService();
String overviewText = ''; try {
DeapsoundAIService().sendMessage( final results = await Future.wait([
messages: [ ai.sendMessage(messages: [
{ {'role': 'system', 'content': prompt},
'role': 'system', {'role': 'user', 'content': text},
'content': prompt, ]).timeout(const Duration(seconds: 300)),
}, ai.sendMessage(messages: [
{'role': 'user', 'content': text}, {'role': 'system', 'content': outline},
], {'role': 'user', 'content': text},
).then((value) { ]).timeout(const Duration(seconds: 300)),
awaitQuantity++; ], eagerError: true);
summaryText = value; _aiServiceValue(id, results[0], results[1]);
if (awaitQuantity >= 2) { } catch (e) {
_aiServiceValue(id, summaryText, overviewText); _isTask = false;
} _executeTask();
}); }
DeapsoundAIService().sendMessage(
messages: [
{
'role': 'system',
'content': outline,
},
{'role': 'user', 'content': text},
],
).then((value) {
awaitQuantity++;
overviewText = value;
if (awaitQuantity >= 2) {
_aiServiceValue(id, summaryText, overviewText);
}
});
} }
void _aiServiceValue(int id, String summaryText, String overviewText) { Future<void> _aiServiceValue(
if (!_taskList.any((item) => item['id'] == id)) return; int id, String summaryText, String overviewText) async {
SqfliteApi.editMeeting(id, { final exists = _taskList.any((item) => item['id'] == id);
if (!exists) {
_isTask = false;
_executeTask();
return;
}
await SqfliteApi.editMeeting(id, {
'tasktype': 3, 'tasktype': 3,
'summary': summaryText, 'summary': summaryText,
'overview': overviewText, 'overview': overviewText,

6
lib/modules/splash/controllers/splash_controller.dart

@ -10,6 +10,9 @@ import 'package:http/http.dart' as http;
import '../../../data/models/appconfig.dart'; import '../../../data/models/appconfig.dart';
import '../../../data/models/appconfig_model.dart'; import '../../../data/models/appconfig_model.dart';
import '../../../data/models/user_Info.dart'; import '../../../data/models/user_Info.dart';
import '../../../data/services/meeting/meeting_task_service.dart';
import '../../../data/services/meeting/meeting_upload_service.dart';
import '../../../data/services/meeting/summary_task_service.dart';
import '../../../routes/app_routes.dart'; import '../../../routes/app_routes.dart';
import '../../../data/services/network/api.dart'; import '../../../data/services/network/api.dart';
import '../../../data/services/version_update_service.dart'; import '../../../data/services/version_update_service.dart';
@ -266,6 +269,9 @@ class SplashController extends GetxController {
final isAppConfigInitialized = AppConfig.isInitialized(); final isAppConfigInitialized = AppConfig.isInitialized();
// 检查登录状态和配置初始化状态 // 检查登录状态和配置初始化状态
if (token != null && token.isNotEmpty && isAppConfigInitialized) { if (token != null && token.isNotEmpty && isAppConfigInitialized) {
Get.find<MeetingUploadService>();
Get.find<MeetingTaskService>();
Get.find<SummaryTaskService>();
Get.offAllNamed(Routes.pairing); Get.offAllNamed(Routes.pairing);
} else { } else {
_storage.remove('meeting_task_list'); _storage.remove('meeting_task_list');

Loading…
Cancel
Save