From d2c92897e22b2c1992eceaef585f967a06b6ea84 Mon Sep 17 00:00:00 2001
From: liugl <liugl@sinata.cn>
Date: 星期一, 02 十一月 2020 15:59:29 +0800
Subject: [PATCH] 11.30  首页列表添加 其他数据用来展示页面 不空

---
 app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt |   43 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt b/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt
index 55c5149..0e8f391 100644
--- a/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt
+++ b/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt
@@ -3,7 +3,6 @@
 import android.content.BroadcastReceiver
 import android.content.Context
 import android.content.Intent
-import android.net.ConnectivityManager
 import android.os.Handler
 import android.os.Looper
 import cn.sinata.xldutils.netstatus.NetUtils
@@ -18,6 +17,27 @@
 import org.greenrobot.eventbus.EventBus
 import java.lang.Exception
 
+/***
+ * 为了支持本页面所需的 MyApplication.currentOrderId 所以在订单列表获取处,订单页面,设置了这个常量的值
+ *
+ * 1:接单后 重车时无网
+ *  --车载屏无反应
+ *  缓存 订单开始状态
+ *  来网后空车时 --》 查看是否有进行中id,是否有缓存
+ *
+ *
+ * 2:接单后 空车时无网
+ *
+ *
+ *
+ * 3:接单后 正常状态
+ *
+ *
+ *
+ * 4:接单后 都没有网络
+ *
+ *
+ */
 class MoneyBroadCastReceiver : BroadcastReceiver() {
     override fun onReceive(contexts: Context?, intent: Intent?) {
         if (intent == null && contexts == null) {
@@ -56,6 +76,7 @@
                 if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { //有网络直接处理
                     callStartOrder(contexts, i)
                 } else { //无网络 存本地
+                    toast("当前没有网络,订单将保存在本地")
                     var bean = LocalOrderBean()
                     bean.orderId = MyApplication.currentOrderId
                     bean.startTime = System.currentTimeMillis()
@@ -63,11 +84,11 @@
                 }
             } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单
                 if (NetUtils.isNetworkConnected(MyApplication.getInstance())) {
-                    callErrorOrder(contexts)
+                    toast("有网络,有异常数据,此次数据不受理")
+//                    callErrorOrder(contexts)
                 }
             }
         }
-
 
         fun callOver(contexts: Context, travelFee: Double) {
             if (MyApplication.currentOrderId.isEmpty()) {
@@ -78,6 +99,7 @@
                 if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { //有网络直接处理
                     callEndOrder(contexts, travelFee)
                 } else { //无网络 存本地
+                    toast("当前没有网络,订单将保存在本地")
                     var bean = LocalOrderBean()
                     bean.orderId = MyApplication.currentOrderId
                     bean.endTime = System.currentTimeMillis()
@@ -124,19 +146,24 @@
                 if (bean.startTime <= 0L) {
                     if (NetUtils.isNetworkConnected(MyApplication.getInstance())){
                         CacheKey.saveLocalOrderBeanNull()
+                        toast("调用正常结束,在异常订单中")
                         callEndOrder(contexts,bean.money)
                     }
                 }else{
                     if (NetUtils.isNetworkConnected(MyApplication.getInstance())){
-                        CacheKey.saveLocalOrderBeanNull()
                         val map = getMapByAny()
                         map["orderId"] = bean.orderId
                         map["orderType"] = bean.orderType
                         map["type"] = "1"
                         map["travelFee"] = bean.money
-                        callNet(contexts, "api/order/confirmFees$", map) {
+                        CacheKey.saveLocalOrderBeanNull()
+                        toast("调用异常结束,在异常订单中 id==="+bean.orderId)
+                        callNet(contexts, "api/order/confirmFees$", map,{
                             toast("上传异常订单成功")
                             EventBus.getDefault().post(BaseEvent(BaseEvent.ERROR_INFO))
+                        }) {
+                            toast("上传异常订单失败")
+                            CacheKey.saveLocalOrderBean(bean)
                         }
                     }
                 }
@@ -157,6 +184,12 @@
         }
 
         private fun callEndOrder(contexts: Context, travelFee: Double) {
+            if (MyApplication.getLocation().latitude == 0.0){
+                Handler(Looper.getMainLooper()).post {
+                    toast("结束时的位置为空,停止结束")
+                }
+                return
+            }
             var map = getMapByAny()
             map["orderId"] = MyApplication.currentOrderId
             map["orderType"] = MyApplication.currentOrderType

--
Gitblit v1.7.1