From a895ef58396939abd792d1cc2fe6594efa4ffda7 Mon Sep 17 00:00:00 2001
From: zhujie <leon.zhu@cloudroam.com.cn>
Date: 星期三, 26 三月 2025 17:56:14 +0800
Subject: [PATCH] 邀请有礼页面

---
 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..c8c6c17 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.name, //快递公司
+                        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.name, //快递公司
+                        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