From 4cb9946eff3626389ae93feef4250dd3d45fb694 Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期一, 03 三月 2025 16:00:50 +0800 Subject: [PATCH] fix: 取件相关逻辑 --- app/src/main/java/com/example/firstapp/database/AppDatabase.kt | 46 +++++++++++++++++++++++++++++++++------------- 1 files changed, 33 insertions(+), 13 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 8c2b7c0..b520136 100644 --- a/app/src/main/java/com/example/firstapp/database/AppDatabase.kt +++ b/app/src/main/java/com/example/firstapp/database/AppDatabase.kt @@ -1,6 +1,5 @@ package com.example.firstapp - import android.content.Context import androidx.room.Database import androidx.room.Room @@ -8,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 @@ -21,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 ) @@ -35,6 +47,7 @@ abstract fun codeDao(): CodeDao abstract fun keywordDao(): KeywordDao abstract fun reminderDao(): ReminderDao + abstract fun packageDao(): PackageDao companion object { @Volatile @@ -72,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") @@ -111,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