package com.kuanzhai.user.ui.mine
|
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.fragment.BaseFragment
|
import cn.sinata.xldutils.gone
|
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.entity.MyBusinessCoupon
|
import com.kuanzhai.user.network.requestByF
|
import com.kuanzhai.user.ui.mine.adapter.MyBusinessCouponAdapter
|
import kotlinx.android.synthetic.main.fragment_my_coupon.*
|
|
class MyBusinessCouponFragment:BaseFragment() {
|
override fun contentViewId() = R.layout.fragment_my_coupon
|
|
private val datas = arrayListOf<MyBusinessCoupon>()
|
private var page = 1
|
private val adapter = MyBusinessCouponAdapter(datas)
|
|
override fun onFirstVisibleToUser() {
|
tv_send.gone()
|
swipeRefreshLayout.setLayoutManager(LinearLayoutManager(activity))
|
swipeRefreshLayout.setAdapter(adapter)
|
swipeRefreshLayout.setMode(SwipeRefreshRecyclerLayout.Mode.Top)
|
swipeRefreshLayout.setOnRefreshListener(object : SwipeRefreshRecyclerLayout.OnRefreshListener{
|
override fun onRefresh() {
|
page = 1
|
getData()
|
}
|
|
override fun onLoadMore() {
|
page++
|
getData()
|
}
|
})
|
swipeRefreshLayout.isRefreshing = true
|
getData()
|
rg_type.setOnCheckedChangeListener { group, checkedId ->
|
adapter.type = if (checkedId == R.id.rb_useful) 1 else 2
|
refresh()
|
}
|
}
|
|
fun refresh(){
|
swipeRefreshLayout.isRefreshing = true
|
page = 1
|
getData()
|
}
|
|
private fun getData(){
|
HttpManager.getMyMerchantCoupon(adapter.type).requestByF(this,success = { _, data->
|
swipeRefreshLayout.isRefreshing = false
|
data?.let {
|
if (page == 1)
|
datas.clear()
|
datas.addAll(it.groupBy { it.merchantId }.map { MyBusinessCoupon(it.key,it.value[0].merchantName,it.value[0].headImg,it.value) })
|
if (datas.isEmpty())
|
swipeRefreshLayout.setLoadMoreText("暂无商家券")
|
else if (it.isEmpty())
|
swipeRefreshLayout.setLoadMoreText("没有更多")
|
adapter.notifyDataSetChanged()
|
}
|
},error = {_,_->
|
swipeRefreshLayout.isRefreshing = false
|
})
|
}
|
}
|