8.7
liugl
2020-08-07 386c12bc80d17252ea05b7bf1cb2e85db2e46767
8.7
14个文件已修改
2个文件已添加
216 ■■■■■ 已修改文件
app/src/main/AndroidManifest.xml 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/base/AMapKit.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/base/BaseEvent.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt 56 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/bean/LocalOrderBean.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/netUtls/Api.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/slab/SlabLoginActivity.kt 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt 71 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/okgoincar/slab/SlabTripActivity.kt 42 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/mode_write_and_black.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_trip_slab.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xxhdpi/mode_black_config.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/mipmap-xxhdpi/mode_write_config.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/colors.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml
@@ -92,6 +92,9 @@
                <action android:name="wisdom.intent.action.ledLight" />
                <!--                //计价器-->
                <action android:name="wisdom.intent.action.priceDevice" />
                <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
                <action android:name="android.net.conn.CONNECTIVITY_SUCCESS" />
                <action android:name="android.net.conn.CONNECTIVITY_FAILURE" />
            </intent-filter>
        </receiver>
app/src/main/java/com/okgoincar/base/AMapKit.kt
@@ -33,6 +33,7 @@
        //设置为高精度定位模式
//        mLocationOption.isNeedAddress = true
        mLocationOption.interval = 5000
//        mLocationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Hight_Accuracy
        mLocationOption.locationMode = AMapLocationClientOption.AMapLocationMode.Device_Sensors
        //设置定位参数
        mlocationClient.setLocationOption(mLocationOption)
app/src/main/java/com/okgoincar/base/BaseEvent.java
@@ -35,6 +35,9 @@
    public static final int  UP_TRIP = 11025; //收到重车指令 刷新出行页面
    public static final int  SURE_MONEY= 11026; //收到价格 结束行程
    public static final int  ERROR_INFO= 11027; //上传了错误订单
    private String msg;
    private int code;
    private int type;
app/src/main/java/com/okgoincar/base/MainBroadCastReceiver.kt
@@ -66,6 +66,7 @@
        callNet(context!!,Api.loginByIdentification,map){
            toast("登录成功")
            var bean = Gson().fromJson<LoginBean>(it, LoginBean::class.java)
            CacheKey.putKeyStr("identification",driverCertificate!!)
            CacheKey.putKeyStr("appid", bean.data.appid)
            CacheKey.putKeyStr("token", bean.data.token)
            CacheKey.putKeyStr("userId", bean.data.id.toString())
app/src/main/java/com/okgoincar/base/MoneyBroadCastReceiver.kt
@@ -12,6 +12,7 @@
import com.okgoincar.netUtls.Api
import com.okgoincar.netUtls.callNet
import com.okgoincar.netUtls.getMapByAny
import com.okgoincar.slab.util.DialogUtil
import com.okgoincar.utils.Cache.CacheKey
import io.netty.util.NetUtil
import org.greenrobot.eventbus.EventBus
@@ -38,22 +39,22 @@
                        var mileage = intent.getDoubleExtra("mileage", 0.0) //里程,单位为km
                        callOver(contexts!!, price)
                    }
                    ConnectivityManager.CONNECTIVITY_ACTION -> {
                    "android.net.conn.CONNECTIVITY_SUCCESS", "android.net.conn.CONNECTIVITY_FAILURE", "android.net.conn.CONNECTIVITY_CHANGE" -> {
                        toast("收到网络变化")
                        if (NetUtils.isNetworkConnected(MyApplication.getInstance())){
                            callErrorOrder()
                            callErrorOrder(contexts!!)
                        }
                    }
                }
            }
        } catch (e: Exception) {
        }
    }
    private fun callStatue(contexts: Context, i: Int) {
    companion object {
        fun callStatue(contexts: Context, i: Int) {
        if (MyApplication.currentOrderId.isEmpty()) {
            toast("没有进行中的订单,无法开始")
            return
@@ -69,13 +70,13 @@
            }
        } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单
            if (NetUtils.isNetworkConnected(MyApplication.getInstance())){
                callErrorOrder()
                    callErrorOrder(contexts)
            }
        }
    }
    private fun callOver(contexts: Context, travelFee: Double) {
        fun callOver(contexts: Context, travelFee: Double) {
        if (MyApplication.currentOrderId.isEmpty()) {
            toast("没有进行中的订单,无法结束")
            return
@@ -91,10 +92,22 @@
            }
        } else { //有数据存着,并且有网络上传异常订单 如果没有网络就不处理,这个肯定是线下的单
            if (NetUtils.isNetworkConnected(MyApplication.getInstance())){
                callErrorOrder()
                    var bean = CacheKey.getLocalOrderBean()
                    bean?.let {
                        if (bean.money <= 0.0) {
                            bean.money = travelFee
                            bean.orderId = MyApplication.currentOrderId
                            bean.endTime = System.currentTimeMillis()
                            CacheKey.saveLocalOrderBean(bean)
                        }
                        callErrorOrder(contexts)
                    }
            }else{
               val bean =  CacheKey.getLocalOrderBean()
                bean?.let {
                        if (bean.money >= 0.0) {
                            return@callOver
                        }
                    bean.endTime = System.currentTimeMillis()
                    bean.money = travelFee
                    bean.orderId = MyApplication.currentOrderId
@@ -107,11 +120,26 @@
    /***
     * 上传异常订单
     */
    private fun callErrorOrder() {
        private fun callErrorOrder(contexts: Context) {
            var bean = CacheKey.getLocalOrderBean()
            bean?.let {
                if (bean.money <= 0.0) {
                    return@let
                }
                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))
                }
            }
    }
    fun callStartOrder(contexts: Context, i: Int) {
        private fun callStartOrder(contexts: Context, i: Int) {
        var map = getMapByAny()
        map["orderId"] = MyApplication.currentOrderId
        map["orderType"] = MyApplication.currentOrderType
@@ -124,8 +152,7 @@
    }
    fun callEndOrder(contexts: Context, travelFee: Double) {
        private fun callEndOrder(contexts: Context, travelFee: Double) {
        var map = getMapByAny()
        map["orderId"] = MyApplication.currentOrderId
        map["orderType"] = MyApplication.currentOrderType
@@ -139,3 +166,6 @@
    }
}
}
app/src/main/java/com/okgoincar/bean/LocalOrderBean.java
@@ -6,7 +6,7 @@
    private Long endTime;
    private String orderId;
    private String orderType = "2";
    private double money;
    private double money = 0.0;
    public Long getStartTime() {
        return startTime;
app/src/main/java/com/okgoincar/netUtls/Api.java
@@ -62,6 +62,7 @@
    public static String confirmFees = "api/order/confirmFees"; //api/order/confirmFees 司机确认费用
    public static String orderStateSocket = "api/netty/orderStateSocket"; ///api/netty/orderStateSocket 主动调用获取订单状态
    public static String confirmFees_ = "api/order/confirmFees_"; ///api/order/confirmFees_ 司机确认费用(车载端)
    public static String confirmFees$ = "api/order/confirmFees$"; ///api/order/confirmFees$ 司机确认费用(车载端)不管之前数据状态直接修改到待支付(流程断网情况的处理流程)
    /***
     * 消息
app/src/main/java/com/okgoincar/slab/SlabLoginActivity.kt
@@ -38,6 +38,7 @@
            callNet(true, Api.loginByJobNumber, map) {
                toast("登录成功")
                var bean = gson.fromJson<LoginBean>(it, LoginBean::class.java)
                CacheKey.putKeyStr("jobNum",et_number.getContent().trim())
                CacheKey.putKeyStr("appid", bean.data.appid)
                CacheKey.putKeyStr("token", bean.data.token)
                CacheKey.putKeyStr("userId", bean.data.id.toString())
app/src/main/java/com/okgoincar/slab/SlabMainActivity.kt
@@ -10,10 +10,7 @@
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import cn.sinata.rxnetty.NettyClient
import cn.sinata.xldutils.utils.Utils
import cn.sinata.xldutils.utils.clickDelay
import cn.sinata.xldutils.utils.getNowTimeBlack
import cn.sinata.xldutils.utils.textColor
import cn.sinata.xldutils.utils.*
import com.amap.api.location.AMapLocation
import com.amap.api.location.AMapLocationListener
import com.okgoincar.netUtls.callNet
@@ -33,10 +30,13 @@
import com.okgoincar.utils.DateUtil
import com.okgoincar.utils.download.DownloadUtil
import com.okgoincar.utils.glide.GlideUtil
import kotlinx.android.synthetic.main.slab_activity_login.*
import kotlinx.android.synthetic.main.slab_activity_main.*
import kotlinx.android.synthetic.main.slab_activity_main.tv_name
import org.greenrobot.eventbus.EventBus
import org.jetbrains.anko.startActivity
import org.jetbrains.anko.toast
import java.lang.Exception
class SlabMainActivity : MySlabBaseActivity(), AMapLocationListener {
@@ -91,6 +91,8 @@
        setTitleText("OK出行司机")
        showHeader(false)
        showTitle(false)
        callLogin {
            view_mode.isSelected = !getNowTimeBlack()
        addFragment(mainFragment, R.id.rl_container)
        AMapKit.initLocation(this, this)
        initCall()
@@ -98,7 +100,8 @@
        callPersion()
//        showOrder("2221", "2", 100, 2)
        callVersion()
        view_mode.isSelected = !getNowTimeBlack()
        }
        //重重新登录 用来上线
    }
@@ -112,7 +115,11 @@
    override fun onResume() {
        super.onResume()
        try {
        mainFragment.refresh()
        }catch (e:Exception){
        }
    }
    private fun showUI(data: UserInfoBean?) {
@@ -256,8 +263,6 @@
    }
    private
    var mBackAppTime: Long = 0
@@ -280,6 +285,13 @@
            BaseEvent.REQUEST_CAR_INFO -> {
                Handler(Looper.getMainLooper()).post {
                    toast("收到显示屏信息")
                }
            }
            BaseEvent.ERROR_INFO -> {
                try {
                    mainFragment.refresh()
                }catch (e:Exception){
                }
            }
        }
@@ -307,12 +319,18 @@
            var bean = gson.fromJson<VersionBean>(it, VersionBean::class.java)
            if (bean.data.version != "" && bean.data.version != Utils.getAppVersion(this)) {
                if (bean.data.mandatory == 0) {
                    var pop = DialogUtil.getSlabDelAndSurePopWindow(this, "确定" ,"取消","有新版本是否更新", {}) {
                    var pop =
                        DialogUtil.getSlabDelAndSurePopWindow(this, "确定", "取消", "有新版本是否更新", {}) {
                        DownloadUtil(this).downloadAPK(bean.data.url, "ok出行车载端")
                    }
                    pop.showCenter(window.decorView)
                } else {
                    var pop = DialogUtil.getSlabDelAndSurePopWindow(this,"确定" ,"取消","版本已过时,是否强制升级?", {}) {
                    var pop = DialogUtil.getSlabDelAndSurePopWindow(
                        this,
                        "确定",
                        "取消",
                        "版本已过时,是否强制升级?",
                        {}) {
                        DownloadUtil(this).downloadAPK(bean.data.url, "ok出行车载端")
                        toast("后台开始下载,请等待")
                    }
@@ -324,4 +342,39 @@
            }
        }
    }
    private fun callLogin(ok: () -> Unit) {
        var jobNum = CacheKey.getKeyStr("jobNum")
        var identification = CacheKey.getKeyStr("identification")
        if (jobNum.isNotEmpty()) {
            var map = getMapByAny()
            map["jobNum"] = jobNum
            callNet(true, Api.loginByJobNumber, map) {
                var bean = gson.fromJson<LoginBean>(it, LoginBean::class.java)
                CacheKey.putKeyStr("jobNum", jobNum)
                CacheKey.putKeyStr("appid", bean.data.appid)
                CacheKey.putKeyStr("token", bean.data.token)
                CacheKey.putKeyStr("userId", bean.data.id.toString())
                CacheKey.putKeyStr("serverId", bean.data.serverId.toString())
                CacheKey.putKeyStr("terminalName", bean.data.terminalId.toString())
                ok()
            }
        } else if (identification.isNotEmpty()) {
            var map = getMapByAny()
            map["identification"] = identification
            callNet(true, Api.loginByIdentification, map) {
                var bean = Gson().fromJson<LoginBean>(it, LoginBean::class.java)
                CacheKey.putKeyStr("identification", identification)
                CacheKey.putKeyStr("appid", bean.data.appid)
                CacheKey.putKeyStr("token", bean.data.token)
                CacheKey.putKeyStr("userId", bean.data.id.toString())
                CacheKey.putKeyStr("serverId", bean.data.serverId.toString())
                CacheKey.putKeyStr("terminalName", bean.data.terminalId.toString())
                ok()
            }
        } else {
            ok()
        }
    }
}
app/src/main/java/com/okgoincar/slab/SlabOrderOverActivity.kt
@@ -1,6 +1,7 @@
package com.okgoincar.slab
import android.os.CountDownTimer
import android.os.Handler
import android.os.Looper
import cn.sinata.xldutils.utils.*
import com.okgoincar.netUtls.callNet
@@ -96,17 +97,14 @@
        callNet(this, Api.queryOrderInfo, map) {
            orderBean = gson.fromJson(it, OrderBean::class.java)
            showUi(orderBean)
            time = timeOver (5000){
                tv_title_slab.text = "已完成($it)"
                if (it == 0){
                    onBackPressed()
                }
            }
            addSocketLisener()
        }
    }
    private fun showUi(orderBean: OrderBean?) {
        orderBean?.let {
            tv_title_slab.text = "待支付"
            tv_name.text = it.data.nickName
            tv_car_num.text = it.data.historyNum.toString() + "次乘车"
            tv_phone.clickDelay {
@@ -147,13 +145,23 @@
        MyApplication.addOrderView(object : MyApplication.OrderStatueView {
            override fun orderInfo(data: OrderSimpleData?) {
                data?.let {
                    if (it.status == 8) {
                        android.os.Handler(Looper.getMainLooper()).post {
                            orderBean.data.orderState = 8
                            showUi(orderBean)
                    if (it.status == 8||it.status == 7) {
                        tv_pay_result_money.textColor(this@SlabOrderOverActivity,R.color.slab_green_over)
                        Handler(Looper.getMainLooper()).post {
                            time = timeOver (5000){
                                tv_title_slab.text = "已完成($it)"
                                if (it == 0){
                                    onBackPressed()
                        }
                    }
                }
//                        android.os.Handler(Looper.getMainLooper()).post {
//                            orderBean.data.orderState = 8
//                            showUi(orderBean)
//                        }
                    }
                }
            }
        })
app/src/main/java/com/okgoincar/slab/SlabTripActivity.kt
@@ -26,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
@@ -47,43 +48,18 @@
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){
        if (MyApplication.currentOrderId.isEmpty()){
            cn.sinata.xldutils.utils.toast("没有进行中的订单,无法结束")
            return
        }
        var map = getMapByAny()
        map["orderId"] = MyApplication.currentOrderId
        map["orderType"] = MyApplication.currentOrderType
        map["travelFee"] = travelFee
        map["lat"] = MyApplication.getLocation().latitude
        map["lon"] = MyApplication.getLocation().longitude
        map["type"] = 1
        callNet(contexts,Api.confirmFees_,map){
            EventBus.getDefault().post(BaseEvent(BaseEvent.SURE_MONEY))
        }
        MoneyBroadCastReceiver.callOver(contexts, travelFee)
    }
    private fun callStatue(contexts: Context, i: Int) {
        if (MyApplication.currentOrderId.isEmpty()){
            cn.sinata.xldutils.utils.toast("没有进行中的订单,无法开始")
            return
        }
        var map = getMapByAny()
        map["orderId"] = MyApplication.currentOrderId
        map["orderType"] = MyApplication.currentOrderType
        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))
        }
        MoneyBroadCastReceiver.callStatue(contexts, i)
    }
@@ -186,6 +162,7 @@
                    if (it.status == 10 || it.status == 12) {
                        Handler(Looper.getMainLooper()).post {
                            toast("用户已取消订单")
                            MyApplication.getTTsManager().setVideoText("用户已取消订单")
                            MyApplication.currentOrderType = ""
                            MyApplication.currentOrderId = ""
                            finish()
@@ -215,7 +192,6 @@
            tv_change.setBackgroundResource(R.drawable.bg_login)
        }
    }
    private fun onclick() {
@@ -697,9 +673,15 @@
            }
            BaseEvent.SURE_MONEY -> {
                startActivity<SlabOrderOverActivity>("orderId" to orderBean.data.orderId.toString() , "orderType" to "2")
                startActivity<SlabOrderOverActivity>(
                    "orderId" to orderBean.data.orderId.toString(),
                    "orderType" to "2"
                )
                finish()
            }
            BaseEvent.ERROR_INFO -> {
                onBackPressed()
            }
        }
    }
}
app/src/main/res/drawable/mode_write_and_black.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@mipmap/close_big" android:state_selected="true" />
    <item android:drawable="@mipmap/close_write_c" android:state_selected="false" />
    <item android:drawable="@mipmap/mode_black_config" android:state_selected="true" />
    <item android:drawable="@mipmap/mode_write_config" android:state_selected="false" />
</selector>
app/src/main/res/layout/activity_trip_slab.xml
@@ -16,14 +16,12 @@
            android:id="@+id/btn_start"
            android:layout_width="wrap_content"
            android:layout_marginStart="150dp"
            android:visibility="gone"
            android:text="开始行程"
            android:layout_height="match_parent"/>
        <Button
            android:id="@+id/btn_end"
            android:layout_width="wrap_content"
            android:visibility="gone"
            android:layout_marginStart="300dp"
            android:text="结束行程"
            android:layout_height="match_parent"/>
app/src/main/res/mipmap-xxhdpi/mode_black_config.png
app/src/main/res/mipmap-xxhdpi/mode_write_config.png
app/src/main/res/values/colors.xml
@@ -89,6 +89,7 @@
    <color name="yellow_FFA72D">#FFA72D</color>
    <color name="slab_yellow_zhong">#ED5F08</color>
    <color name="slab_green_over">#7FC015</color>
    <color name="black_mode_383838">#383838</color>
    <color name="black_191919">#191919</color>