From 0fb44d953ab25a53d228b4c1f9381df80e70ee03 Mon Sep 17 00:00:00 2001
From: liugl <liugl@sinata.cn>
Date: 星期一, 21 六月 2021 15:32:23 +0800
Subject: [PATCH] 1。4:处理预约单导致串单的问题 隐藏预约单

---
 app/src/main/java/com/okgoincar/slab/SlabTripActivity.kt |  212 ++++++++++++++++++++++++++++++++++------------------
 1 files changed, 138 insertions(+), 74 deletions(-)

diff --git a/app/src/main/java/com/okgoincar/slab/SlabTripActivity.kt b/app/src/main/java/com/okgoincar/slab/SlabTripActivity.kt
index 49c612b..226e275 100644
--- a/app/src/main/java/com/okgoincar/slab/SlabTripActivity.kt
+++ b/app/src/main/java/com/okgoincar/slab/SlabTripActivity.kt
@@ -1,5 +1,6 @@
 package com.okgoincar.slab
 
+import android.content.Context
 import android.content.Intent
 import android.os.Bundle
 import android.os.Handler
@@ -25,6 +26,7 @@
 import com.okgoincar.base.AMapKit.initMap
 import com.okgoincar.base.AMapKit.moveCamera
 import com.okgoincar.base.BaseEvent
+import com.okgoincar.base.MoneyBroadCastReceiver
 import com.okgoincar.base.MyApplication
 import com.okgoincar.base.gpsnav.GPSNaviActivity
 import com.okgoincar.bean.OrderBean
@@ -43,12 +45,22 @@
 import kotlinx.android.synthetic.main.dialog_select_pay_type.view.*
 import kotlinx.android.synthetic.main.dialog_sure_and_del_slab.view.*
 import kotlinx.android.synthetic.main.item_map_market.view.*
+import org.greenrobot.eventbus.EventBus
 import org.jetbrains.anko.startActivity
 import org.jetbrains.anko.toast
+import java.lang.Exception
 import java.util.concurrent.TimeUnit
 
 
 class SlabTripActivity : MySlabBaseActivity() {
+
+    private fun callOver(contexts: Context, travelFee: Double) {
+        MoneyBroadCastReceiver.callOver(contexts, travelFee)
+    }
+
+    private fun callStatue(contexts: Context, i: Int) {
+        MoneyBroadCastReceiver.callStatue(contexts, i)
+    }
 
     /***
      * //    流程操作状态(3=开始出发预约点,4=到达预约点,5=开始服务,6=服务结束)
@@ -84,47 +96,47 @@
             ll_info_top.setBackgroundResource(R.drawable.bg_slab_main_8_black)
             rl_back.setBackgroundResource(R.color.black_191919)
             iv_back_slab.setImageResource(R.mipmap.icon_back_slab)
-            tv_title_slab.textColor(this,R.color.write)
-            tv_name.textColor(this,R.color.write)
-            tv_car_num.textColor(this,R.color.write)
-            tv_phone.textColor(this,R.color.write)
+            tv_title_slab.textColor(this, R.color.write)
+            tv_name.textColor(this, R.color.write)
+            tv_car_num.textColor(this, R.color.write)
+            tv_phone.textColor(this, R.color.write)
             tv_phone.setDrawableLeft(R.mipmap.icon_dial_slab)
-            tv_time.textColor(this,R.color.write)
-            tv_start_address.textColor(this,R.color.write)
-            tv_end_address.textColor(this,R.color.write)
-            tv_red_money.textColor(this,R.color.write)
-            tv_end_address.textColor(this,R.color.write)
+            tv_time.textColor(this, R.color.write)
+            tv_start_address.textColor(this, R.color.write)
+            tv_end_address.textColor(this, R.color.write)
+            tv_red_money.textColor(this, R.color.write)
+            tv_end_address.textColor(this, R.color.write)
 
-            tv_code_num.textColor(this,R.color.write)
-            tv_name_car_man.textColor(this,R.color.write)
-            tv_car_num_var.textColor(this,R.color.write)
-            tv_star_num.textColor(this,R.color.write)
-            tv_company.textColor(this,R.color.write)
-            tv_time_send_prove.textColor(this,R.color.write)
-            tv_current_time.textColor(this,R.color.write)
+            tv_code_num.textColor(this, R.color.write)
+            tv_name_car_man.textColor(this, R.color.write)
+            tv_car_num_var.textColor(this, R.color.write)
+            tv_star_num.textColor(this, R.color.write)
+            tv_company.textColor(this, R.color.write)
+            tv_time_send_prove.textColor(this, R.color.write)
+            tv_current_time.textColor(this, R.color.write)
         } else {
-            ll_order_top.setBackgroundResource(R.drawable.write)
-            ll_info_top.setBackgroundResource(R.drawable.write)
+            ll_order_top.setBackgroundResource(R.drawable.write_bottom_10)
+            ll_info_top.setBackgroundResource(R.drawable.write_top_10)
             rl_back.setBackgroundResource(R.drawable.write)
             iv_back_slab.setImageResource(R.mipmap.icon_back_black)
-            tv_title_slab.textColor(this,R.color.black)
-            tv_name.textColor(this,R.color.black)
-            tv_car_num.textColor(this,R.color.black)
-            tv_phone.textColor(this,R.color.black)
-            tv_phone.setDrawableNull()
-            tv_time.textColor(this,R.color.black)
-            tv_start_address.textColor(this,R.color.black)
-            tv_end_address.textColor(this,R.color.black)
-            tv_red_money.textColor(this,R.color.black)
-            tv_end_address.textColor(this,R.color.black)
+            tv_title_slab.textColor(this, R.color.black)
+            tv_name.textColor(this, R.color.black)
+            tv_car_num.textColor(this, R.color.black)
+            tv_phone.textColor(this, R.color.black)
+            tv_phone.setDrawableLeft(R.mipmap.car_phone_bkack)
+            tv_time.textColor(this, R.color.black)
+            tv_start_address.textColor(this, R.color.black)
+            tv_end_address.textColor(this, R.color.black)
+            tv_red_money.textColor(this, R.color.black)
+            tv_end_address.textColor(this, R.color.black)
 
-            tv_code_num.textColor(this,R.color.black)
-            tv_name_car_man.textColor(this,R.color.black)
-            tv_car_num_var.textColor(this,R.color.black)
-            tv_star_num.textColor(this,R.color.black)
-            tv_company.textColor(this,R.color.black)
-            tv_time_send_prove.textColor(this,R.color.black)
-            tv_current_time.textColor(this,R.color.black)
+            tv_code_num.textColor(this, R.color.black)
+            tv_name_car_man.textColor(this, R.color.black)
+            tv_car_num_var.textColor(this, R.color.black)
+            tv_star_num.textColor(this, R.color.black)
+            tv_company.textColor(this, R.color.black)
+            tv_time_send_prove.textColor(this, R.color.black)
+            tv_current_time.textColor(this, R.color.black)
 
         }
     }
@@ -149,6 +161,7 @@
                     if (it.status == 10 || it.status == 12) {
                         Handler(Looper.getMainLooper()).post {
                             toast("用户已取消订单")
+                            MyApplication.getTTsManager().setVideoText("用户已取消订单")
                             MyApplication.currentOrderType = ""
                             MyApplication.currentOrderId = ""
                             finish()
@@ -163,7 +176,7 @@
         super.onBackPressed()
     }
 
-    fun changeMode(){
+    fun changeMode() {
         if (tv_change.text == "收起") {
             rl_map.invisible()
             rl_persion_info.visible()
@@ -179,9 +192,18 @@
         }
     }
 
+
     private fun onclick() {
+        btn_start.clickDelay {
+            callStatue(this, 5)
+        }
+
+        btn_end.clickDelay {
+            callOver(this, 10.0)
+        }
+
         tv_change.clickDelay {
-          changeMode()
+            changeMode()
         }
         iv_move.setOnClickListener {
             orderBean.let {
@@ -193,7 +215,11 @@
                         moveCamera(aMap, carMarker!!.position)
                     }
                     5, 6 -> {
-                        moveCamera(aMap, carMarker!!.position, endMarker!!.position)
+                        if (endMarker == null){
+                            moveCamera(aMap, carMarker!!.position)
+                        }else{
+                            moveCamera(aMap, carMarker!!.position, endMarker!!.position)
+                        }
                     }
                 }
             }
@@ -210,11 +236,18 @@
 
                     }
                     5, 6 -> {
-//                        startAMapNavi(endMarker!!)
-                        startActivity<GPSNaviActivity>(
-                            "start" to carMarker!!.position,
-                            "end" to endMarker!!.position
-                        )
+                        if (endMarker == null){
+                            toast("暂无终点")
+                        }else{
+                            startActivity<GPSNaviActivity>(
+                                "start" to carMarker!!.position,
+                                "end" to endMarker!!.position
+                            )
+                        }
+
+                    }
+                    else -> {
+
                     }
                 }
             }
@@ -273,12 +306,12 @@
         var payType = 1 //支付方式(1=OK平台收款,2=其他方式收款)
         if (getNowTimeBlack()) {
             pop.contentView.rl_back_pop.setBackgroundResource(R.drawable.bg_slab_main_8_black)
-            pop.contentView.tv_cancel.textColor(this,R.color.white)
-            pop.contentView.tv_ok.textColor(this,R.color.white)
+            pop.contentView.tv_cancel.textColor(this, R.color.white)
+            pop.contentView.tv_ok.textColor(this, R.color.white)
         } else {
             pop.contentView.rl_back_pop.setBackgroundResource(R.drawable.bg_white_round_2)
-            pop.contentView.tv_cancel.textColor(this,R.color.black)
-            pop.contentView.tv_ok.textColor(this,R.color.black)
+            pop.contentView.tv_cancel.textColor(this, R.color.black)
+            pop.contentView.tv_ok.textColor(this, R.color.black)
         }
         pop.showDown(window.decorView)
         pop.contentView.tv_cancel.setOnClickListener {
@@ -313,10 +346,10 @@
                 })
                 if (getNowTimeBlack()) {
                     pop.contentView.rl_top_slab.setBackgroundResource(R.drawable.bg_green_4_black)
-                    pop.contentView.tv_view_two_base.textColor(this,R.color.white)
+                    pop.contentView.tv_view_two_base.textColor(this, R.color.white)
                 } else {
                     pop.contentView.rl_top_slab.setBackgroundResource(R.drawable.bg_white_round_2)
-                    pop.contentView.tv_view_two_base.textColor(this,R.color.black)
+                    pop.contentView.tv_view_two_base.textColor(this, R.color.black)
                 }
                 pop.showCenter(window.decorView)
             }
@@ -344,8 +377,11 @@
     private fun initMineLocation() {
         AMapKit.initLocation(this, AMapLocationListener {
             it?.let {
-                MyApplication.aMapLocation = it
-                carMarker!!.position = LatLng(it.latitude, it.longitude)
+//                toast("errorCode=="+it.errorCode.toString()+"latitude=="+it.latitude.toString())
+                if (it.errorCode == 0) {
+                    MyApplication.aMapLocation = it
+                    carMarker!!.position = LatLng(it.latitude, it.longitude)
+                }
             }
             orderBean.let {
                 when (it.data.orderState) {
@@ -395,7 +431,19 @@
                         }
                     }
                 })
+        }else{
+            var view =
+                creatCarView()
+            carMarker?.setIcon(getIcon(view))
+            if (isMove) {
+                moveCamera(aMap, carMarker!!.position)
+            }
         }
+    }
+
+    fun creatNullView(): View {
+        val carView = createView(R.layout.view_no, this)
+        return carView
     }
 
 
@@ -408,6 +456,9 @@
         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()
     }
@@ -422,7 +473,11 @@
 
     private fun showDriverUI(data: UserInfoBean?) {
         data?.let {
-            tv_code_num.text = "证号:" + data.taxiAptitudeCard
+            if (data.taxiAptitudeCard.length > 7){
+                tv_code_num.text  = "资格证号:"+data.taxiAptitudeCard.substring(0,3)+"*******"+data.taxiAptitudeCard.substring(data.taxiAptitudeCard.length-4,data.taxiAptitudeCard.length)
+            }else{
+                tv_code_num.text = "资格证号:" + data.taxiAptitudeCard
+            }
             tv_name_car_man.text = "姓名:" + it.name
             tv_car_num_var.text = "车牌:" + it.licensePlate
             recycler_view_start.layoutManager =
@@ -434,11 +489,11 @@
             recycler_view_start.adapter = SlabStartAdapter(it.score.toDouble())
             tv_company.text = "公司:" + it.company
             tv_time_send_prove.text = "发证日期:" + it.networkCarlssueDate
-            GlideUtil.load(this, it.avatar, iv_head, 1)
+            GlideUtil.load(this, it.avatar, iv_head, 8)
             tv_current_time.text = DateUtil.getTime(
                 DateUtil.TYPE7,
                 System.currentTimeMillis()
-            ) + "\n" + DateUtil.getWeek(System.currentTimeMillis())
+            ) +  DateUtil.getWeek(System.currentTimeMillis())
         }
     }
 
@@ -449,6 +504,7 @@
             tv_time.text = it.data.travelTime
             tv_start_address.text = it.data.startAddress
             tv_end_address.text = it.data.endAddress
+            tv_end_address.visibility = if (it.data.endAddress.isNullOrEmpty()) View.GONE else View.VISIBLE
             tv_red_money.text = it.data.tipMoney.toString() + "元小费"
             tv_phone.text = orderBean.data.phone
             showStatueMapUI(it)
@@ -473,7 +529,7 @@
             view.iv_img.setImageResource(R.mipmap.zhongdian)
             endMarker = addMarker(aMap, it.data.endLat, it.data.endLon, view, "")
         }
-        endMarker!!.isVisible = false
+        endMarker?.isVisible = false
         if (carMarker == null) {
             val carView = creatCarView("")
             carMarker = addMarker(
@@ -502,12 +558,18 @@
         return carView
     }
 
+    fun creatCarView(): View {
+        val carView = createView(R.layout.item_map_market, this)
+        carView.iv_img.setImageResource(R.mipmap.icon_car)
+        carView.tv_hint.gone()
+        return carView
+    }
+
     //    流程操作状态(3=开始出发预约点,4=到达预约点,5=开始服务,6=服务结束)
     private fun showStatueMapUI(it: OrderBean) {
         getAllMark(it)
         when (it.data.orderState) {
             2, 3 -> {
-                toast("点亮网约")
                 clickBroad()
                 iv_to_gd.visible()
                 makeMarker?.isVisible = true
@@ -523,7 +585,6 @@
                 }
             }
             4 -> {
-                toast("点亮网约")
                 clickBroad()
                 iv_to_gd.gone()
                 closeLine()
@@ -553,11 +614,11 @@
         }
     }
 
-    fun clickBroad(){
-        var intent =  Intent();
+    fun clickBroad() {
+        var intent = Intent();
         intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK;
         intent.action = "wisdom.intent.action.topLight";
-        intent.putExtra("state",0)
+        intent.putExtra("state", 0)
         sendBroadcast(intent);
     }
 
@@ -612,17 +673,6 @@
         }
     }
 
-    fun getTance(startLatLng: LatLng, endLatLng: LatLng, onclick: (tance: Float) -> Unit) {
-        AMapKit.initRouteLine(
-            this,
-            startLatLng,
-            endLatLng,
-            object : (MutableList<LatLng>, Float, Long) -> Unit {
-                override fun invoke(p1: MutableList<LatLng>, p2: Float, p3: Long) {
-                    onclick(p2)
-                }
-            })
-    }
 
     override fun setOnclick() {
 
@@ -637,11 +687,25 @@
     override fun onEventMainThread(event: BaseEvent?) {
         super.onEventMainThread(event)
         when (event!!.code) {
-            BaseEvent.REAGASSIGN_SUCCESS -> {
-                MyApplication.currentOrderId = ""
-                MyApplication.currentOrderType = ""
+//            BaseEvent.REAGASSIGN_SUCCESS -> {
+//                MyApplication.currentOrderId = ""
+//                MyApplication.currentOrderType = ""
+//                finish()
+//            }
+            BaseEvent.UP_TRIP -> {
+                callOrder()
+            }
+
+            BaseEvent.SURE_MONEY -> {
+                startActivity<SlabOrderOverActivity>(
+                    "orderId" to orderBean.data.orderId.toString(),
+                    "orderType" to "2"
+                )
                 finish()
             }
+            BaseEvent.ERROR_INFO -> {
+                onBackPressed()
+            }
         }
     }
 }
\ No newline at end of file

--
Gitblit v1.7.1