Browse Source

重构会议助手,使用服务端转写

weicu
tanlongsheng 9 months ago
parent
commit
38d951a4a7
  1. 16
      lib/data/services/network/api.dart
  2. 4
      lib/modules/meeting/controllers/meeting_details_controller.dart
  3. 1
      lib/modules/meeting/controllers/meeting_home_controller.dart
  4. 8
      lib/modules/meeting/views/bottomSheet/speaker_all_bottom_sheet.dart
  5. 12
      lib/modules/meeting/views/bottomSheet/speaker_bottom_sheet.dart
  6. 11
      lib/modules/meeting/views/tabs/summary_tab.dart

16
lib/data/services/network/api.dart

@ -348,4 +348,20 @@ class Api {
params: params,
);
}
static modifyRecordEchomeet([params]) {
Map data = {
'title': 'NULL',
'address': 'NULL',
'personnel': 'NULL',
'translate': 'NULL',
'summary': 'NULL',
};
data.addAll(params);
return DioManager().request(
NWMethod.post,
'/api/home/echomeet_modifyrecords',
params: data,
);
}
}

4
lib/modules/meeting/controllers/meeting_details_controller.dart

@ -238,6 +238,10 @@ class MeetingDetailsController extends GetxController
textList[index] = dataMap;
}
}
await Api.modifyRecordEchomeet({
'id': id,
'translate': jsonEncode(textList),
});
isSpeakerText.value = false;
editSpeakerTextId.value = 0;
editSpeakerTextList = [];

1
lib/modules/meeting/controllers/meeting_home_controller.dart

@ -585,6 +585,7 @@ class MeetingHomeController extends GetxController {
void editMeetingTitle(int id) async {
if (titleController.text.isNotEmpty) {
String title = titleController.text + titleCSuffix;
Api.modifyRecordEchomeet({'id': id, 'title': title});
SqfliteApi.editMeetingTitle(id, {'title': title});
int originalIndex =
originalDataList.indexWhere((item) => item['id'] == id);

8
lib/modules/meeting/views/bottomSheet/speaker_all_bottom_sheet.dart

@ -9,6 +9,7 @@ import 'package:get_storage/get_storage.dart';
import 'package:lottie/lottie.dart';
import '../../../../data/services/db/sqflite_api.dart';
import '../../../../data/services/network/api.dart';
import '../../controllers/meeting_details_controller.dart';
class SpeakerAllBottomSheet extends StatefulWidget {
@ -559,6 +560,11 @@ class _SpeakerAllBottomSheetState extends State<SpeakerAllBottomSheet> {
bool isEditSummary = false;
String summaryText = _controller.meetingDetails.value.summary;
_controller.textList.value = newTextList;
Map modifyData = {
'id': _controller.meetingData.value.id,
'translate': jsonEncode(_controller.textList),
'personnel': personnel,
};
for (var element in personnelList) {
if (summaryText.contains('[${element['original']}]')) {
summaryText = summaryText.replaceAll(
@ -571,11 +577,13 @@ class _SpeakerAllBottomSheetState extends State<SpeakerAllBottomSheet> {
'summary': summaryText,
'personnel': personnel,
});
modifyData.addAll({'summary': summaryText});
_controller.meetingDetails.value.summary = summaryText;
_controller.summaryNumberModifications.value++;
} else {
SqfliteApi.editMeeting(_controller.id, {'personnel': personnel});
}
await Api.modifyRecordEchomeet(modifyData);
_controller.meetingDetails.value.personnel = personnel;
_controller.personnelNumberModifications.value++;
_controller.meetingDetails.refresh();

12
lib/modules/meeting/views/bottomSheet/speaker_bottom_sheet.dart

@ -7,6 +7,7 @@ import 'package:get/get.dart';
import 'package:get_storage/get_storage.dart';
import '../../../../data/services/db/sqflite_api.dart';
import '../../../../data/services/network/api.dart';
import '../../controllers/meeting_details_controller.dart';
class SpeakerBottomSheet extends StatefulWidget {
@ -336,6 +337,10 @@ class _SpeakerBottomSheetState extends State<SpeakerBottomSheet> {
dataMap['speaker'] = _speakerController.text;
_controller.textList[index] = dataMap;
}
await Api.modifyRecordEchomeet({
'id': _controller.meetingData.value.id,
'translate': jsonEncode(_controller.textList),
});
_addHistorySpeaker();
Get.back();
}
@ -366,6 +371,11 @@ class _SpeakerBottomSheetState extends State<SpeakerBottomSheet> {
var result = await SqfliteApi.editMeetingSpeaker(editSpeakerList);
if (result != null) {
_controller.textList.value = newTextList;
Map modifyData = {
'id': _controller.meetingData.value.id,
'translate': jsonEncode(_controller.textList),
'personnel': personnel,
};
if (_controller.meetingDetails.value.summary
.contains('[${widget.speakerName}]')) {
String summaryText = _controller.meetingDetails.value.summary
@ -375,11 +385,13 @@ class _SpeakerBottomSheetState extends State<SpeakerBottomSheet> {
'summary': summaryText,
'personnel': personnel,
});
modifyData.addAll({'summary': summaryText});
_controller.meetingDetails.value.summary = summaryText;
_controller.summaryNumberModifications.value++;
} else {
SqfliteApi.editMeeting(_controller.id, {'personnel': personnel});
}
await Api.modifyRecordEchomeet(modifyData);
_controller.meetingDetails.value.personnel = personnel;
_addHistorySpeaker();
Get.back();

11
lib/modules/meeting/views/tabs/summary_tab.dart

@ -6,6 +6,7 @@ import 'package:get/get.dart';
import 'package:parchment/codecs.dart';
import '../../../../data/services/db/sqflite_api.dart';
import '../../../../data/services/network/api.dart';
import '../../controllers/meeting_details_controller.dart';
import '../bottomSheet/ai_bottom_sheet.dart';
import '../bottomSheet/generate_bottom_sheet.dart';
@ -133,6 +134,10 @@ class _SummaryTabState extends State<SummaryTab> {
final markdown =
const ParchmentMarkdownCodec().encode(_fleatherController!.document);
if (markdown != _controller.meetingDetails.value.summary) {
Api.modifyRecordEchomeet({
'id': _controller.id,
'summary': markdown,
});
SqfliteApi.editMeeting(
_controller.id,
{'summary': markdown},
@ -272,6 +277,12 @@ class _SummaryTabState extends State<SummaryTab> {
isEdit = true;
}
if (isEdit) {
Api.modifyRecordEchomeet({
'id': _controller.id,
'address': _controller.meetingDetails.value.address,
'personnel':
_controller.meetingDetails.value.personnel,
});
SqfliteApi.editMeeting(
_controller.id,
{

Loading…
Cancel
Save