From b386de74c74a4431b2b735eb77c383b71b3ee5b2 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期五, 31 七月 2026 14:50:06 +0800
Subject: [PATCH] 修复问题

---
 app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt |  115 +++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 70 insertions(+), 45 deletions(-)

diff --git a/app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt
index 40e0863..6b931c4 100644
--- a/app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/ui/main/OrderOverActivity.kt
@@ -22,6 +22,7 @@
 import com.driver.igotrip.bean.OrderBean
 import com.driver.igotrip.bean.OrderSimpleData
 import com.driver.igotrip.bean.StringBean
+import com.driver.igotrip.extension.extClearInvalidZero
 import com.driver.igotrip.netUtls.Api
 import com.driver.igotrip.netUtls.callNet
 import com.driver.igotrip.netUtls.getMapByAny
@@ -103,7 +104,7 @@
     private fun showUi(orderBean: OrderBean.DataBean) {
         orderBean?.let {
             tv_name.text = it.nickName
-            tv_car_num.text = getString(R.string.次乘车,it.historyNum.toString())
+            tv_car_num.text = getString(R.string.次乘车, it.historyNum.toString())
             iv_phone.visible()
             iv_phone.clickDelay {
                 MyUtils.getInstans().CallPhone(this, it.phone.toString())
@@ -111,30 +112,37 @@
             tv_time.text = it.travelTime_
             tv_start_address.text = it.startAddress
             tv_end_address.text = it.endAddress
-            tv_red_money.text =  getString(R.string.元红包,it.tipMoney.toString())
+            tv_red_money.text =
+                getString(R.string.元红包, it.tipMoney.toString().extClearInvalidZero())
             remark.text = it.remark
             remark.gone()
-            if(orderType == "1"){
+            if (orderType == "1") {
                 tv_red_money.gone()
             }
-            tv_order_money.text = getString(R.string.money) + it.orderMoney
-            tv_service_money.text = getString(R.string.money) + it.platformServerMoney
-            tv_coupon_price.text = "-" + getString(R.string.money) + it.couponMoney
+            tv_order_money.text =
+                getString(R.string.money) + " " + it.orderMoney.toString().extClearInvalidZero()
+            tv_service_money.text =
+                getString(R.string.money) + " " + it.platformServerMoney.extClearInvalidZero()
+            tv_coupon_price.text =
+                "-" + getString(R.string.money) + " " + it.couponMoney.extClearInvalidZero()
             ll_coupon_price.isVisible = (it.couponMoney?.toDoubleOrNull() ?: 0.0) > 0
-            tv_real_income.text = getString(R.string.money) + it.driverServerMoney
+            tv_real_income.text =
+                getString(R.string.money) + " " + it.driverServerMoney.extClearInvalidZero()
             when (orderBean.orderState) {
-                10,12-> {
+                10, 12 -> {
                     ll_order_cancel.visible()
                     setTitleText(getString(if (orderBean.orderState == 10) R.string.已取消 else R.string.取消待支付))
                     iv_phone.gone()
                     tv_cancel_to.text = it.cancelUser
-                    tv_cancel_money.text = getString(R.string.money) +" "+ doubleOne(it.cancelPayMoney)
+                    tv_cancel_money.text =
+                        (getString(R.string.money) + " " + doubleOne(it.cancelPayMoney)).extClearInvalidZero()
                     tv_cancel_result.text = it.cancelReason
                     tv_cancel_s.text = it.cancelRemark
-                    if (it.cancelRemark.isNullOrEmpty()){
+                    if (it.cancelRemark.isNullOrEmpty()) {
                         tv_cancel_s.text = ""
                     }
                 }
+
                 6, 7 -> {
                     if (it.payManner == 2) {
                         tv_show_pay_over.visible()
@@ -144,16 +152,17 @@
                         showPayResultText(it, it.orderState)
                     }
                 }
+
                 8, 9 -> {
                     if (it.payManner == 2) {
                         tv_show_pay_over.visible()
-                        setTitleText(getString(if(orderBean.orderState == 8) R.string.待评价 else R.string.已完成))
+                        setTitleText(getString(if (orderBean.orderState == 8) R.string.待评价 else R.string.已完成))
                     } else {
                         showPayResultText(it, it.orderState)
                     }
                 }
             }
-            if (orderBean.orderState in 6..9 && it.driverPay == "1"){
+            if (orderBean.orderState in 6..9 && it.driverPay == "1") {
                 var paytype = 3
                 tv_pay_result_title.text = getString(R.string.乘客已现金支付)
                 ll_pay_bottom.visible()
@@ -170,22 +179,24 @@
                     selectItem(iv_phone_select)
                 }
                 tv_sure_dan.clickDelay {
-                    if (paytype == 2){
+                    if (paytype == 2) {
                         val dialog = ChooseCardDialog()
                         dialog.setCallback(object : StringCallback {
                             override fun onRlt(rlt: String) {
-                                payOrder(paytype,rlt)
+                                payOrder(paytype, rlt)
                             }
                         })
-                        dialog.show(supportFragmentManager,"card")
-                    }else
+                        dialog.show(supportFragmentManager, "card")
+                    } else
                         payOrder(paytype)
                 }
             }
-            if (it.isFrozen == 2){
+            if (it.isFrozen == 2) {
                 tv_frozen.visible()
-                tv_frozen.setCompoundDrawablesRelativeWithIntrinsicBounds(0,
-                    UiUtil.getFrozenBitmap(),0,0)
+                tv_frozen.setCompoundDrawablesRelativeWithIntrinsicBounds(
+                    0,
+                    UiUtil.getFrozenBitmap(), 0, 0
+                )
             }
         }
     }
@@ -193,28 +204,29 @@
     /**
      * @param paytype 支付方式1=线上,2=余额
      */
-    private fun payOrder(paytype: Int,bank:String? = null) {
+    private fun payOrder(paytype: Int, bank: String? = null) {
         var map = getMapByAny()
         map["orderId"] = orderId
         map["orderType"] = orderType
         map["payType"] = paytype
-        if (paytype == 2&&bank!=null)
+        if (paytype == 2 && bank != null)
             map["bankCardId"] = bank
         callNet(Api.payOrder, map) {
-            when(paytype){
-                3->{ //现金支付成功
+            when (paytype) {
+                3 -> { //现金支付成功
                     showToast(getString(R.string.支付成功))
                     ll_pay_bottom.gone()
                 }
-                else->{
+
+                else -> {
                     val data = gson.fromJson(it, StringBean::class.java).data
-                    toBrowser(data?:"")
+                    toBrowser(data ?: "")
                 }
             }
         }
     }
 
-    fun toBrowser(url:String){
+    fun toBrowser(url: String) {
         toPay = true
         MyApplication.isPlayVoice = false
         val intent = Intent()
@@ -225,16 +237,16 @@
 
     override fun onResume() {
         super.onResume()
-        if (toPay){
+        if (toPay) {
             var map = getMapByAny()
             map["orderId"] = orderId
             map["orderType"] = orderType
             callNet(Api.queryOrderInfo, map) {
                 val orderBean1 = gson.fromJson(it, OrderBean::class.java)
-                if (orderBean1.data.driverPay == "2"){
+                if (orderBean1.data.driverPay == "2") {
                     showUi(orderBean1.data)
                     toast(getString(R.string.支付成功))
-                }else{
+                } else {
                     toast(getString(R.string.支付失败))
                 }
             }
@@ -252,9 +264,14 @@
     /**
      * 提示乘客现金支付
      */
-    override fun showDriverPayDialog(audioUrl:String,orderId: String, orderType: String,money:Double) {
+    override fun showDriverPayDialog(
+        audioUrl: String,
+        orderId: String,
+        orderType: String,
+        money: Double
+    ) {
         getTTsManager().setVideoText(audioUrl)
-        if (orderId == this.orderId&&orderType == this.orderType){
+        if (orderId == this.orderId && orderType == this.orderType) {
             var map = getMapByAny()
             map["orderId"] = orderId
             map["orderType"] = orderType
@@ -265,7 +282,9 @@
                 dialog.setCanceledOnTouchOutside(false)
                 dialog.setCancelable(false)
                 val view = DialogUtil.getView(dialog)
-                view.find<TextView>(R.id.tv_price).text = getString(R.string.确认现金金额).format(if (money == 0.0) orderBean.orderMoney else money).replace(",",".")
+                view.find<TextView>(R.id.tv_price).text =
+                    getString(R.string.确认现金金额).format(if (money == 0.0) orderBean.orderMoney else money)
+                        .replace(",", ".").extClearInvalidZero()
                 view.find<TextView>(R.id.tv_close_base).setOnClickListener { dialog.dismiss() }
                 view.find<TextView>(R.id.tv_sure_base).setOnClickListener { dialog.dismiss() }
             }
@@ -273,20 +292,21 @@
     }
 
     private fun addSocketLisener() {
-        MyApplication.addOrderView(object : MyApplication.OrderStatueView {
-            override fun orderInfo(data: OrderSimpleData?) {
-                data?.let {
-                    if (it.status == 8 || it.status == 9) {
-                        Handler(Looper.getMainLooper()).post {
-                            orderBean.orderState = 8
-                            showUi(orderBean)
-                        }
+        MyApplication.addOrderView(listener)
+    }
+
+    private val listener = object : MyApplication.OrderStatueView {
+        override fun orderInfo(data: OrderSimpleData?) {
+            data?.let {
+                if (it.status == 8 || it.status == 9) {
+                    Handler(Looper.getMainLooper()).post {
+                        orderBean.orderState = 8
+                        showUi(orderBean)
                     }
                 }
             }
-        })
+        }
     }
-
     var handler: Handler? = null
     fun checkOrderStatue() {
         var map = getMapByAny()
@@ -310,6 +330,7 @@
 
     override fun onDestroy() {
         super.onDestroy()
+        MyApplication.removeOrderView(listener)
         handler?.removeCallbacksAndMessages(null)
     }
 
@@ -320,13 +341,17 @@
             setTitleText(getString(R.string.待支付))
         } else {
             tv_pay_result_title.text = getString(R.string.乘客已支付)
-            setTitleText(if(orderBean.orderState == 8) R.string.待评价 else R.string.已完成)
+            setTitleText(if (orderBean.orderState == 8) R.string.待评价 else R.string.已完成)
         }
-        tv_pay_result_money.text = getString(R.string.money) + if (it.payMoney == 0.0) it.orderMoney.toString() else it.payMoney.toString()
+        tv_pay_result_money.text =
+            getString(R.string.money) + " " + (if (it.payMoney == 0.0) it.orderMoney.toString() else it.payMoney.toString()).extClearInvalidZero()
         when (orderType) {
             "2" -> {
-                tv_pay_result_small_money.text = getString(R.string.其中含红包费用) + it.tipMoney.toString()
+                tv_pay_result_small_money.text =
+                    getString(R.string.其中含红包费用) + " " + it.tipMoney.toString()
+                        .extClearInvalidZero()
             }
+
             "1" -> {
                 tv_pay_result_small_money.text = getString(R.string.查看收费明细)
                 view_line_money_detail.visible()

--
Gitblit v1.7.1