From 4ed001ff84ed21bf32da85dbc4ba53ff2829e987 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 27 三月 2025 17:01:19 +0800
Subject: [PATCH] fix  修改表字段后版本,

---
 app/src/main/java/com/example/firstapp/ui/home/HomeViewModel.kt |   75 +++++++++++++++++++++++++++++--------
 1 files changed, 58 insertions(+), 17 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/ui/home/HomeViewModel.kt b/app/src/main/java/com/example/firstapp/ui/home/HomeViewModel.kt
index 630b6af..7b5c3fb 100644
--- a/app/src/main/java/com/example/firstapp/ui/home/HomeViewModel.kt
+++ b/app/src/main/java/com/example/firstapp/ui/home/HomeViewModel.kt
@@ -3,34 +3,75 @@
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
+import androidx.lifecycle.viewModelScope
 import com.example.firstapp.core.Core
 import com.example.firstapp.database.entity.Code
+import com.example.firstapp.model.ExpressGroup
+import com.example.firstapp.model.ExpressPackage
+import com.example.firstapp.model.FinanceGroup
+import com.example.firstapp.model.FinancePackage
+import kotlinx.coroutines.launch
 
 class HomeViewModel : ViewModel() {
 
-    private val _text = MutableLiveData<String>().apply {
-        value = "短信主页面"
-    }
-    val text: LiveData<String> = _text
-
-    private val _codeList = MutableLiveData<List<Code>>()
-
-    val codeList: LiveData<List<Code>> get() = _codeList
+    private val _expressItems = MutableLiveData<List<ExpressGroup>>()
+    private val _financeItems = MutableLiveData<List<FinanceGroup>>()
+    val expressItems: LiveData<List<ExpressGroup>> = _expressItems
+    val financeItems: LiveData<List<FinanceGroup>> = _financeItems
 
     init {
-        // 初始化时加载数据
-        loadData()
+        // 初始化时加载包裹列表数据
+        loadExpressData()
+        // 初始化时不加载财务列表数据 0317
+        //  loadFinanceData()
     }
 
-    // 加载数据的方法
-    fun loadData() {
-        // 获取数据,并更新 LiveData
-        _codeList.value = Core.code.getAllDesc() // 假设这是获取最新的 data 的方法
+    fun loadExpressData() {
+        viewModelScope.launch {
+            // 1. 获取所有驿站类型的提醒设置
+            val stations = Core.reminder.getByType("快递")
+
+            // 2. 按驿站分组获取包裹信息
+            val groups = stations.map { station ->
+                val packages = Core.code.getByKeyword(station.nickname).map { code ->
+                    ExpressPackage(
+                        id = code.id, //ID
+                        company = code.secondLevel, //快递公司
+                        trackingNumber = code.code, // 取件码
+                        createTime = code.createTime  //快递时间
+                    )
+                }
+                ExpressGroup(
+                    stationName = station.nickname, packages = packages
+                )
+            }
+
+            _expressItems.postValue(groups)
+        }
     }
 
-    // 如果需要手动更新数据,可以调用这个方法
-    fun updateData() {
-        _codeList.value = Core.code.getAllDesc() // 重新获取并更新数据
+    fun loadFinanceData() {
+        viewModelScope.launch {
+            // 1. 获取所有驿站类型的提醒设置
+            val stations = Core.reminder.getByType("还款")
+
+            // 2. 按驿站分组获取包裹信息
+            val groups = stations.map { station ->
+                val packages = Core.code.getByKeyword(station.nickname).map { code ->
+                    FinancePackage(
+                        id = code.id, //ID
+                        company = code.secondLevel, //快递公司
+                        trackingNumber = code.code, // 取件码
+                        createTime = code.createTime  //快递时间
+                    )
+                }
+                FinanceGroup(
+                    stationName = station.nickname, packages = packages
+                )
+            }
+
+            _financeItems.postValue(groups)
+        }
     }
 
 }
\ No newline at end of file

--
Gitblit v1.9.3