package com.dollearn.student.ui.shop
|
|
import android.content.Intent
|
import androidx.core.os.bundleOf
|
import cn.sinata.xldutils.utils.myToast
|
import cn.sinata.xldutils.visible
|
import com.dollearn.student.R
|
import com.dollearn.student.dialog.TipDialog
|
import com.dollearn.student.network.HttpManager
|
import com.dollearn.student.network.entity.GoodsOrder
|
import com.dollearn.student.network.entity.Recipient
|
import com.dollearn.student.network.request
|
import com.dollearn.student.ui.TransparentStatusBarActivity
|
import com.dollearn.student.ui.home.PayResultActivity
|
import com.dollearn.student.ui.mine.ChangeAddressActivity
|
import com.dollearn.student.utils.Const
|
import com.dollearn.student.utils.event.EmptyEvent
|
import kotlinx.android.synthetic.main.activity_exchange.*
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.startActivityForResult
|
|
class ExchangeActivity:TransparentStatusBarActivity() {
|
override fun setContentView() = R.layout.activity_exchange
|
|
private val order by lazy {
|
intent.getParcelableExtra<GoodsOrder>("order")
|
}
|
|
private var count = 1
|
private var recipient:Recipient? = null
|
|
override fun initClick() {
|
iv_add.setOnClickListener {
|
tv_count.text = (++count).toString()
|
iv_jian.setImageResource(R.mipmap.ic_j)
|
tv_goods_count.text = count.toString()
|
refreshScore()
|
}
|
iv_jian.setOnClickListener {
|
if (count != 1){
|
tv_count.text = (--count).toString()
|
tv_goods_count.text = count.toString()
|
refreshScore()
|
if (count == 1)
|
iv_jian.setImageResource(R.mipmap.ic_j_hui)
|
}
|
}
|
|
cl_address.setOnClickListener {
|
if (recipient?.id.isNullOrEmpty()){
|
startActivityForResult<AddAddressActivity>(1)
|
}else{
|
startActivityForResult<ChangeAddressActivity>(2)
|
}
|
}
|
|
tv_action.setOnClickListener {
|
if (recipient?.id.isNullOrEmpty()){
|
myToast("请填写收件人信息")
|
return@setOnClickListener
|
}
|
val tipDialog = TipDialog()
|
tipDialog.arguments = bundleOf("msg" to "确认兑换当前商品吗?")
|
tipDialog.setCallback(object :TipDialog.OnClickCallback{
|
override fun onOk() {
|
HttpManager.goodExchangeStudy(order!!.good.id,count,order!!.orderNumber,recipient?.id?:"",et_remark.text.toString()).request(this@ExchangeActivity,success = {_,_->
|
EventBus.getDefault().post(EmptyEvent(Const.EventCode.SCORE_CHANGED))
|
startActivity<PayResultActivity>("type" to PayResultActivity.TYPE_EXCHANGE_SUC)
|
finish()
|
}){_,msg->
|
startActivity<PayResultActivity>("type" to PayResultActivity.TYPE_EXCHANGE_FAILED,"msg" to msg)
|
finish()
|
}
|
}
|
|
override fun onCancel() {
|
}
|
})
|
tipDialog.show(supportFragmentManager,"sure")
|
}
|
}
|
|
private fun refreshScore(){
|
tv_total_score.text = ((order?.good?.integral?:0)*count).toString()
|
tv_score.text = tv_total_score.text
|
}
|
|
override fun initView() {
|
order?.apply {
|
this@ExchangeActivity.recipient = recipient
|
iv_goods.setImageURI(good.coverImg)
|
tv_name.text = good.name
|
tv_price.text = "${good.integral}积分"
|
tv_order_num.text = orderNumber
|
tv_goods_count.text = "1"
|
tv_total_score.text = good.integral.toString()
|
tv_score.text = good.integral.toString()
|
if (recipient?.id.isNullOrEmpty()){
|
tv_empty.visible()
|
}else{
|
tv_address.text = recipient?.province+recipient?.city+recipient?.address
|
tv_user.text = "%s | %s".format(recipient?.recipient,recipient?.recipientPhone)
|
}
|
}
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (data!=null&&resultCode == RESULT_OK){
|
if (requestCode == 2){
|
recipient = data.getParcelableExtra("address")
|
if (!recipient?.id.isNullOrEmpty()) {
|
tv_address.text = recipient?.province+recipient?.city+recipient?.address
|
tv_user.text = "%s | %s".format(recipient?.recipient,recipient?.recipientPhone)
|
}
|
}else{
|
HttpManager.getOrderAddress().request(this){_,data->
|
recipient = data?.firstOrNull()
|
tv_address.text = recipient?.province+recipient?.city+recipient?.address
|
tv_user.text = "%s | %s".format(recipient?.recipient,recipient?.recipientPhone)
|
}
|
}
|
}
|
}
|
|
}
|