From 27bbd0435881e408f267c99e6a253d2e17873bcc Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期五, 11 四月 2025 17:44:11 +0800
Subject: [PATCH] 1.2

---
 app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt |   52 ++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 36 insertions(+), 16 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt b/app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt
index dae2211..5969ea5 100644
--- a/app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt
+++ b/app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt
@@ -5,31 +5,51 @@
 import androidx.lifecycle.asLiveData
 import androidx.lifecycle.viewModelScope
 import com.example.firstapp.AppDatabase
-import com.example.firstapp.model.PackageInfo
-import com.example.firstapp.repository.PackageRepository
+import com.example.firstapp.database.entity.Code
+import com.example.firstapp.database.repository.CodeRepository
 import kotlinx.coroutines.launch
 
 class DashboardViewModel(application: Application) : AndroidViewModel(application) {
-    
-    private val repository: PackageRepository
-    
+
+    private val repository: CodeRepository
+
     init {
-        val packageDao = AppDatabase.getInstance(application).packageDao()
-        repository = PackageRepository(packageDao)
+        val codeDao = AppDatabase.getInstance(application).codeDao()
+        repository = CodeRepository(codeDao)
     }
-    
-    fun getPackages(date: Long, dateType: String) = 
+
+    fun getPackages(date: Long, dateType: String) =
         repository.getPackages(date, dateType).asLiveData()
 
-    fun getCourierStats(date: Long) = repository.getCourierStats(date).asLiveData()
+    fun getPackagesUnread(date: Long, dateType: String) =
+        repository.getPackagesUnread(date, dateType).asLiveData()
+
+    fun getCourierStats(date: Long, dateType: String) = 
+        repository.getCourierStats(date, dateType).asLiveData()
+
+    fun getYearlyHeatmap(date: Long) = repository.getYearlyHeatmap(date).asLiveData()
+
+
+    fun getWeeklyStats(date: Long, weekCount: Int = 6) = 
+        repository.getWeeklyStats(date, weekCount).asLiveData()
     
-    fun getDailyStats(date: Long) = repository.getDailyStats(date).asLiveData()
+    fun getMonthlyStats(date: Long) = repository.getMonthlyStats(date).asLiveData()
+    
+    fun getYearlyStats(date: Long) = repository.getYearlyStats(date).asLiveData()
 
-    fun updatePackageStatus(packageInfo: PackageInfo) = viewModelScope.launch {
-        repository.update(packageInfo)
+    fun getYearMonthlyStats(date: Long) = 
+        repository.getYearMonthlyStats(date).asLiveData()
+
+    fun insert(code: Code) = viewModelScope.launch {
+        repository.insert(code)
     }
 
-    fun insert(packageInfo: PackageInfo) = viewModelScope.launch {
-        repository.insert(packageInfo)
-    }
+    fun getCurrentWeekStats(date: Long) =
+        repository.getCurrentWeekStats(date).asLiveData()
+
+    fun getCurrentYearStats(date: Long) =
+        repository.getCurrentYearStats(date).asLiveData()
+
+    fun getCurrentWeekStats2(startDateCur: String, endDateCur: String) = repository.getCurrentWeekStats2(startDateCur,endDateCur).asLiveData()
+    fun getWeeklyStatsChart(startDateCur: String, endDateCur: String) =  repository.getWeeklyStatsChart(startDateCur, endDateCur).asLiveData()
 }
\ No newline at end of file

--
Gitblit v1.9.3