From 40a8a2c243c15fe8d4eb46f4dbc42a290bd0a63a Mon Sep 17 00:00:00 2001 From: liugl <liugl@sinata.cn> Date: 星期四, 10 九月 2020 15:34:08 +0800 Subject: [PATCH] 9.10 --- app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt | 69 +++++++++++++++++++++++----------- 1 files changed, 46 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt b/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt index ec7ff57..55c5149 100644 --- a/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt +++ b/app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt @@ -8,13 +8,13 @@ import android.os.Looper import cn.sinata.xldutils.netstatus.NetUtils import cn.sinata.xldutils.utils.toast +import com.google.gson.Gson import com.okgoincar.bean.LocalOrderBean +import com.okgoincar.bean.OrderBean 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 import java.lang.Exception @@ -38,13 +38,6 @@ var price = intent.getDoubleExtra("price", 0.0) //计价器价格,单位为元 var mileage = intent.getDoubleExtra("mileage", 0.0) //里程,单位为km callOver(contexts!!, price) - } - - "android.net.conn.CONNECTIVITY_SUCCESS", "android.net.conn.CONNECTIVITY_FAILURE", "android.net.conn.CONNECTIVITY_CHANGE" -> { - toast("收到网络变化") - if (NetUtils.isNetworkConnected(MyApplication.getInstance())) { - callErrorOrder(contexts!!) - } } } } @@ -88,6 +81,7 @@ var bean = LocalOrderBean() bean.orderId = MyApplication.currentOrderId bean.endTime = System.currentTimeMillis() + bean.money = travelFee CacheKey.saveLocalOrderBean(bean) } } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单 @@ -100,12 +94,13 @@ bean.endTime = System.currentTimeMillis() CacheKey.saveLocalOrderBean(bean) } +// callEndOrder(contexts, travelFee) callErrorOrder(contexts) } } else { val bean = CacheKey.getLocalOrderBean() bean?.let { - if (bean.money >= 0.0) { + if (bean.money > 0.0) { return@callOver } bean.endTime = System.currentTimeMillis() @@ -120,23 +115,33 @@ /*** * 上传异常订单 */ - private fun callErrorOrder(contexts: Context) { + fun callErrorOrder(contexts: Context) { var bean = CacheKey.getLocalOrderBean() bean?.let { - if (bean.money <= 0.0) { + if (bean.endTime <= 0L){ 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)) + if (bean.startTime <= 0L) { + if (NetUtils.isNetworkConnected(MyApplication.getInstance())){ + CacheKey.saveLocalOrderBeanNull() + 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) { + toast("上传异常订单成功") + EventBus.getDefault().post(BaseEvent(BaseEvent.ERROR_INFO)) + } + } } - } + } } private fun callStartOrder(contexts: Context, i: Int) { @@ -151,7 +156,6 @@ } } - private fun callEndOrder(contexts: Context, travelFee: Double) { var map = getMapByAny() map["orderId"] = MyApplication.currentOrderId @@ -161,7 +165,26 @@ map["lon"] = MyApplication.getLocation().longitude map["type"] = 1 callNet(contexts, Api.confirmFees_, map) { - EventBus.getDefault().post(BaseEvent(BaseEvent.SURE_MONEY)) + var mapOrder = getMapByAny() + mapOrder["orderId"] = MyApplication.currentOrderId + mapOrder["orderType"] = MyApplication.currentOrderType + callNet(contexts, Api.queryOrderInfo, mapOrder) { + var orderBean = Gson().fromJson(it, OrderBean::class.java) + if (orderBean.data.orderState == 7){ + EventBus.getDefault().post(BaseEvent(BaseEvent.SURE_MONEY)) + } + if (orderBean.data.orderState == 2 ||orderBean.data.orderState == 3 || orderBean.data.orderState == 4 ){ + Handler(Looper.getMainLooper()).postDelayed({ + toast("发送网约") + var intent = Intent(); + intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK; + intent.action = "wisdom.intent.action.topLight"; + intent.putExtra("state", 0) + contexts.sendBroadcast(intent) + },10000) + } + } + } } -- Gitblit v1.7.1