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);
}
void _aiServiceMessage(int id, String text, String prompt, String outline) {
int awaitQuantity = 0;
String summaryText = '';
String overviewText = '';
DeapsoundAIService().sendMessage(
messages: [
{
'role': 'system',
'content': prompt,
},
{'role': 'user', 'content': text},
],
).then((value) {
awaitQuantity++;
summaryText = value;
if (awaitQuantity >= 2) {
_aiServiceValue(id, summaryText, overviewText);
}
});
DeapsoundAIService().sendMessage(
messages: [
{
'role': 'system',
'content': outline,
},
{'role': 'user', 'content': text},
],
).then((value) {
awaitQuantity++;
overviewText = value;
if (awaitQuantity >= 2) {
_aiServiceValue(id, summaryText, overviewText);
}
});
Future<void> _aiServiceMessage(
int id, String text, String prompt, String outline) async {
final ai = DeapsoundAIService();
try {
final results = await Future.wait([
ai.sendMessage(messages: [
{'role': 'system', 'content': prompt},
{'role': 'user', 'content': text},
]).timeout(const Duration(seconds: 300)),
ai.sendMessage(messages: [
{'role': 'system', 'content': outline},
{'role': 'user', 'content': text},
]).timeout(const Duration(seconds: 300)),
], eagerError: true);
_aiServiceValue(id, results[0], results[1]);
} catch (e) {
_isTask = false;
_executeTask();
}
}
void _aiServiceValue(int id, String summaryText, String overviewText) {
if (!_taskList.any((item) => item['id'] == id)) return;
SqfliteApi.editMeeting(id, {
Future<void> _aiServiceValue(
int id, String summaryText, String overviewText) async {
final exists = _taskList.any((item) => item['id'] == id);
if (!exists) {
_isTask = false;
_executeTask();
return;
}
await SqfliteApi.editMeeting(id, {
'tasktype': 3,
'summary': summaryText,
'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_model.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 '../../../data/services/network/api.dart';
import '../../../data/services/version_update_service.dart';
@ -266,6 +269,9 @@ class SplashController extends GetxController {
final isAppConfigInitialized = AppConfig.isInitialized();
// 检查登录状态和配置初始化状态
if (token != null && token.isNotEmpty && isAppConfigInitialized) {
Get.find<MeetingUploadService>();
Get.find<MeetingTaskService>();
Get.find<SummaryTaskService>();
Get.offAllNamed(Routes.pairing);
} else {
_storage.remove('meeting_task_list');

Loading…
Cancel
Save