From 386c12bc80d17252ea05b7bf1cb2e85db2e46767 Mon Sep 17 00:00:00 2001
From: liugl <liugl@sinata.cn>
Date: 星期五, 07 八月 2020 13:13:41 +0800
Subject: [PATCH] 8.7

---
 app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt |  184 ++++++++++++++++++++++++++-------------------
 1 files changed, 107 insertions(+), 77 deletions(-)

diff --git a/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt b/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt
index 47b49a2..ec7ff57 100644
--- a/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt
+++ b/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt
@@ -12,6 +12,7 @@
 import com.okgoincar.netUtls.Api
 import com.okgoincar.netUtls.callNet
 import com.okgoincar.netUtls.getMapByAny
+import com.okgoincar.slab.util.DialogUtil
 import com.okgoincar.utils.Cache.CacheKey
 import io.netty.util.NetUtil
 import org.greenrobot.eventbus.EventBus
@@ -38,104 +39,133 @@
                         var mileage = intent.getDoubleExtra("mileage", 0.0) //里程,单位为km
                         callOver(contexts!!, price)
                     }
-                    ConnectivityManager.CONNECTIVITY_ACTION -> {
-                        if (NetUtils.isNetworkConnected(MyApplication.getInstance())){
-                            callErrorOrder()
+
+                    "android.net.conn.CONNECTIVITY_SUCCESS", "android.net.conn.CONNECTIVITY_FAILURE", "android.net.conn.CONNECTIVITY_CHANGE" -> {
+                        toast("收到网络变化")
+                        if (NetUtils.isNetworkConnected(MyApplication.getInstance())) {
+                            callErrorOrder(contexts!!)
                         }
                     }
                 }
-
-
             }
         } catch (e: Exception) {
 
         }
-
     }
 
-    private fun callStatue(contexts: Context, i: Int) {
-        if (MyApplication.currentOrderId.isEmpty()) {
-            toast("没有进行中的订单,无法开始")
-            return
-        }
-        if (CacheKey.getLocalOrderBean() == null) { //没有数据 代表没有异常订单
-            if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { //有网络直接处理
-                callStartOrder(contexts, i)
-            } else { //无网络 存本地
-                var bean = LocalOrderBean()
-                bean.orderId = MyApplication.currentOrderId
-                bean.startTime = System.currentTimeMillis()
-                CacheKey.saveLocalOrderBean(bean)
+    companion object {
+        fun callStatue(contexts: Context, i: Int) {
+            if (MyApplication.currentOrderId.isEmpty()) {
+                toast("没有进行中的订单,无法开始")
+                return
             }
-        } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单
-            if (NetUtils.isNetworkConnected(MyApplication.getInstance())){
-                callErrorOrder()
-            }
-        }
-    }
-
-
-    private fun callOver(contexts: Context, travelFee: Double) {
-        if (MyApplication.currentOrderId.isEmpty()) {
-            toast("没有进行中的订单,无法结束")
-            return
-        }
-        if (CacheKey.getLocalOrderBean() == null) { //没有数据 代表没有异常订单
-            if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { //有网络直接处理
-                callEndOrder(contexts, travelFee)
-            } else { //无网络 存本地
-                var bean = LocalOrderBean()
-                bean.orderId = MyApplication.currentOrderId
-                bean.endTime = System.currentTimeMillis()
-                CacheKey.saveLocalOrderBean(bean)
-            }
-        } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单
-            if (NetUtils.isNetworkConnected(MyApplication.getInstance())){
-                callErrorOrder()
-            }else{
-               val bean =  CacheKey.getLocalOrderBean()
-                bean?.let {
-                    bean.endTime = System.currentTimeMillis()
-                    bean.money = travelFee
+            if (CacheKey.getLocalOrderBean() == null) { //没有数据 代表没有异常订单
+                if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { //有网络直接处理
+                    callStartOrder(contexts, i)
+                } else { //无网络 存本地
+                    var bean = LocalOrderBean()
                     bean.orderId = MyApplication.currentOrderId
+                    bean.startTime = System.currentTimeMillis()
                     CacheKey.saveLocalOrderBean(bean)
+                }
+            } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单
+                if (NetUtils.isNetworkConnected(MyApplication.getInstance())) {
+                    callErrorOrder(contexts)
                 }
             }
         }
-    }
 
-    /***
-     * 上传异常订单
-     */
-    private fun callErrorOrder() {
 
-    }
-
-    fun callStartOrder(contexts: Context, i: Int) {
-        var map = getMapByAny()
-        map["orderId"] = MyApplication.currentOrderId
-        map["orderType"] = MyApplication.currentOrderType
-        map["state"] = i
-        map["lat"] = MyApplication.getLocation().latitude
-        map["lon"] = MyApplication.getLocation().longitude
-        callNet(contexts, Api.process, map) {
-            EventBus.getDefault().post(BaseEvent(BaseEvent.UP_TRIP))
+        fun callOver(contexts: Context, travelFee: Double) {
+            if (MyApplication.currentOrderId.isEmpty()) {
+                toast("没有进行中的订单,无法结束")
+                return
+            }
+            if (CacheKey.getLocalOrderBean() == null) { //没有数据 代表没有异常订单
+                if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { //有网络直接处理
+                    callEndOrder(contexts, travelFee)
+                } else { //无网络 存本地
+                    var bean = LocalOrderBean()
+                    bean.orderId = MyApplication.currentOrderId
+                    bean.endTime = System.currentTimeMillis()
+                    CacheKey.saveLocalOrderBean(bean)
+                }
+            } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单
+                if (NetUtils.isNetworkConnected(MyApplication.getInstance())) {
+                    var bean = CacheKey.getLocalOrderBean()
+                    bean?.let {
+                        if (bean.money <= 0.0) {
+                            bean.money = travelFee
+                            bean.orderId = MyApplication.currentOrderId
+                            bean.endTime = System.currentTimeMillis()
+                            CacheKey.saveLocalOrderBean(bean)
+                        }
+                        callErrorOrder(contexts)
+                    }
+                } else {
+                    val bean = CacheKey.getLocalOrderBean()
+                    bean?.let {
+                        if (bean.money >= 0.0) {
+                            return@callOver
+                        }
+                        bean.endTime = System.currentTimeMillis()
+                        bean.money = travelFee
+                        bean.orderId = MyApplication.currentOrderId
+                        CacheKey.saveLocalOrderBean(bean)
+                    }
+                }
+            }
         }
-    }
 
+        /***
+         * 上传异常订单
+         */
+        private fun callErrorOrder(contexts: Context) {
+            var bean = CacheKey.getLocalOrderBean()
+            bean?.let {
+                if (bean.money <= 0.0) {
+                    return@let
+                }
+                val map = getMapByAny()
+                map["orderId"] = bean.orderId
+                map["orderType"] = bean.orderType
+                map["type"] = "1"
+                map["travelFee"] = bean.money
+                callNet(contexts, "api/order/confirmFees$", map) {
+                    toast("上传异常订单成功")
+                    EventBus.getDefault().post(BaseEvent(BaseEvent.ERROR_INFO))
+                }
+            }
 
-
-    fun callEndOrder(contexts: Context, travelFee: Double) {
-        var map = getMapByAny()
-        map["orderId"] = MyApplication.currentOrderId
-        map["orderType"] = MyApplication.currentOrderType
-        map["travelFee"] = travelFee
-        map["lat"] = MyApplication.getLocation().latitude
-        map["lon"] = MyApplication.getLocation().longitude
-        map["type"] = 1
-        callNet(contexts, Api.confirmFees_, map) {
-            EventBus.getDefault().post(BaseEvent(BaseEvent.SURE_MONEY))
         }
+
+        private fun callStartOrder(contexts: Context, i: Int) {
+            var map = getMapByAny()
+            map["orderId"] = MyApplication.currentOrderId
+            map["orderType"] = MyApplication.currentOrderType
+            map["state"] = i
+            map["lat"] = MyApplication.getLocation().latitude
+            map["lon"] = MyApplication.getLocation().longitude
+            callNet(contexts, Api.process, map) {
+                EventBus.getDefault().post(BaseEvent(BaseEvent.UP_TRIP))
+            }
+        }
+
+
+        private fun callEndOrder(contexts: Context, travelFee: Double) {
+            var map = getMapByAny()
+            map["orderId"] = MyApplication.currentOrderId
+            map["orderType"] = MyApplication.currentOrderType
+            map["travelFee"] = travelFee
+            map["lat"] = MyApplication.getLocation().latitude
+            map["lon"] = MyApplication.getLocation().longitude
+            map["type"] = 1
+            callNet(contexts, Api.confirmFees_, map) {
+                EventBus.getDefault().post(BaseEvent(BaseEvent.SURE_MONEY))
+            }
+        }
+
     }
 
+
 }
\ No newline at end of file

--
Gitblit v1.7.1