package com.fanghua.driver.ui.main.major
|
|
import cn.sinata.xldutils.utils.*
|
import com.google.gson.Gson
|
import com.fanghua.driver.R
|
import com.fanghua.driver.base.MyApplication
|
import com.fanghua.driver.base.MyBaseActivity
|
import com.fanghua.driver.bean.BaseBean
|
import com.fanghua.driver.bean.MajorMoneyBean
|
import com.fanghua.driver.bean.OrderDetailBean
|
import com.fanghua.driver.bean.OrderMoneyData
|
import com.fanghua.driver.netUtls.Api
|
import com.fanghua.driver.netUtls.callNet
|
import com.fanghua.driver.netUtls.getMapByAny
|
import com.fanghua.driver.ui.DialogUtil
|
import com.fanghua.driver.ui.main.MainActivity
|
import com.fanghua.driver.ui.mine.money_bag.AddPayQRCodeActivity
|
import kotlinx.android.synthetic.main.activity_sure_money.*
|
import kotlinx.android.synthetic.main.dialog_change_pay_type.*
|
import kotlinx.android.synthetic.main.dialog_change_pay_type.view.*
|
import kotlinx.android.synthetic.main.dialog_qr_code.view.*
|
import kotlinx.android.synthetic.main.dialog_qr_code.view.tv_action
|
import kotlinx.android.synthetic.main.dialog_sure_and_del.view.*
|
import org.jetbrains.anko.startActivity
|
import org.jetbrains.anko.toast
|
|
class MajorSureMoneyActivity :MyBaseActivity(){
|
val orderId by lazy {
|
intent.getStringExtra("orderId")
|
}
|
|
private var moneyData:OrderMoneyData? = null
|
|
override fun setContentView() {
|
setContentView(R.layout.activity_sure_money)
|
}
|
|
override fun initView() {
|
setTitleText("确认费用")
|
callOrder()
|
}
|
|
override fun onResume() {
|
super.onResume()
|
callorderMoney()
|
}
|
|
private fun callOrder() {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
callNet(Api.queryOrderInfo, map) {
|
val resultUtil = gson.fromJson(it, OrderDetailBean::class.java).resultUtil
|
if (resultUtil.code == 10000){
|
resultUtil.data.apply {
|
if (state == 107){
|
setTitleText("待支付")
|
tv_price_detail.visible()
|
tv_hint.text = "待乘客支付"
|
}else{
|
ll_button.visible()
|
ll_price_1.visible()
|
ll_price_2.visible()
|
ll_price_3.visible()
|
}
|
iv_avatar.setImageURI(avatar)
|
tv_name.text = userName
|
tv_phone.text = StringUtils.hidePhoneNumber(userPhone)
|
if (source == 1)
|
tv_balance.text = "余额:%.2f".format(balance)
|
else
|
tv_online.gone()
|
iv_call.clickDelay { callPhone(this@MajorSureMoneyActivity,userPhone) }
|
tv_time.text = TimeUtils.getTripTime(createTime)
|
tv_start.text = startAddress
|
tv_end.text = endAddress
|
}
|
}else
|
toast(resultUtil.msg)
|
}
|
}
|
|
private fun callorderMoney() {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
callNet(false, Api.queryMoneyInfo, map) {
|
var bean = gson.fromJson<MajorMoneyBean>(it,MajorMoneyBean::class.java)
|
if (bean.resultUtil.code == 10000){
|
moneyData = bean.resultUtil.data
|
showUi()
|
} else
|
toast(bean.resultUtil.msg)
|
}
|
}
|
|
private fun showUi() {
|
moneyData?.apply {
|
tv_length.text = "%.2f公里".format(actualMileage)
|
tv_duration.text = "%s分钟".format(travelTime)
|
tv_wait_duration.text = "等待费(%d)分钟".format(waitTime)
|
tv_wait_money.text = "%.2f元".format(waitTimePrice)
|
tv_drive_length.text = "里程费(%.2f)公里".format(overDriveDistance)
|
tv_drive_money.text = "%.2f元".format(overDrivePrice)
|
tv_weather_money.text = "%.2f元".format(badWeatherPrice)
|
tv_coupon_money.text = "-%.2f元".format(discountedPrice)
|
tv_discount_money.text = "-%.2f元".format(discountAmount)
|
tv_all_money.text = "¥%.2f".format(orderMoney)
|
}
|
}
|
|
override fun setOnclick() {
|
tv_online.clickDelay { //变为待支付
|
sureMoneyCall(107,1)
|
}
|
|
tv_offline.clickDelay {
|
sureMoneyCall(107,2)
|
if (moneyData == null)
|
return@clickDelay
|
val dialog = DialogUtil.getDialog(this, R.layout.dialog_qr_code)
|
dialog.window?.decorView?.apply {
|
tv_1.text = if (moneyData?.zfbCollectionCode.isNullOrEmpty()){
|
iv_qr_code.setImageURI(moneyData?.wxCollectionCode)
|
"您的微信收款码"
|
} else{
|
iv_qr_code.setImageURI(moneyData?.zfbCollectionCode)
|
"您的支付宝收款码"
|
}
|
tv_change.clickDelay {
|
val dialog2 = DialogUtil.getDialog(this@MajorSureMoneyActivity, R.layout.dialog_change_pay_type)
|
dialog2.window?.decorView?.let {
|
if (tv_1.text.contains("微信"))
|
it.rv_wx.isChecked = true
|
it.tv_action.clickDelay {
|
tv_1.text = if (it.rv_wx.isChecked){
|
iv_qr_code.setImageURI(moneyData?.wxCollectionCode)
|
"您的微信收款码"
|
}else{
|
iv_qr_code.setImageURI(moneyData?.zfbCollectionCode)
|
"您的支付宝收款码"
|
}
|
dialog2.dismiss()
|
}
|
}
|
}
|
tv_cancel.clickDelay {
|
dialog.dismiss()
|
}
|
tv_action.clickDelay {
|
sureMoneyCall(108,2)
|
}
|
}
|
if (moneyData?.wxCollectionCode.isNullOrEmpty()&&moneyData?.zfbCollectionCode.isNullOrEmpty()){
|
val onlySureDialog = DialogUtil.getOnlySureDialog(this, "您还未设置线下收款码") {
|
startActivity<AddPayQRCodeActivity>()
|
dialog.dismiss()
|
}
|
onlySureDialog.window?.decorView?.apply {
|
view_hint_close_base.visible()
|
tv_sure_base.text = "去设置"
|
}
|
}
|
}
|
|
tv_price_detail.clickDelay {
|
if (moneyData!=null)
|
startActivity<MajorMoneyDetailActivity>("data" to moneyData)
|
}
|
}
|
|
/**
|
* @param type 收款方式:1线上 2线下
|
*/
|
private fun sureMoneyCall(state:Int,type:Int) {
|
var map = getMapByAny()
|
map["orderId"] = orderId
|
map["state"] = state
|
map["payType"] = type
|
callNet(false, Api.confirmFees, map) {
|
val bean = Gson().fromJson(it, BaseBean::class.java)
|
if (bean.resultUtil.code == 10000){
|
if (state == 107&&type == 1){
|
setTitleText("待支付")
|
ll_button.gone()
|
ll_price_1.gone()
|
ll_price_2.gone()
|
ll_price_3.gone()
|
tv_price_detail.visible()
|
tv_hint.text = "待乘客支付"
|
}else if (state == 108){
|
startActivity<MainActivity>()
|
}
|
}else
|
toast(bean.resultUtil.msg)
|
}
|
}
|
|
}
|