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 |  105 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 84 insertions(+), 21 deletions(-)

diff --git a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
index b5b3b90..34b600a 100644
--- a/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
+++ b/app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
@@ -1,6 +1,7 @@
 package com.okgoincar.slab
 
 import android.os.CountDownTimer
+import android.os.Handler
 import android.os.Looper
 import cn.sinata.xldutils.utils.*
 import com.okgoincar.netUtls.callNet
@@ -10,10 +11,12 @@
 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
 import kotlinx.android.synthetic.main.activity_order_over.*
+import java.lang.Exception
 
 class SlabOrderOverActivity : MySlabBaseActivity() {
 
@@ -41,7 +44,7 @@
     override fun onPause() {
         super.onPause()
         if (time != null){
-            time!!.onFinish()
+            time!!.cancel()
         }
     }
 
@@ -96,23 +99,21 @@
         callNet(this, Api.queryOrderInfo, map) {
             orderBean = gson.fromJson(it, OrderBean::class.java)
             showUi(orderBean)
-            time = timeOver (5000){
-                tv_title_slab.text = "已完成($it)"
-                if (it == 0){
-                    onBackPressed()
-                }
-            }
+//            addSocketLisener(orderBean)
+            checkOrderStatue()
         }
     }
 
     private fun showUi(orderBean: OrderBean?) {
         orderBean?.let {
+            tv_title_slab.text = "待支付"
             tv_name.text = it.data.nickName
             tv_car_num.text = it.data.historyNum.toString() + "次乘车"
             tv_phone.clickDelay {
                 MyUtils.getInstans().CallPhone(this, it.data.phone.toString())
             }
             tv_pay_result_money.text = "¥" + it.data.orderMoney.toString()
+            tv_pay_result_small_money.text = "¥" + it.data.tipMoney.toString()
             tv_time.text = it.data.travelTime
             tv_start_address.text = it.data.startAddress
             tv_end_address.text = it.data.endAddress
@@ -143,15 +144,40 @@
         }
     }
 
-    private fun addSocketLisener() {
+    private fun addSocketLisener(orderBean: OrderBean?) {
         MyApplication.addOrderView(object : MyApplication.OrderStatueView {
             override fun orderInfo(data: OrderSimpleData?) {
                 data?.let {
-                    if (it.status == 8) {
-                        android.os.Handler(Looper.getMainLooper()).post {
-                            orderBean.data.orderState = 8
-                            showUi(orderBean)
+                    if (it.status == 8||it.status == 7) {
+                        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) {
+                                    }
+                                }
+                            }
                         }
+
+//                        android.os.Handler(Looper.getMainLooper()).post {
+//                            orderBean.data.orderState = 8
+//                            showUi(orderBean)
+//                        }
                     }
                 }
             }
@@ -165,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