lmw
2024-10-25 314b67e56f24f7bce040ae2b5d57c7eac7b197a9
app/src/main/java/com/sinata/xqmuse/ui/mine/RechargeActivity.kt
@@ -2,6 +2,8 @@
import android.app.Activity
import android.content.Intent
import android.text.Editable
import android.text.TextWatcher
import androidx.recyclerview.widget.GridLayoutManager
import cn.sinata.xldutils.utils.LengthFilter
import cn.sinata.xldutils.utils.SpanBuilder
@@ -27,27 +29,36 @@
import org.jetbrains.anko.sdk27.coroutines.onClick
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.startActivityForResult
import org.jetbrains.anko.toast
import java.lang.Exception
class RechargeActivity : TransparentStatusBarActivity(),PayListener {
    override fun setContentView() = R.layout.activity_recharge
    private var way = 1
    private var money = 0.0
    override fun initClick() {
        tv_way.setOnClickListener {
            PayDialog.show(supportFragmentManager,object : StringCallback {
                override fun onResult(rst: String) {
                    way = rst.toInt()
                    tv_way.text = if (rst == "1") "微信" else "支付宝"
                }
            },0.0,false)
        }
        tv_action.onClick {
            val moneyS = et_money.text.toString()
            if (moneyS.isEmpty())
                myToast("请填写充值金额")
            else{
                try {
                    val money = moneyS.toDouble()
                    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)
                        pay(way,money)
                    }
                }catch (e:Exception){
                    myToast("充值金额有误")
@@ -59,26 +70,40 @@
    override fun initView() {
        PayUtil.addPayListener(this)
        et_money.filters = arrayOf(NumberInputFilter(Int.MAX_VALUE.toDouble()))
        tv_action.alpha = 0.5f
        et_money.addTextChangedListener(object :TextWatcher{
            override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
            }
            override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
            }
            override fun afterTextChanged(s: Editable?) {
                tv_action.alpha = if (s.isNullOrEmpty()) 0.5f else 1f
            }
        })
    }
    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)
            }
        }
        toast("%s充值%.2f".format(if (payType == 1) "微信" else "支付宝",money))
        onPaySuccess()
//        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)
        startActivity<RechargeSucActivity>("money" to money,"way" to way)
        setResult(Activity.RESULT_OK)
        finish()
    }