From e04a10081655911e65a93ac864051747a19a2d99 Mon Sep 17 00:00:00 2001
From: liugl <liugl@sinata.cn>
Date: 星期五, 21 八月 2020 16:30:02 +0800
Subject: [PATCH] 8.21

---
 app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt |   47 +++++++++++++++++++++++++++++++++--------------
 1 files changed, 33 insertions(+), 14 deletions(-)

diff --git a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
index 7e2bac5..34b600a 100644
--- a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
+++ b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
@@ -11,6 +11,7 @@
 import com.okgoincar.base.MyApplication
 import com.okgoincar.bean.OrderBean
 import com.okgoincar.bean.OrderSimpleData
+import com.okgoincar.bean.OrderStatueBean
 import com.okgoincar.netUtls.Api
 import com.okgoincar.netUtls.timeOver
 import com.okgoincar.utils.MyUtils
@@ -98,8 +99,8 @@
         callNet(this, Api.queryOrderInfo, map) {
             orderBean = gson.fromJson(it, OrderBean::class.java)
             showUi(orderBean)
-            addSocketLisener(orderBean)
-//            checkOrderStatue()
+//            addSocketLisener(orderBean)
+            checkOrderStatue()
         }
     }
 
@@ -153,6 +154,11 @@
                             R.color.slab_green_over
                         )
                         Handler(Looper.getMainLooper()).post {
+                            if (isPlay)
+                            {
+                                return@post
+                            }
+                            isPlay = true
                             MyApplication.getTTsManager().setVideoText("乘客已支付"+orderBean?.data?.orderMoney.toString()+"元")
                             time = timeOver(20000) {
                                 tv_title_slab.text = "已完成($it)"
@@ -186,31 +192,46 @@
     }
 
     var handler: Handler? = null
+    var isPlay = false
 
     fun checkOrderStatue() {
         if (handler == null) {
             handler = Handler(mainLooper)
-            handler!!.postDelayed({
-                checkOrderStatue()
-            }, 3000)
         }
+        handler!!.postDelayed({
+            checkOrderStatue()
+        }, 3000)
         var map = getMapByAny()
-        map["orderId"] = orderId
-        map["orderType"] = orderType
-        callNet(false,Api.queryOrderInfo, map) {
+//        map["orderId"] = orderId
+//        map["orderType"] = orderType
+        callNet(false,Api.orderStateSocket, map) {
             val orderSimpleData =
                 Gson().fromJson(
                     it,
-                    OrderBean::class.java
+                    OrderStatueBean::class.java
                 )
-            orderSimpleData?.let {
-                if (it.data.orderState == 8) {
+            orderSimpleData?.data?.let {
+                var currentBean:OrderStatueBean.DataBean? = null
+                for (item in it){
+                    if (item.orderId ==orderBean.data?.orderId ){
+                        currentBean = item
+                    }
+                }
+                if (it.size == 0 || currentBean == null){
+                    return@callNet
+                }
+                if (currentBean.state == 8) {
                     tv_pay_result_money.textColor(
                         this@SlabOrderOverActivity,
                         R.color.slab_green_over
                     )
                     Handler(Looper.getMainLooper()).post {
-                        MyApplication.getTTsManager().setVideoText("乘客已支付"+it.data.orderMoney.toString()+"元")
+                        if (isPlay)
+                        {
+                            return@post
+                        }
+                        isPlay = true
+                        MyApplication.getTTsManager().setVideoText("乘客已支付"+ orderBean.data?.orderMoney.toString()+"元")
                         time = timeOver(20000) {
                             tv_title_slab.text = "已完成($it)"
                             if (it == 0) {
@@ -224,8 +245,6 @@
                             }
                         }
                     }
-                }else{
-                    handler?.postDelayed({ checkOrderStatue() }, 3000)
                 }
             }
         }

--
Gitblit v1.7.1