From f2124ee623ac169d5f82bc85eba6ebf377f58b07 Mon Sep 17 00:00:00 2001
From: liugl <liugl@sinata.cn>
Date: 星期二, 01 九月 2020 16:22:36 +0800
Subject: [PATCH] 8.31

---
 app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt |   81 ++++++++++++++++++++++++++++++++--------
 1 files changed, 64 insertions(+), 17 deletions(-)

diff --git a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
index d659f30..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()
-
+//            addSocketLisener(orderBean)
+            checkOrderStatue()
         }
     }
 
@@ -143,22 +144,31 @@
         }
     }
 
-    private fun addSocketLisener() {
+    private fun addSocketLisener(orderBean: OrderBean?) {
         MyApplication.addOrderView(object : MyApplication.OrderStatueView {
             override fun orderInfo(data: OrderSimpleData?) {
                 data?.let {
                     if (it.status == 8||it.status == 7) {
-                        tv_pay_result_money.textColor(this@SlabOrderOverActivity,R.color.slab_green_over)
+                        tv_pay_result_money.textColor(
+                            this@SlabOrderOverActivity,
+                            R.color.slab_green_over
+                        )
                         Handler(Looper.getMainLooper()).post {
-                            time = timeOver (20000){
+                            if (isPlay)
+                            {
+                                return@post
+                            }
+                            isPlay = true
+                            MyApplication.getTTsManager().setVideoText("乘客已支付"+orderBean?.data?.orderMoney.toString()+"元")
+                            time = timeOver(20000) {
                                 tv_title_slab.text = "已完成($it)"
-                                if (it == 0){
-                                    if (time != null){
+                                if (it == 0) {
+                                    if (time != null) {
                                         time!!.cancel()
                                     }
                                     try {
                                         onBackPressed()
-                                    }catch (e:Exception){
+                                    } catch (e: Exception) {
                                     }
                                 }
                             }
@@ -181,26 +191,63 @@
 //        }
     }
 
-    var handler: android.os.Handler? = null
+    var handler: Handler? = null
+    var isPlay = false
 
     fun checkOrderStatue() {
+        if (handler == null) {
+            handler = Handler(mainLooper)
+        }
+        handler!!.postDelayed({
+            checkOrderStatue()
+        }, 3000)
         var map = getMapByAny()
-        map["orderId"] = orderId
-        map["orderType"] = orderType
+//        map["orderId"] = orderId
+//        map["orderType"] = orderType
         callNet(false,Api.orderStateSocket, map) {
             val orderSimpleData =
                 Gson().fromJson(
                     it,
-                    OrderSimpleData::class.java
+                    OrderStatueBean::class.java
                 )
-            orderSimpleData?.let {
-                if (orderSimpleData.status == 8) {
-                    orderBean.data.orderState = 8
-                    showUi(orderBean)
+            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 {
+                        if (isPlay)
+                        {
+                            return@post
+                        }
+                        isPlay = true
+                        MyApplication.getTTsManager().setVideoText("乘客已支付"+ orderBean.data?.orderMoney.toString()+"元")
+                        time = timeOver(20000) {
+                            tv_title_slab.text = "已完成($it)"
+                            if (it == 0) {
+                                if (time != null) {
+                                    time!!.cancel()
+                                }
+                                try {
+                                    onBackPressed()
+                                } catch (e: Exception) {
+                                }
+                            }
+                        }
+                    }
                 }
             }
         }
-        handler?.postDelayed({ checkOrderStatue() }, 3000)
     }
 
     override fun onDestroy() {

--
Gitblit v1.7.1