Browse Source

feat(会议): 添加会议服务类型存储和逻辑处理

添加对会议服务类型的本地存储功能,并根据存储类型调整任务处理逻辑
newdev_shunjiawei
lxm 11 months ago
parent
commit
3f72508288
  1. 1
      lib/data/services/meeting/meeting_upload_service.dart
  2. 16
      lib/modules/meeting/controllers/meeting_details_controller.dart

1
lib/data/services/meeting/meeting_upload_service.dart

@ -50,6 +50,7 @@ class MeetingUploadService extends GetxService {
final int seconds = (details['seconds'] ?? 0) as int; final int seconds = (details['seconds'] ?? 0) as int;
flash = seconds > 0 && seconds <= 7200; flash = seconds > 0 && seconds <= 7200;
} catch (_) {} } catch (_) {}
_storage.write("meeting_service_type_$id", flash ? 'fast' : 'standard');
uploadList.add({ uploadList.add({
'id': id, 'id': id,
'filepath': filePath, 'filepath': filePath,

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

@ -9,6 +9,7 @@ import 'package:flutter/services.dart' show rootBundle;
import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:flutter_easyloading/flutter_easyloading.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 'package:get_storage/get_storage.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import '../../../core/utils/synchrodata.dart'; import '../../../core/utils/synchrodata.dart';
@ -93,10 +94,16 @@ class MeetingDetailsController extends GetxController
..duration = const Duration(seconds: 2); ..duration = const Duration(seconds: 2);
final Map<String, dynamic> args = Get.arguments ?? {}; final Map<String, dynamic> args = Get.arguments ?? {};
id = args['id']; id = args['id'];
final storage = GetStorage();
final String svc =
(storage.read("meeting_service_type_$id") ?? '').toString();
final bool isFast = svc == 'fast';
_meetingTaskService.meetingId = id; _meetingTaskService.meetingId = id;
_meetingTaskService2.meetingId = id;
_getDataDetails(); _getDataDetails();
_loadJS(); _loadJS();
_tasktypeListener = ever(_meetingTaskService.tasktype, (value) { _tasktypeListener = ever(_meetingTaskService.tasktype, (value) {
if (isFast) return;
meetingDetails.value.tasktype = value; meetingDetails.value.tasktype = value;
if (_everType <= value) { if (_everType <= value) {
if (value == 2) { if (value == 2) {
@ -110,13 +117,14 @@ class MeetingDetailsController extends GetxController
meetingDetails.refresh(); meetingDetails.refresh();
}); });
_tasktypeListenerV2 = ever(_meetingTaskService2.tasktype, (value) { _tasktypeListenerV2 = ever(_meetingTaskService2.tasktype, (value) {
if (!isFast) return;
meetingDetails.value.tasktype = value; meetingDetails.value.tasktype = value;
if (_everType <= value) { if (_everType <= value) {
if (value == 2) { if (value == 2) {
textList.value = _meetingTaskService2.textList; textList.value = _meetingTaskService2.textList;
} else if (value == 3) { } else if (value == 3) {
meetingDetails.value.summary = _meetingTaskService2.summary; meetingDetails.value.summary = _summaryTaskService.summary;
meetingDetails.value.overview = _meetingTaskService2.overview; meetingDetails.value.overview = _summaryTaskService.overview;
summaryNumberModifications.value++; summaryNumberModifications.value++;
} }
} }
@ -141,6 +149,7 @@ class MeetingDetailsController extends GetxController
_meetingTaskService.removeTask(id); _meetingTaskService.removeTask(id);
_meetingTaskService2.removeTask(id); _meetingTaskService2.removeTask(id);
_meetingTaskService.meetingId = 0; _meetingTaskService.meetingId = 0;
_meetingTaskService2.meetingId = 0;
} }
void _getDataDetails() async { void _getDataDetails() async {
@ -277,6 +286,9 @@ class MeetingDetailsController extends GetxController
_everType = 2; _everType = 2;
final String audiourl = meetingData.value.audiourl; final String audiourl = meetingData.value.audiourl;
final int seconds = meetingData.value.seconds; final int seconds = meetingData.value.seconds;
final storage = GetStorage();
storage.write("meeting_service_type_$id",
(seconds > 0 && seconds <= 7200) ? 'fast' : 'standard');
if (seconds > 0 && seconds <= 7200) { if (seconds > 0 && seconds <= 7200) {
await _meetingTaskService2.addTask( await _meetingTaskService2.addTask(
id, id,

Loading…
Cancel
Save