You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
111 lines
2.9 KiB
111 lines
2.9 KiB
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 <String, dynamic>{
|
|
...meetingList.first,
|
|
'details': detailsList.first
|
|
};
|
|
}
|
|
|
|
// 插入商务会议助手
|
|
static Future insertMeeting(Map<String, Object?> meeting) async {
|
|
final db = await DatabaseHelper().database;
|
|
try {
|
|
int id = 0;
|
|
await db.transaction((txn) async {
|
|
id = await txn.insert('meeting', {
|
|
'title': meeting['title'],
|
|
'content': meeting['firstContent'],
|
|
'seconds': meeting['seconds'],
|
|
'creationtime': meeting['creationTime'],
|
|
});
|
|
await txn.insert('meetingdetails', {
|
|
'meetingid': id,
|
|
'audio': meeting['audio'],
|
|
'content': meeting['content'],
|
|
});
|
|
});
|
|
return id;
|
|
} catch (e) {
|
|
Get.snackbar(
|
|
'error'.tr, // 错误
|
|
'unknownError'.tr,
|
|
snackPosition: SnackPosition.TOP,
|
|
);
|
|
return;
|
|
}
|
|
}
|
|
|
|
// 修改商务会议助手
|
|
static Future editMeeting(id, Map<String, Object?> meeting) async {
|
|
final db = await DatabaseHelper().database;
|
|
try {
|
|
await db.transaction((txn) async {
|
|
await txn.update(
|
|
'meeting',
|
|
{
|
|
'title': meeting['title'],
|
|
'content': meeting['firstContent'],
|
|
'seconds': meeting['seconds'],
|
|
},
|
|
where: 'id = ?',
|
|
whereArgs: [id],
|
|
);
|
|
await txn.update(
|
|
'meetingdetails',
|
|
{'content': meeting['content']},
|
|
where: 'meetingid = ?',
|
|
whereArgs: [id],
|
|
);
|
|
});
|
|
return true;
|
|
} catch (e) {
|
|
Get.snackbar(
|
|
'error'.tr, // 错误
|
|
'unknownError'.tr,
|
|
snackPosition: SnackPosition.TOP,
|
|
);
|
|
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]);
|
|
});
|
|
}
|
|
}
|
|
|