package com.lukouguoji.aerologic.page.car.chart

import androidx.lifecycle.MutableLiveData
import com.lukouguoji.module_base.base.BaseViewModel
import com.lukouguoji.module_base.bean.CarBarBean
import com.lukouguoji.module_base.http.net.NetApply
import com.lukouguoji.module_base.ktx.launchLoadingCollect
import com.lukouguoji.module_base.util.DictUtils
import dev.utils.app.info.KeyValue

class CarChartViewModel : BaseViewModel() {

    val location = MutableLiveData("")

    val count = MutableLiveData(0)

    // 位置列表
    val locationList = MutableLiveData<List<KeyValue>>()

    val carBarList = MutableLiveData<List<CarBarBean>>()

    ///////////////////////////////////////////////////////////////////////////
    // 方法区
    ///////////////////////////////////////////////////////////////////////////

    fun onCreated() {
        DictUtils.getCarLocationList {
            locationList.value = listOf(KeyValue("全部", "")) + it
            getData()
        }
    }

    fun getData() {
        launchLoadingCollect({
            NetApply.api.getCarBarList(location.value!!)
        }) {
            onSuccess = {
                carBarList.value = it.data ?: emptyList()
                count.value = it.data
                    ?.filter { b-> b.position.isNotEmpty() }
                    ?.sumOf { b -> b.count.toIntOrNull() ?: 0 } ?: 0
            }
        }
    }
}