From 40f9ac00ec5e4d6363450d1c8e0b0937cc0b1de4 Mon Sep 17 00:00:00 2001 From: liugl <liugl@sinata.cn> Date: 星期四, 14 一月 2021 10:50:18 +0800 Subject: [PATCH] 1。4:处理预约单导致串单的问题 隐藏预约单 --- app/src/main/java/com/okgoincar/slab/cargo/CargoActivity.kt | 111 +++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 86 insertions(+), 25 deletions(-) diff --git a/app/src/main/java/com/okgoincar/slab/cargo/CargoActivity.kt b/app/src/main/java/com/okgoincar/slab/cargo/CargoActivity.kt index 4ebcd96..d9a471f 100644 --- a/app/src/main/java/com/okgoincar/slab/cargo/CargoActivity.kt +++ b/app/src/main/java/com/okgoincar/slab/cargo/CargoActivity.kt @@ -62,7 +62,11 @@ class CargoActivity : MySlabBaseActivity() { private fun callOver(contexts: Context, travelFee: Double) { - MoneyBroadCastReceiver.callOver(contexts, travelFee) + callEnd(contexts, travelFee) + } + + private fun callEnd(contexts: Context, travelFee: Double) { + showChangeCargoDialog() } private fun callStatue(contexts: Context, i: Int) { @@ -169,21 +173,36 @@ } private fun addSockectCancel() { - MyApplication.addOrderView(object : MyApplication.OrderStatueView { - override fun orderInfo(data: OrderSimpleData?) { - data?.let { - if (it.status == 10 || it.status == 12) { - Handler(Looper.getMainLooper()).post { + MyApplication.addOrderView(orderView) + } + + var orderView = object : MyApplication.OrderStatueView { + override fun orderInfo(data: OrderSimpleData?) { + data?.let { + if (it.status == 10 || it.status == 11) { + Handler(Looper.getMainLooper()).post { + if (it.status == 10){ toast("用户已取消订单") MyApplication.getTTsManager().setVideoText("用户已取消订单") - MyApplication.currentOrderType = "" - MyApplication.currentOrderId = "" - finish() + }else{ + toast("用户已改派订单") + MyApplication.getTTsManager().setVideoText("用户已改派订单") } + finish() + } + } + if (it.orderType == 4 || it.orderType == 5 && it.orderId.toString() == orderId) { + Handler(Looper.getMainLooper()).post { + initView() } } } - }) + } + } + + override fun finish() { + MyApplication.removeOrderView(orderView) + super.finish() } override fun onBackPressed() { @@ -257,6 +276,10 @@ } tv_gap_money.clickDelay { + if (orderBean.data.orderState == 12){ + toast("用户已支付差价,不能修改") + return@clickDelay + } showGaoMoneyDialog() } @@ -269,8 +292,11 @@ showStatueMapUI(it) } 5, 6 -> { - it.data.orderState = 6 - showChangeCargoDialog() + sendCode { + it.data.orderState = 6 + showChangeCargoDialog() + } + } 12 -> { it.data.orderState = 5 @@ -299,11 +325,20 @@ } } + private fun sendCode(function: () -> Unit) { + var map = getMapByAny() + map["orderId"] = orderId + callNet(true,Api.sendVerificationCode, map) { + function() + } + } + + private fun callNumberCargo(num: String, click: () -> Unit) { var map = getMapByAny() map["orderId"] = orderId map["pickUpCode"] = num - callNet(true,Api.fillInPickUpCode, map) { + callNet(true,Api. fillInPickUpCode, map) { click() } } @@ -312,7 +347,7 @@ private fun callseatmoney(num: String, click: () -> Unit) { var map = getMapByAny() map["orderId"] = orderId - map["difference"] = num + map["difference"] = doubleTwo(num.toDouble()) callNet(true,Api.makeUpTheDifference, map) { click() } @@ -465,17 +500,12 @@ private fun callOrder() { - MyApplication.currentOrderId = orderId - MyApplication.currentOrderType = orderType var map = getMapByAny() map["orderId"] = orderId map["orderType"] = orderType callNet(this, Api.queryOrderInfo, map) { orderBean = gson.fromJson(it, OrderBean::class.java) showUi(orderBean) -// Handler(Looper.getMainLooper()).postDelayed({ -// startActivity<SlabOrderOverActivity>("orderId" to orderBean.data.orderId.toString() , "orderType" to orderBean.data.type.toString()) -// },1000) } callPersion() } @@ -523,14 +553,20 @@ private fun showUi(orderBean: OrderBean?) { orderBean?.let { tv_name.text = orderBean.data.nickName - tv_car_num.text = it.data.historyNum.toString() + "次乘车" + tv_car_num.text = it.data.historyNum.toString() + "次寄物" tv_time.text = it.data.travelTime tv_start_address.text = it.data.startAddress tv_end_address.text = it.data.endAddress tv_name_phone.text = orderBean.data.nickName + "-" + orderBean.data.phone tv_type_cargo.text = "普通小件X" + orderBean.data.peopleNumber tv_red_money.text = doubleTwo(orderBean.data.tipMoney) + "元加急费" + if (orderBean.data.tipMoney == null || orderBean.data.tipMoney <= 0.0){ + tv_red_money.gone() + } tv_phone.text = orderBean.data.phone + if (!it.data.differenceMoney.isNullOrEmpty() && it.data.differenceMoney.toDouble() > 0){ + tv_gap_money.text = "¥"+doubleTwo(it.data.differenceMoney.toDouble())+"差价(点击修改)" + } showStatueMapUI(it) } } @@ -585,6 +621,10 @@ // 流程操作状态(3=开始出发预约点,4=到达预约点,5=开始服务,6=服务结束) private fun showStatueMapUI(it: OrderBean) { getAllMark(it) + tv_gap_money.gone() + if (it.data.orderState == 4 || it.data.orderState == 8 || it.data.orderState == 12){ + tv_gap_money.visible() + } when (it.data.orderState) { 2, 3 -> { clickBroad() @@ -601,7 +641,7 @@ setTitleText("去取货物") } } - 4,8-> { + 4,8,12-> { clickBroad() iv_to_gd.gone() closeLine() @@ -721,11 +761,27 @@ } callNumberCargo(num){ dialog.dismiss() - startActivity<SlabOrderOverActivity>( - "orderId" to orderId, - "orderType" to orderType - ) + callStartOrder(this,6){ + startActivity<SlabCargoOverActivity>( + "orderId" to orderId, + "orderType" to orderType + ) + finish() + } } + } + } + + fun callStartOrder(contexts: Context, i: Int,func:() -> Unit) { + var map = getMapByAny() + map["orderId"] = orderId + map["orderType"] = orderType + 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)) + func() } } @@ -743,8 +799,13 @@ toast("请输入金额") return@setOnClickListener } + if (num.toDouble() > 9999) { + toast("金额不能大于9999元") + return@setOnClickListener + } callseatmoney(num){ dialog.dismiss() + tv_gap_money.text = "¥"+doubleTwo(num.toDouble())+"差价(点击修改)" toast("设置成功") } } -- Gitblit v1.7.1