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