From b8aa11a7b447fb8048115bdd156c2aa9e3b16a07 Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期二, 15 四月 2025 16:40:08 +0800
Subject: [PATCH] 1.3
---
app/src/main/java/com/example/firstapp/database/AppDatabase.kt | 88 +++++++++++++++++++++++++++++++++++---------
1 files changed, 70 insertions(+), 18 deletions(-)
diff --git a/app/src/main/java/com/example/firstapp/database/AppDatabase.kt b/app/src/main/java/com/example/firstapp/database/AppDatabase.kt
index 2251240..99792b8 100644
--- a/app/src/main/java/com/example/firstapp/database/AppDatabase.kt
+++ b/app/src/main/java/com/example/firstapp/database/AppDatabase.kt
@@ -10,22 +10,33 @@
import com.example.firstapp.database.dao.CodeDao
import com.example.firstapp.database.dao.KeywordDao
import com.example.firstapp.database.dao.MsgDao
-import com.example.firstapp.database.dao.ReminderDao
import com.example.firstapp.database.entity.Code
import com.example.firstapp.database.entity.KeywordEntity
import com.example.firstapp.database.entity.Msg
-import com.example.firstapp.database.entity.Reminder
import com.example.firstapp.utils.DATABASE_NAME
-import com.example.firstapp.utils.SettingUtils
-import com.example.firstapp.utils.TAG_LIST
import com.example.firstapp.database.ext.ConvertersDate
-
+import com.example.firstapp.model.CourierStat
+import com.example.firstapp.model.DailyStat
+import com.example.firstapp.database.dao.ReminderDao
+import com.example.firstapp.database.dao.ReminderRecordDao
+import com.example.firstapp.database.entity.Reminder
+import com.example.firstapp.database.entity.ReminderRecord
@Database(
- entities = [ Msg::class, Code::class, KeywordEntity::class, Reminder::class],
- version = 20,
+ entities = [
+ Msg::class,
+ Code::class,
+ KeywordEntity::class,
+ Reminder::class,
+ ReminderRecord::class
+ ],
+ views = [
+ CourierStat::class,
+ DailyStat::class
+ ],
+ version = 21,
exportSchema = false
)
@TypeConverters(ConvertersDate::class)
@@ -34,6 +45,7 @@
abstract fun codeDao(): CodeDao
abstract fun keywordDao(): KeywordDao
abstract fun reminderDao(): ReminderDao
+ abstract fun reminderRecordDao(): ReminderRecordDao
companion object {
@Volatile
@@ -54,8 +66,8 @@
}
}).addMigrations(
-
MIGRATION_MSG,
+ MIGRATION_20_21
)
/*if (BuildConfig.DEBUG) {
@@ -66,16 +78,6 @@
return builder.build()
}
-
-
-
-
-
-
-
-
-
-
@@ -110,6 +112,23 @@
`isEnabled` INTEGER NOT NULL
)
""")
+
+ // 创建 CourierStat 视图
+ database.execSQL("""
+ CREATE VIEW IF NOT EXISTS CourierStat AS
+ SELECT courierName, COUNT(*) as count
+ FROM packages
+ GROUP BY courierName
+ """)
+
+ // 创建 DailyStat 视图
+ database.execSQL("""
+ CREATE VIEW IF NOT EXISTS DailyStat AS
+ SELECT date(receivedTime/1000, 'unixepoch', 'localtime') as date,
+ COUNT(*) as count
+ FROM packages
+ GROUP BY date(receivedTime/1000, 'unixepoch', 'localtime')
+ """)
// database.execSQL("""
// CREATE TABLE IF NOT EXISTS `reminders` (
// id INTEGER PRIMARY KEY AUTOINCREMENT,
@@ -122,6 +141,39 @@
}
}
+ private val MIGRATION_20_21 = object : Migration(20, 21) {
+ override fun migrate(database: SupportSQLiteDatabase) {
+ // 创建 reminders 表
+ database.execSQL(
+ """
+ CREATE TABLE IF NOT EXISTS reminders (
+ id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+ categoryId INTEGER NOT NULL,
+ categoryName TEXT NOT NULL,
+ notificationMethod TEXT NOT NULL,
+ isEnabled INTEGER NOT NULL DEFAULT 1,
+ createdAt INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)
+ )
+ """
+ )
+
+ // 创建 reminder_records 表
+ database.execSQL(
+ """
+ CREATE TABLE IF NOT EXISTS reminder_records (
+ id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
+ categoryId INTEGER NOT NULL,
+ categoryName TEXT NOT NULL,
+ content TEXT NOT NULL,
+ notificationMethod TEXT NOT NULL,
+ status INTEGER NOT NULL DEFAULT 0,
+ createdAt INTEGER NOT NULL DEFAULT (strftime('%s','now') * 1000)
+ )
+ """
+ )
+ }
+ }
+
}
}
--
Gitblit v1.9.3