package com.sinata.xqmuse.ui.mine
|
|
import android.app.Activity
|
import android.content.Intent
|
import androidx.recyclerview.widget.GridLayoutManager
|
import cn.sinata.xldutils.utils.LengthFilter
|
import cn.sinata.xldutils.utils.SpanBuilder
|
import cn.sinata.xldutils.utils.myToast
|
import com.sinata.xqmuse.R
|
import com.sinata.xqmuse.dialog.PayDialog
|
import com.sinata.xqmuse.network.HttpManager
|
import com.sinata.xqmuse.network.entity.RechargeItem
|
import com.sinata.xqmuse.network.request
|
import com.sinata.xqmuse.ui.H5Activity
|
import com.sinata.xqmuse.ui.TransparentStatusBarActivity
|
import com.sinata.xqmuse.ui.home.PayResultActivity
|
import com.sinata.xqmuse.ui.mine.adapter.RechargeAdapter
|
import com.sinata.xqmuse.utils.Const
|
import com.sinata.xqmuse.utils.NumberInputFilter
|
import com.sinata.xqmuse.utils.event.EmptyEvent
|
import com.sinata.xqmuse.utils.extention.clickDelay
|
import com.sinata.xqmuse.utils.interfaces.StringCallback
|
import com.sinata.xqmuse.utils.pay.PayListener
|
import com.sinata.xqmuse.utils.pay.PayUtil
|
import kotlinx.android.synthetic.main.activity_recharge.*
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.sdk27.coroutines.onClick
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.startActivityForResult
|
import java.lang.Exception
|
|
class RechargeActivity : TransparentStatusBarActivity(),PayListener {
|
override fun setContentView() = R.layout.activity_recharge
|
|
override fun initClick() {
|
tv_action.onClick {
|
val moneyS = et_money.text.toString()
|
if (moneyS.isEmpty())
|
myToast("请填写充值金额")
|
else{
|
try {
|
val money = moneyS.toDouble()
|
if (money == 0.0)
|
myToast("充值金额不能为0")
|
else{
|
PayDialog.show(supportFragmentManager,object : StringCallback {
|
override fun onResult(rst: String) {
|
pay(rst.toInt(),money)
|
}
|
},money,false)
|
}
|
}catch (e:Exception){
|
myToast("充值金额有误")
|
}
|
}
|
}
|
}
|
|
override fun initView() {
|
PayUtil.addPayListener(this)
|
et_money.filters = arrayOf(NumberInputFilter(Int.MAX_VALUE.toDouble()))
|
}
|
|
private fun pay(payType:Int,money:Double){
|
HttpManager.payCourse(null,payType,3,null,money).request(this){ _, data->
|
HttpManager.pay(data?.id?:"",payType,3).request(this,false,success = {_,data->
|
if (payType == 2){
|
PayUtil.aliPay(this,data?.orderInfo?:"")
|
}else{
|
PayUtil.initWeChatPay(this,Const.WX_APP_ID)
|
PayUtil.weChatPay(data!!)
|
}
|
}){_,msg->
|
startActivityForResult<PayResultActivity>(1,"type" to PayResultActivity.TYPE_RECHARGE_FAILED,"msg" to msg)
|
}
|
}
|
}
|
|
override fun onPaySuccess() {
|
EventBus.getDefault().post(EmptyEvent(Const.EventCode.REFRESH_WALLET)) //充值成功,刷新钱包
|
startActivity<PayResultActivity>("type" to PayResultActivity.TYPE_RECHARGE_SUC)
|
setResult(Activity.RESULT_OK)
|
finish()
|
}
|
|
override fun onPayCancel() {
|
}
|
|
override fun onPayError(msg: String) {
|
startActivityForResult<PayResultActivity>(1,"type" to PayResultActivity.TYPE_RECHARGE_FAILED)
|
}
|
|
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
super.onActivityResult(requestCode, resultCode, data)
|
if (resultCode == RESULT_OK){
|
tv_action.postDelayed({
|
tv_action.callOnClick()
|
},500)
|
}
|
}
|
|
override fun onDestroy() {
|
super.onDestroy()
|
PayUtil.removePayListener(this)
|
PayUtil.unregisterApp()
|
}
|
|
}
|