Files
pj_supermarket_cloud/lib/common/services/database/database.dart
T
dzc cc98644cb5 feat: 更新广播间隔、数据库版本及广播逻辑
- 将广播间隔从10分钟缩短至3分钟
- 更新数据库版本至2,并调整相关实体和查询逻辑
- 修复广播记录保存和查询时的字段初始化问题
- 在广播消息中添加时间段类型字段
- 优化广播记录的UI显示和操作逻辑
2025-04-23 15:51:00 +08:00

75 lines
2.0 KiB
Dart

import 'dart:async';
import 'package:floor/floor.dart';
import 'package:pj_supermarket_cloud/common/index.dart';
import 'package:sqflite/sqflite.dart' as sqflite;
part 'database.g.dart';
const entities = <Type>[
BroadcastEntity,
OrderEntity,
CanteenSpuEntity,
SupermarketSkuEntity,
SupermarketSpuEntity,
SupermarketCodeEntity,
ShopCardEntity,
ClassifyEntity,
PrintHistoryEntity,
UserEntity,
FaceEntity,
SettingEntity,
];
const typeConverters = <Type>[
DateTimeConverter,
DateTimeEmptyConverter,
OrderStatusConverter,
OrderTypeConverter,
OrderPayTypeConverter,
SysTypeConverter,
PrintStatusConverter,
SupermarketNatureConverter,
ListIntConverter,
BoolConverter,
];
@Database(version: 2, entities: entities)
@TypeConverters(typeConverters)
abstract class AppDatabase extends FloorDatabase {
BroadcastDao get getBroadcastDao;
OrderDao get getOrderDao;
CanteenSpuDao get getCanteenSpuDao;
SupermarketSkuDao get getSupermarketSkuDao;
SupermarketSpuDao get getSupermarketSpuDao;
SupermarketCodeDao get getSupermarketCodeDao;
ShopCardDao get getShopCardDao;
ClassifyDao get getClassifyDao;
PrintHistoryDao get getPrintHistoryDao;
UserDao get getUserDao;
FaceDao get getFaceDao;
SettingDao get getSettingDao;
static Future<AppDatabase> getDataBase() async {
final dbPath = await AppFileTool.getDatabasePath();
final dataBase = await $FloorAppDatabase
.databaseBuilder("$dbPath/${Constants.databaseName}")
.addCallback(
Callback(
onCreate: (database, version) async {
logger.i('数据库已创建,版本: $version');
},
onOpen: (database) async {
logger.i('数据库已打开');
},
onUpgrade: (database, startVersion, endVersion) {
logger.i('数据库已升级,版本: $startVersion -> $endVersion');
},
),
)
.addMigrations([]).build();
return dataBase;
}
}