lmw
2025-02-06 ab2842d427504c531c79ddb9c5a9ef1df7833014
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
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)
        }
    }
 
}