From 2c3ec18b024837892b38e16a93a94f0c058341f6 Mon Sep 17 00:00:00 2001 From: lxm <1274844347@qq.com> Date: Fri, 16 Jan 2026 15:34:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E4=BC=9A=E8=AE=AE=E4=BB=BB=E5=8A=A1):=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E4=BC=9A=E8=AE=AE=E7=A7=AF=E5=88=86=E6=89=A3?= =?UTF-8?q?=E9=99=A4=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在创建会议任务时,根据会议音频时长扣除用户积分 --- .../meeting/meeting_task_service.dart | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/lib/data/services/meeting/meeting_task_service.dart b/lib/data/services/meeting/meeting_task_service.dart index b3a080d63..1960749a5 100644 --- a/lib/data/services/meeting/meeting_task_service.dart +++ b/lib/data/services/meeting/meeting_task_service.dart @@ -1,9 +1,11 @@ import 'dart:convert'; import 'package:get/get.dart'; +import 'package:get_storage/get_storage.dart'; import '../db/sqflite_api.dart'; import '../network/api.dart'; +import '../../models/user_Info.dart'; import 'meeting_upload_service.dart'; class MeetingTaskService extends GetxService { @@ -81,6 +83,8 @@ class MeetingTaskService extends GetxService { 'isdistinguishspeaker': isdistinguishspeaker, 'templateid': templateid, }); + final seconds = await _getMeetingSeconds(id); + _decrementMeetingIntegral(cost: seconds); _taskList.add({ 'id': id, 'tasktype': 1, @@ -207,4 +211,27 @@ class MeetingTaskService extends GetxService { } } } + + /// 获取会议音频秒数 + Future _getMeetingSeconds(int id) async { + try { + final data = await SqfliteApi.getMeetingDetails(id); + final v = data['seconds']; + if (v is int) return v; + if (v is num) return v.toInt(); + if (v is String) return int.tryParse(v) ?? 0; + return 0; + } catch (_) { + return 0; + } + } + + /// 减少用户会议积分 + void _decrementMeetingIntegral({required int cost}) { + if (!User.isLoggedIn()) return; + if (cost <= 0) return; + final next = User.instance.meetintegral - cost; + User.instance.updateUserInfo({'meetintegral': next < 0 ? 0 : next}); + //GetStorage().write('user_info', User.instance.toJson()); + } }