liugl
2020-08-21 e04a10081655911e65a93ac864051747a19a2d99
8.21
3个文件已修改
1个文件已添加
131 ■■■■ 已修改文件
app/build.gradle 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/base/MyApplication.kt 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/bean/OrderStatueBean.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/build.gradle
@@ -25,8 +25,8 @@
        applicationId "com.okgoincar"
        minSdkVersion 19
        targetSdkVersion 29
        versionCode 20
        versionName "20"
        versionCode 22
        versionName "22"
        multiDexEnabled true
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ndk {
app/src/main/java/com/okgoincar/base/MyApplication.kt
@@ -261,9 +261,9 @@
            bean.data = dataBean
            NettyClient.getInstance()
                .sendMessage(Gson().toJson(bean))
//            Handler(Looper.getMainLooper()).post {
            Handler(Looper.getMainLooper()).post {
//                toast("发送location --> $dataBean")
//            }
            }
            sysErr(dataBean.toString())
        }
    }
app/src/main/java/com/okgoincar/bean/OrderStatueBean.java
New file
@@ -0,0 +1,76 @@
package com.okgoincar.bean;
import java.util.List;
public class OrderStatueBean {
    /**
     * code : 0
     * data : [{"orderId":0,"orderType":0,"state":0}]
     * msg : string
     */
    private int code;
    private String msg;
    private List<DataBean> data;
    public int getCode() {
        return code;
    }
    public void setCode(int code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public List<DataBean> getData() {
        return data;
    }
    public void setData(List<DataBean> data) {
        this.data = data;
    }
    public static class DataBean {
        /**
         * orderId : 0
         * orderType : 0
         * state : 0
         */
        private int orderId;
        private int orderType;
        private int state;
        public int getOrderId() {
            return orderId;
        }
        public void setOrderId(int orderId) {
            this.orderId = orderId;
        }
        public int getOrderType() {
            return orderType;
        }
        public void setOrderType(int orderType) {
            this.orderType = orderType;
        }
        public int getState() {
            return state;
        }
        public void setState(int state) {
            this.state = state;
        }
    }
}
app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
@@ -11,6 +11,7 @@
import com.okgoincar.base.MyApplication
import com.okgoincar.bean.OrderBean
import com.okgoincar.bean.OrderSimpleData
import com.okgoincar.bean.OrderStatueBean
import com.okgoincar.netUtls.Api
import com.okgoincar.netUtls.timeOver
import com.okgoincar.utils.MyUtils
@@ -98,8 +99,8 @@
        callNet(this, Api.queryOrderInfo, map) {
            orderBean = gson.fromJson(it, OrderBean::class.java)
            showUi(orderBean)
            addSocketLisener(orderBean)
//            checkOrderStatue()
//            addSocketLisener(orderBean)
            checkOrderStatue()
        }
    }
@@ -153,6 +154,11 @@
                            R.color.slab_green_over
                        )
                        Handler(Looper.getMainLooper()).post {
                            if (isPlay)
                            {
                                return@post
                            }
                            isPlay = true
                            MyApplication.getTTsManager().setVideoText("乘客已支付"+orderBean?.data?.orderMoney.toString()+"元")
                            time = timeOver(20000) {
                                tv_title_slab.text = "已完成($it)"
@@ -186,31 +192,46 @@
    }
    var handler: Handler? = null
    var isPlay = false
    fun checkOrderStatue() {
        if (handler == null) {
            handler = Handler(mainLooper)
            handler!!.postDelayed({
                checkOrderStatue()
            }, 3000)
        }
        handler!!.postDelayed({
            checkOrderStatue()
        }, 3000)
        var map = getMapByAny()
        map["orderId"] = orderId
        map["orderType"] = orderType
        callNet(false,Api.queryOrderInfo, map) {
//        map["orderId"] = orderId
//        map["orderType"] = orderType
        callNet(false,Api.orderStateSocket, map) {
            val orderSimpleData =
                Gson().fromJson(
                    it,
                    OrderBean::class.java
                    OrderStatueBean::class.java
                )
            orderSimpleData?.let {
                if (it.data.orderState == 8) {
            orderSimpleData?.data?.let {
                var currentBean:OrderStatueBean.DataBean? = null
                for (item in it){
                    if (item.orderId ==orderBean.data?.orderId ){
                        currentBean = item
                    }
                }
                if (it.size == 0 || currentBean == null){
                    return@callNet
                }
                if (currentBean.state == 8) {
                    tv_pay_result_money.textColor(
                        this@SlabOrderOverActivity,
                        R.color.slab_green_over
                    )
                    Handler(Looper.getMainLooper()).post {
                        MyApplication.getTTsManager().setVideoText("乘客已支付"+it.data.orderMoney.toString()+"元")
                        if (isPlay)
                        {
                            return@post
                        }
                        isPlay = true
                        MyApplication.getTTsManager().setVideoText("乘客已支付"+ orderBean.data?.orderMoney.toString()+"元")
                        time = timeOver(20000) {
                            tv_title_slab.text = "已完成($it)"
                            if (it == 0) {
@@ -224,8 +245,6 @@
                            }
                        }
                    }
                }else{
                    handler?.postDelayed({ checkOrderStatue() }, 3000)
                }
            }
        }