From 2e1edcb7518f20dec30dbd6e1686e9e6b558ec15 Mon Sep 17 00:00:00 2001
From: tj <1378534974@qq.com>
Date: 星期三, 16 四月 2025 17:05:12 +0800
Subject: [PATCH] 43	首页登录->首页登录  1.首页弹窗协议同意后,不能默认自动勾选,还需要用户手动勾选  2.退出登录后,再次登录需要手动勾选与用户协议(目前是默认勾选了) 44	首页登录->邀请码  邀请码默认填入“邀请码(选填) 47	数据统计->饼状图数据分类统计问题  1、只统计快递 无需统计还款其他分类  2、图形上下间隔过大" 48	数据统计	天、周、月、年  1.数据统计只统计快递类的,其他分类不需要统计展示,例如取件码记录  2.包括周、月、年的统计环状图,只需要统计快递分类的

---
 app/src/main/java/com/example/firstapp/ui/dashboard/DashboardViewModel.kt |   57 ++++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 50 insertions(+), 7 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 e47a4a6..192b2ed 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
@@ -1,13 +1,56 @@
 package com.example.firstapp.ui.dashboard
 
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
-import androidx.lifecycle.ViewModel
+import android.app.Application
+import androidx.lifecycle.AndroidViewModel
+import androidx.lifecycle.asLiveData
+import androidx.lifecycle.viewModelScope
+import com.example.firstapp.AppDatabase
+import com.example.firstapp.database.entity.Code
+import com.example.firstapp.database.repository.CodeRepository
+import kotlinx.coroutines.launch
 
-class DashboardViewModel : ViewModel() {
+class DashboardViewModel(application: Application) : AndroidViewModel(application) {
 
-    private val _text = MutableLiveData<String>().apply {
-        value = "This is dashboard Fragment"
+    private val repository: CodeRepository
+
+    init {
+        val codeDao = AppDatabase.getInstance(application).codeDao()
+        repository = CodeRepository(codeDao)
     }
-    val text: LiveData<String> = _text
+
+    fun getPackages(date: Long, dateType: String) =
+        repository.getPackages(date, dateType).asLiveData()
+
+    fun getPackagesReaded(date: Long, dateType: String) =
+        repository.getPackagesReaded(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 getMonthlyStats(date: Long) = repository.getMonthlyStats(date).asLiveData()
+    
+    fun getYearlyStats(date: Long) = repository.getYearlyStats(date).asLiveData()
+
+    fun getYearMonthlyStats(date: Long) = 
+        repository.getYearMonthlyStats(date).asLiveData()
+
+    fun insert(code: Code) = viewModelScope.launch {
+        repository.insert(code)
+    }
+
+    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()
+    fun getCurrentDayStatsByType(startDateCur: String, endDateCur: String,type: String) =repository.getDateStatsByType(startDateCur, endDateCur,type).asLiveData()
 }
\ No newline at end of file

--
Gitblit v1.9.3