app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/okgoincar/base/MyApplication.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/okgoincar/bean/LocalOrderBean.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/okgoincar/netUtls/NetKit.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/okgoincar/slab/MySlabBaseActivity.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
app/src/main/res/layout/activity_trip_slab.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt
@@ -8,7 +8,9 @@ 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 @@ -79,6 +81,7 @@ var bean = LocalOrderBean() bean.orderId = MyApplication.currentOrderId bean.endTime = System.currentTimeMillis() bean.money = travelFee CacheKey.saveLocalOrderBean(bean) } } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单 @@ -91,6 +94,7 @@ bean.endTime = System.currentTimeMillis() CacheKey.saveLocalOrderBean(bean) } // callEndOrder(contexts, travelFee) callErrorOrder(contexts) } } else { @@ -114,19 +118,29 @@ fun callErrorOrder(contexts: Context) { var bean = CacheKey.getLocalOrderBean() bean?.let { if (bean.money <= 0.0) { if (bean.endTime <= 0L){ return@let } 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)) 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)) } } } } } @@ -142,7 +156,6 @@ } } private fun callEndOrder(contexts: Context, travelFee: Double) { var map = getMapByAny() map["orderId"] = MyApplication.currentOrderId @@ -152,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) } } } } app/src/main/java/com/okgoincar/base/MyApplication.kt
@@ -76,6 +76,9 @@ } private fun initSocket() { Handler(Looper.getMainLooper()).post { toast("websocket初始化") } NettyClient.getInstance().init(this, Api.SOCKET_SERVER, Api.SOCKET_PORT, true) NettyClient.getInstance() .addOnMessageListener { message: String? -> @@ -85,9 +88,9 @@ currentTime = System.currentTimeMillis() val json = JSONObject(message) val method = json.optString("method") // Handler(Looper.getMainLooper()).post { // toast("收到websocket=$method") // } Handler(Looper.getMainLooper()).post { toast("收到websocket=$method") } val data = json.optString("data") val code = json.optInt("code", -1) if (code == 200) { @@ -159,6 +162,7 @@ .setOnConnectListener { sendHeart() } sendHeart() } override fun attachBaseContext(base: Context?) { @@ -266,7 +270,7 @@ } } private fun sendHeart() { open fun sendHeart() { if (getUserId() != -1) { Log.i(TAG, "sendHeart: userId === " + getUserId()) val bean = HeartBean() @@ -282,7 +286,8 @@ if ((System.currentTimeMillis() - currentTime) / 1000 > 30) { sysErr("sendHeart_websocket 重新连接") currentTime = System.currentTimeMillis() NettyClient.getInstance().checkNettyState() // NettyClient.getInstance().checkNettyState() initSocket() heartHandler!!.postDelayed({ sendHeart() }, 5000) } else { sysErr("sendHeart_websocket 发送心跳") app/src/main/java/com/okgoincar/bean/LocalOrderBean.java
@@ -2,8 +2,8 @@ public class LocalOrderBean { public static String LOCAL_ORDER_INFO = "LOCAL_ORDER_INFO"; private Long startTime; private Long endTime; private Long startTime = 0L; private Long endTime = 0L; private String orderId; private String orderType = "2"; private double money = 0.0; app/src/main/java/com/okgoincar/netUtls/NetKit.kt
@@ -337,6 +337,7 @@ val timer by lazy { object : CountDownTimer(timeDown, 1000) { override fun onFinish() { click(0) } override fun onTick(millisUntilFinished: Long) { app/src/main/java/com/okgoincar/slab/MySlabBaseActivity.java
@@ -101,8 +101,9 @@ @Override protected void onNetworkConnected(NetUtils.NetType type) { super.onNetworkConnected(type); // toast("收到网络变化"); toast("收到网络变化"); if (NetUtils.isNetworkConnected(MyApplication.Companion.getInstance())) { toast("有网络"); MoneyBroadCastReceiver.Companion.callErrorOrder(this); } } app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt
@@ -134,7 +134,11 @@ false ) as RecyclerView.LayoutManager? recycler_view_start.adapter = SlabStartAdapter(it.score.toDouble()) tv_company.text = "公司:" + it.company var company = it.company if (company.startsWith("广西")){ company = company.substring(2,company.length) } tv_company.text = "公司:" + company tv_time.text = "发证日期:" + it.networkCarlssueDate GlideUtil.load(this, it.avatar, iv_head, 8) tv_current_time.text = DateUtil.getTime( app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
@@ -98,8 +98,8 @@ callNet(this, Api.queryOrderInfo, map) { orderBean = gson.fromJson(it, OrderBean::class.java) showUi(orderBean) addSocketLisener() // addSocketLisener() checkOrderStatue() } } @@ -181,26 +181,50 @@ // } } var handler: android.os.Handler? = null var handler: Handler? = null fun checkOrderStatue() { if (handler == null) { handler = Handler(mainLooper) handler!!.postDelayed({ checkOrderStatue() }, 3000) } var map = getMapByAny() map["orderId"] = orderId map["orderType"] = orderType callNet(false,Api.orderStateSocket, map) { callNet(false,Api.queryOrderInfo, map) { val orderSimpleData = Gson().fromJson( it, OrderSimpleData::class.java OrderBean::class.java ) orderSimpleData?.let { if (orderSimpleData.status == 8) { orderBean.data.orderState = 8 showUi(orderBean) if (it.data.orderState == 8) { MyApplication.getTTsManager().setVideoText("乘客已支付") tv_pay_result_money.textColor( this@SlabOrderOverActivity, R.color.slab_green_over ) Handler(Looper.getMainLooper()).post { time = timeOver(20000) { tv_title_slab.text = "已完成($it)" if (it == 0) { if (time != null) { time!!.cancel() } try { onBackPressed() } catch (e: Exception) { } } } } }else{ handler?.postDelayed({ checkOrderStatue() }, 3000) } } } handler?.postDelayed({ checkOrderStatue() }, 3000) } override fun onDestroy() { app/src/main/res/layout/activity_trip_slab.xml
@@ -16,8 +16,8 @@ android:id="@+id/btn_start" android:layout_width="wrap_content" android:layout_marginStart="150dp" android:visibility="gone" android:text="开始行程" android:visibility="gone" android:layout_height="match_parent"/> <Button