package com.kuanzhai.user.dialog
|
|
import android.os.Bundle
|
import android.view.Gravity
|
import android.view.LayoutInflater
|
import android.view.View
|
import android.view.ViewGroup
|
import androidx.fragment.app.DialogFragment
|
import cn.sinata.xldutils.activity.BaseActivity
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.utils.myToast
|
import com.kuanzhai.user.R
|
import com.kuanzhai.user.network.HttpManager
|
import com.kuanzhai.user.network.entity.Card
|
import com.kuanzhai.user.network.request
|
import kotlinx.android.synthetic.main.dialog_pay_card.*
|
import org.jetbrains.anko.matchParent
|
import org.jetbrains.anko.wrapContent
|
|
class PayCardDialog: DialogFragment() {
|
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
|
return inflater.inflate(R.layout.dialog_pay_card,container,false)
|
}
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
setStyle(STYLE_NO_FRAME,R.style.Dialog)
|
}
|
override fun onActivityCreated(savedInstanceState: Bundle?) {
|
super.onActivityCreated(savedInstanceState)
|
dialog?.window?.setLayout(matchParent, wrapContent)
|
dialog?.window?.setGravity(Gravity.BOTTOM)
|
dialog?.setCanceledOnTouchOutside(false)
|
}
|
|
private val card by lazy { arguments?.getParcelable<Card>("data") }
|
|
private var balance = 0.0
|
|
private var payWay = 3 //1=微信,2=支付宝,3=余额
|
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
super.onViewCreated(view, savedInstanceState)
|
|
card?.apply {
|
tv_origin.text = "%.2f元".format(originalPrice.toDouble())
|
tv_money.text = SpanBuilder("现价:¥%.2f".format(sellingPrice.toDouble())).size(0,3,15).build()
|
tv_action.text = "立即支付%.2f元".format(sellingPrice.toDouble())
|
}
|
|
HttpManager.queryUserInfo().request(requireActivity() as BaseActivity,false) { _, data ->
|
data?.balance?.apply {
|
balance = this
|
rb_balance.text = "余额(余额:%.2f元)".format(this)
|
}
|
}
|
|
tv_action.setOnClickListener {
|
if (payWay == 3&&balance<card!!.sellingPrice.toDouble())
|
myToast("余额不足,请选择其他支付方式")
|
else{
|
callback?.onOk(payWay)
|
dismissAllowingStateLoss()
|
}
|
}
|
iv_close.setOnClickListener {
|
dismissAllowingStateLoss()
|
}
|
|
rg_pay.setOnCheckedChangeListener { _, i ->
|
payWay = when(i){
|
R.id.rb_wx->1
|
R.id.rb_ali->2
|
else->3
|
}
|
}
|
}
|
|
interface Callback{
|
fun onOk(way: Int)
|
}
|
|
private var callback: Callback? = null
|
|
fun setCallback(callback: Callback){
|
this.callback = callback
|
}
|
}
|