import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'database_helper.dart'; class SqfliteApi { // 获取商务会议助手列表 static Future getMeetingList(int page) async { final db = await DatabaseHelper().database; return await db.query( 'meeting', limit: 10, offset: (page - 1) * 10, orderBy: 'creationtime DESC', ); } // 获取商务会议助手详情 static Future getMeetingDetails(id) async { final db = await DatabaseHelper().database; List meetingList = await db.query('meeting', where: 'id = ?', whereArgs: [id]); List detailsList = await db.query( 'meetingdetails', where: 'meetingid = ?', whereArgs: [id], ); return { ...meetingList.first, 'details': detailsList.first }; } // 获取商务会议助手转写内容 static Future getMeetingSpeaker(id) async { final db = await DatabaseHelper().database; return await db.query( 'meetingspeaker', where: 'meetingid = ?', whereArgs: [id], ); } // 插入商务会议助手 static Future insertMeeting(Map meeting) async { final db = await DatabaseHelper().database; try { int id = 0; await db.transaction((txn) async { id = await txn.insert('meeting', meeting); await txn.insert('meetingdetails', { 'meetingid': id, 'address': '', 'personnel': '', 'taskid': '', 'tasktype': 0, 'overview': '', 'summary': '', 'mindmap': '', }); }); return id; } catch (e) { Get.snackbar( 'error'.tr, // 错误 'unknownError'.tr, snackPosition: SnackPosition.TOP, backgroundColor: Colors.red.withOpacity(0.1), colorText: Colors.red, ); return; } } // 修改商务会议助手详情内容 static Future editMeeting(id, Map meeting) async { final db = await DatabaseHelper().database; try { await db.update( 'meetingdetails', meeting, where: 'meetingid = ?', whereArgs: [id], ); return true; } catch (e) { Get.snackbar( 'error'.tr, // 错误 'unknownError'.tr, snackPosition: SnackPosition.TOP, backgroundColor: Colors.red.withOpacity(0.1), colorText: Colors.red, ); return; } } // 插入商务会议助手转写内容 static Future insertMeetingSpeaker(List> data) async { final db = await DatabaseHelper().database; try { final batch = db.batch(); for (var item in data) { batch.insert('meetingspeaker', item); } await batch.commit(); return true; } catch (e) { Get.snackbar( 'error'.tr, // 错误 'unknownError'.tr, snackPosition: SnackPosition.TOP, backgroundColor: Colors.red.withOpacity(0.1), colorText: Colors.red, ); return; } } // 修改商务会议助手转写内容 static Future editMeetingSpeaker(List data) async { final db = await DatabaseHelper().database; try { final batch = db.batch(); for (var item in data) { Map values = item['content'] != null ? {'content': item['content']} : {'speaker': item['speaker']}; batch.update( 'meetingspeaker', values, where: 'id = ?', whereArgs: [item['id']], ); } await batch.commit(); return true; } catch (e) { Get.snackbar( 'error'.tr, // 错误 'unknownError'.tr, snackPosition: SnackPosition.TOP, backgroundColor: Colors.red.withOpacity(0.1), colorText: Colors.red, ); return; } } // 修改商务会议助手标题 static Future editMeetingTitle(id, title) async { final db = await DatabaseHelper().database; await db.update('meeting', {'title': title}, where: 'id = ?', whereArgs: [id]); } // 删除商务会议助手 static Future deleteMeeting(id) async { final db = await DatabaseHelper().database; await db.transaction((txn) async { await txn.delete('meeting', where: 'id = ?', whereArgs: [id]); await txn .delete('meetingdetails', where: 'meetingid = ?', whereArgs: [id]); await txn .delete('meetingspeaker', where: 'meetingid = ?', whereArgs: [id]); }); } }