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