From fd7255883cff7f3518a8e4efd97b1866ec38ae55 Mon Sep 17 00:00:00 2001 From: tanghao <405676538@qq.com> Date: 星期三, 03 八月 2022 16:21:03 +0800 Subject: [PATCH] 1。4:处理预约单导致串单的问题 隐藏预约单 二次修改为测试环境 --- app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt | 74 ++++++++++++++++++++++--------------- 1 files changed, 44 insertions(+), 30 deletions(-) diff --git a/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt b/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt index 0122c62..d0070f1 100644 --- a/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt +++ b/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt @@ -40,30 +40,30 @@ */ class MoneyBroadCastReceiver : BroadcastReceiver() { override fun onReceive(contexts: Context?, intent: Intent?) { - if (intent == null && contexts == null) { - toast("内容获取为空,广播接收消息错误") - return - } - try { - Handler(Looper.getMainLooper()).post { - when (intent!!.action) { - "wisdom.intent.action.ledLight" -> { - val isHeavy = intent!!.getBooleanExtra("isHeavy", true) - if (isHeavy) { - callStatue(contexts!!, 5) //代表让订单到进行中 - } - } - - "wisdom.intent.action.priceDevice" -> { - var price = intent.getDoubleExtra("price", 0.0) //计价器价格,单位为元 - var mileage = intent.getDoubleExtra("mileage", 0.0) //里程,单位为km - callOver(contexts!!, price) - } - } - } - } catch (e: Exception) { - - } +// if (intent == null && contexts == null) { +// toast("内容获取为空,广播接收消息错误") +// return +// } +// try { +// Handler(Looper.getMainLooper()).post { +// when (intent!!.action) { +// "wisdom.intent.action.ledLight" -> { +// val isHeavy = intent!!.getBooleanExtra("isHeavy", true) +// if (isHeavy) { +// callStatue(contexts!!, 5) //代表让订单到进行中 +// } +// } +// +// "wisdom.intent.action.priceDevice" -> { +// var price = intent.getDoubleExtra("price", 0.0) //计价器价格,单位为元 +// var mileage = intent.getDoubleExtra("mileage", 0.0) //里程,单位为km +// callOver(contexts!!, price) +// } +// } +// } +// } catch (e: Exception) { +// +// } } companion object { @@ -76,6 +76,7 @@ if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { //有网络直接处理 callStartOrder(contexts, i) } else { //无网络 存本地 + toast("当前没有网络,订单将保存在本地") var bean = LocalOrderBean() bean.orderId = MyApplication.currentOrderId bean.startTime = System.currentTimeMillis() @@ -83,7 +84,8 @@ } } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单 if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { - callErrorOrder(contexts) + toast("有网络,有异常数据,此次数据不受理") +// callErrorOrder(contexts) } } } @@ -97,6 +99,7 @@ if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { //有网络直接处理 callEndOrder(contexts, travelFee) } else { //无网络 存本地 + toast("当前没有网络,订单将保存在本地") var bean = LocalOrderBean() bean.orderId = MyApplication.currentOrderId bean.endTime = System.currentTimeMillis() @@ -143,25 +146,28 @@ if (bean.startTime <= 0L) { if (NetUtils.isNetworkConnected(MyApplication.getInstance())){ CacheKey.saveLocalOrderBeanNull() - MyApplication.currentOrderId = "" + toast("调用正常结束,在异常订单中") callEndOrder(contexts,bean.money) } }else{ if (NetUtils.isNetworkConnected(MyApplication.getInstance())){ - CacheKey.saveLocalOrderBeanNull() - MyApplication.currentOrderId = "" 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,{ + MyApplication.currentOrderId = "" toast("上传异常订单成功") EventBus.getDefault().post(BaseEvent(BaseEvent.ERROR_INFO)) + }) { + toast("上传异常订单失败") + CacheKey.saveLocalOrderBean(bean) } } } - } } @@ -178,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 @@ -191,9 +203,11 @@ mapOrder["orderType"] = MyApplication.currentOrderType callNet(contexts, Api.queryOrderInfo, mapOrder) { var orderBean = Gson().fromJson(it, OrderBean::class.java) + EventBus.getDefault().post(BaseEvent(BaseEvent.UPDATA_MAIN_CAR)) if (orderBean.data.orderState == 7){ EventBus.getDefault().post(BaseEvent(BaseEvent.SURE_MONEY)) } + MyApplication.currentOrderId = "" if (orderBean.data.orderState == 2 ||orderBean.data.orderState == 3 || orderBean.data.orderState == 4 ){ Handler(Looper.getMainLooper()).postDelayed({ toast("发送网约") -- Gitblit v1.7.1