From 85a2d7f51a32cd747e27ab68bc8699a54419b6c7 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 03 三月 2025 10:02:04 +0800
Subject: [PATCH] fix :包裹列表

---
 app/src/main/java/com/example/firstapp/database/AppDatabase.kt |   45 +++++++++++++++++++++++++++++++++------------
 1 files changed, 33 insertions(+), 12 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..b520136 100644
--- a/app/src/main/java/com/example/firstapp/database/AppDatabase.kt
+++ b/app/src/main/java/com/example/firstapp/database/AppDatabase.kt
@@ -7,6 +7,7 @@
 import androidx.room.TypeConverters
 import androidx.room.migration.Migration
 import androidx.sqlite.db.SupportSQLiteDatabase
+import com.example.firstapp.dao.PackageDao
 import com.example.firstapp.database.dao.CodeDao
 import com.example.firstapp.database.dao.KeywordDao
 import com.example.firstapp.database.dao.MsgDao
@@ -20,11 +21,23 @@
 import com.example.firstapp.utils.TAG_LIST
 
 import com.example.firstapp.database.ext.ConvertersDate
-
+import com.example.firstapp.model.PackageInfo
+import com.example.firstapp.model.CourierStat
+import com.example.firstapp.model.DailyStat
 
 
 @Database(
-    entities = [ Msg::class, Code::class, KeywordEntity::class, Reminder::class],
+    entities = [
+        Msg::class, 
+        Code::class, 
+        KeywordEntity::class, 
+        Reminder::class, 
+        PackageInfo::class
+    ],
+    views = [
+        CourierStat::class,
+        DailyStat::class
+    ],
     version = 20,
     exportSchema = false
 )
@@ -34,6 +47,7 @@
     abstract fun codeDao(): CodeDao
     abstract fun keywordDao(): KeywordDao
     abstract fun reminderDao(): ReminderDao
+    abstract fun packageDao(): PackageDao
 
     companion object {
         @Volatile
@@ -71,16 +85,6 @@
 
 
 
-
-
-
-
-
-
-
-
-
-
         private val MIGRATION_MSG = object : Migration(19, 20) {
             override fun migrate(database: SupportSQLiteDatabase) {
                 //database.execSQL("Create table Msg as Select id,type,`from`,content,(case when sim_info like 'SIM1%' then '0' when sim_info like 'SIM2%' then '1' else '-1' end) as sim_slot,sim_info,sub_id,time from Logs where 1 = 1")
@@ -110,6 +114,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,

--
Gitblit v1.9.3