8.7
liugl
2020-08-08 df9083f10ffaf993bc23a3dcee248a0ad406aa68
8.7
8个文件已修改
129 ■■■■ 已修改文件
app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/base/MyApplication.kt 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/bean/LocalOrderBean.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/netUtls/NetKit.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/slab/MySlabBaseActivity.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_trip_slab.xml 2 ●●● 补丁 | 查看 | 原始文档 | 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