package com.fuban.user.ui.trip
|
|
import android.app.Activity
|
import android.content.Intent
|
import androidx.recyclerview.widget.LinearLayoutManager
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.view.SwipeRefreshRecyclerLayout
|
import com.fuban.user.R
|
import com.fuban.user.network.HttpManager
|
import com.fuban.user.network.entity.Coupon
|
import com.fuban.user.network.request
|
import com.fuban.user.ui.TransparentStatusBarActivity
|
import com.fuban.user.ui.mine.GiveCouponActivity
|
import com.fuban.user.ui.trip.adapter.CouponAdapter
|
import kotlinx.android.synthetic.main.activity_choose_coupon.*
|
import org.jetbrains.anko.startActivityForResult
|
|
class ChooseCouponActivity :TransparentStatusBarActivity(){
|
override fun setContentView() = R.layout.activity_choose_coupon
|
|
private val isPay by lazy { //true支付选择 false赠送选择
|
intent.getBooleanExtra("isPay",true)
|
}
|
private val datas = arrayListOf<Coupon>()
|
private val adapter by lazy {
|
CouponAdapter(datas)
|
}
|
private val id by lazy {
|
intent.getIntExtra("id",0)
|
}
|
private val type by lazy {
|
intent.getIntExtra("type",0)
|
}
|
|
override fun initClick() {
|
adapter.setOnItemClickListener { _, position ->
|
adapter.checkedPosition = position
|
adapter.notifyDataSetChanged()
|
}
|
|
tv_action.setOnClickListener {
|
if (adapter.checkedPosition == -1)
|
myToast("请选择一张优惠券")
|
else if (isPay){
|
setResult(Activity.RESULT_OK,intent.putExtra("id",datas[adapter.checkedPosition].id).putExtra("money",datas[adapter.checkedPosition].money))
|
finish()
|
}else
|
startActivityForResult<GiveCouponActivity>(1,"id" to datas[adapter.checkedPosition].id)
|
}
|
}
|
|
override fun initView() {
|
title = "选择优惠券"
|
tv_action.text = if (isPay) "确定" else "下一步"
|
swipeRefreshLayout.setLayoutManager(LinearLayoutManager(this))
|
swipeRefreshLayout.setAdapter(adapter)
|
swipeRefreshLayout.setOnRefreshListener(object :SwipeRefreshRecyclerLayout.OnRefreshListener{
|
override fun onRefresh() {
|
page = 1
|
getData()
|
}
|
|
override fun onLoadMore() {
|
page++
|
getData()
|
}
|
})
|
getData()
|
}
|
|
private var page = 1
|
private fun getData(){
|
if (isPay)
|
HttpManager.queryCoupon(id,type,page).request(this,success = {_,data->
|
swipeRefreshLayout.isRefreshing = false
|
data?.let {
|
if (page == 1)
|
datas.clear()
|
datas.addAll(data)
|
if (datas.isEmpty())
|
swipeRefreshLayout.setLoadMoreText("暂无可用优惠券")
|
else if (data.isEmpty())
|
swipeRefreshLayout.setLoadMoreText("没有更多")
|
adapter.notifyDataSetChanged()
|
}
|
},error = {_,_->
|
swipeRefreshLayout.isRefreshing = false
|
})
|
else
|
HttpManager.queryMyCoupons(page,1).request(this,success = {_,data->
|
swipeRefreshLayout.isRefreshing = false
|
data?.let {
|
if (page == 1)
|
datas.clear()
|
datas.addAll(it)
|
if (datas.isEmpty())
|
swipeRefreshLayout.setLoadMoreText("暂无可选优惠券")
|
else if (it.isEmpty())
|
swipeRefreshLayout.setLoadMoreText("没有更多")
|
adapter.notifyDataSetChanged()
|
}
|
},error = {_,_->
|
swipeRefreshLayout.isRefreshing = false
|
})
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == Activity.RESULT_OK){
|
setResult(Activity.RESULT_OK)
|
finish()
|
}
|
}
|
}
|