lmw
2024-10-23 2f204867ad034d3a95ba9acc112d6507f296447b
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
110
111
package com.sinata.xqmuse.ui.course
 
import cn.sinata.xldutils.utils.isValidPhone
import cn.sinata.xldutils.utils.myToast
import com.sinata.xqmuse.R
import com.sinata.xqmuse.dialog.SingleWheelDialog
import com.sinata.xqmuse.network.HttpManager
import com.sinata.xqmuse.network.request
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
import com.sinata.xqmuse.utils.extention.clickDelay
import com.sinata.xqmuse.utils.interfaces.StringCallback
import kotlinx.android.synthetic.main.activity_receive_gift.*
 
class ReceiveGiftActivity : TransparentStatusBarActivity() {
    override fun setContentView() = R.layout.activity_receive_gift
 
    private var provinceId = ""
    private var provinceCode = ""
 
    private var cityCode = ""
 
    override fun initClick() {
        tv_cancel.setOnClickListener { finish() }
        tv_province.clickDelay {
            HttpManager.getCity(null).request(this){_,data->
                val p = arrayListOf<String>()
                p.addAll(data?.map { it.name }?: arrayListOf())
                SingleWheelDialog.show(supportFragmentManager,"选择省",p,object :StringCallback{
                    override fun onResult(rst: String) {
                        data?.filter { it.name == rst }?.firstOrNull()?.apply {
                            tv_province.text = rst
                            provinceId = id
                            provinceCode = id
                        }
                    }
                })
            }
        }
 
        tv_city.clickDelay {
            if (provinceId.isNullOrEmpty())
                myToast("请选择省")
            else
                HttpManager.getCity(provinceId).request(this){ _, data->
                    val p = arrayListOf<String>()
                    p.addAll(data?.map { it.name }?: arrayListOf())
                    SingleWheelDialog.show(supportFragmentManager,"选择城市",p,object :StringCallback{
                        override fun onResult(rst: String) {
                            data?.filter { it.name == rst }?.firstOrNull()?.apply {
                                tv_city.text = rst
                                cityCode = id
                            }
                        }
                    })
                }
        }
 
        tv_action.setOnClickListener {
            val name = et_name.text.toString()
            if (name.isNullOrEmpty()){
                myToast("请填写收件人姓名")
                return@setOnClickListener
            }
            val phone = et_phone.text.toString()
            if (phone.isNullOrEmpty()){
                myToast("请填写收件人电话")
                return@setOnClickListener
            }
            if (!phone.isValidPhone()){
                myToast("收件人电话有误")
                return@setOnClickListener
            }
            if (provinceCode.isNullOrEmpty()){
                myToast("请选择所在省份")
                return@setOnClickListener
            }
            if (cityCode.isNullOrEmpty()){
                myToast("请选择所在城市")
                return@setOnClickListener
            }
            val address = et_address.text.toString()
            if (address.isNullOrEmpty()){
                myToast("请填写详细地址")
                return@setOnClickListener
            }
            HttpManager.setAddress(address,provinceCode,tv_province.text.toString(),cityCode,tv_city.text.toString(),phone, name).request(this){_,_->
                myToast("提交成功")
                finish()
            }
        }
    }
 
    override fun initView() {
        getAddress()
    }
 
    private fun getAddress(){
        HttpManager.getAddress().request(this){_,data->
            data?.apply {
                et_name.setText(recipient)
                et_phone.setText(recipientPhone)
                tv_province.text = province
                this@ReceiveGiftActivity.provinceCode = provinceCode
                this@ReceiveGiftActivity.provinceId = provinceCode
                tv_city.text = city
                this@ReceiveGiftActivity.cityCode = cityCode
                et_address.setText(address)
            }
        }
    }
}