package com.sinata.xqmuse.ui.tree
|
|
import android.view.View
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.dialog.GiftSuccessDialog
|
import com.sinata.xqmuse.dialog.TipDialog
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.Gift
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.ui.tree.adapter.GiftAdapter
|
import kotlinx.android.synthetic.main.activity_gift.*
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.toast
|
|
class GiftActivity : TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_gift
|
|
private var page = 1
|
private val list = arrayListOf<Gift>()
|
private val adapter = GiftAdapter(list)
|
private var power:Int? = null
|
private var code = ""
|
|
override fun initClick() {
|
adapter.setOnItemClickListener { _, position ->
|
exchange(position)
|
}
|
}
|
|
private fun exchange(position: Int) {
|
if (power == null)
|
return
|
val gift = list[position]
|
if (gift.receiveStatus==2){
|
if (gift.energyValue > power?:0)
|
toast("兑换能量值不足")
|
else{
|
TipDialog.show(supportFragmentManager,"是否确认使用 ${gift.energyValue} 能量值兑换当前礼品?兑换后系统将自动扣除能量值",object :TipDialog.OnClickCallback{
|
override fun onOk() {
|
HttpManager.exchange(gift.id).request(this@GiftActivity){_,data->
|
gift.receiveStatus = 1
|
adapter.notifyItemChanged(position)
|
power = power!! - gift.energyValue
|
tv_total.text = power.toString()
|
GiftSuccessDialog.show(supportFragmentManager,data?:"",code)
|
}
|
}
|
|
override fun onCancel() {
|
}
|
},cancel = "再想想")
|
}
|
}
|
}
|
|
override fun initView() {
|
titleBar.addRightButton("兑换记录",onClickListener = View.OnClickListener {
|
startActivity<ExchangeRecordActivity>()
|
})
|
rv_list.layoutManager = LinearLayoutManager(this)
|
rv_list.adapter = adapter
|
refreshLayout.setOnRefreshListener {
|
page = 1
|
getData()
|
}
|
refreshLayout.setOnLoadMoreListener {
|
page ++
|
getData()
|
}
|
refreshLayout.autoRefresh()
|
getPower()
|
HttpManager.getQrCode().request(this){_,data->
|
code = data?:""
|
iv_code.setImageURI(data)
|
}
|
}
|
|
private fun getPower() {
|
HttpManager.getTotalEnergyValue().request(this){_,data->
|
power = data?:0
|
tv_total.text = power.toString()
|
}
|
}
|
|
private fun getData(){
|
HttpManager.goodsList(page).request(this,success = { _, data->
|
if (page == 1)
|
list.clear()
|
list.addAll(data?: arrayListOf())
|
adapter.notifyDataSetChanged()
|
if (list.isEmpty()){
|
refreshLayout.finishRefreshWithNoMoreData()
|
} else if (data.isNullOrEmpty())
|
refreshLayout.finishLoadMoreWithNoMoreData()
|
else if (page == 1)
|
refreshLayout.finishRefresh()
|
else
|
refreshLayout.finishLoadMore()
|
}){_,_->
|
if (page == 1)
|
refreshLayout.finishRefresh(false)
|
else
|
refreshLayout.finishLoadMore(false)
|
}
|
}
|
|
}
|