From cdb6a87fcd370b814b62a76e00d9e8554bc1f0b7 Mon Sep 17 00:00:00 2001
From: 18034727885 <973609879@qq.com>
Date: 星期三, 18 三月 2026 17:08:36 +0800
Subject: [PATCH] 点击上班增加账户40000的判断 修复非中文语言情况下显示中文标题的问题

---
 app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt |  139 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 97 insertions(+), 42 deletions(-)

diff --git a/app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt b/app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
index fda6d76..f394faf 100644
--- a/app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
+++ b/app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
@@ -10,13 +10,11 @@
 import android.os.Message
 import android.provider.Settings
 import android.util.Log
-import android.view.Gravity
 import android.view.View
 import android.widget.ImageView
 import android.widget.LinearLayout
 import android.widget.TextView
 import android.widget.Toast
-import androidx.lifecycle.lifecycleScope
 import cn.sinata.rxnetty.NettyClient
 import cn.sinata.xldutils.utils.SPUtils
 import cn.sinata.xldutils.utils.Utils
@@ -39,6 +37,7 @@
 import com.driver.igotrip.bean.SelectServerModeBean
 import com.driver.igotrip.bean.TimeBean
 import com.driver.igotrip.bean.UpCarInfo
+import com.driver.igotrip.bean.UserBean
 import com.driver.igotrip.bean.VersionBean
 import com.driver.igotrip.netUtls.Api
 import com.driver.igotrip.netUtls.callNet
@@ -46,6 +45,7 @@
 import com.driver.igotrip.ui.DialogUtil
 import com.driver.igotrip.ui.DialogUtil.getDelAndSureDialog
 import com.driver.igotrip.ui.main.event.MineEventActivity
+import com.driver.igotrip.ui.mine.BalanceTopupActivity
 import com.driver.igotrip.ui.mine.ChangeCarActivity
 import com.driver.igotrip.ui.mine.DriverAttestationActivity
 import com.driver.igotrip.ui.mine.MineActivity
@@ -60,18 +60,11 @@
 import com.google.android.gms.maps.SupportMapFragment
 import com.google.android.gms.maps.model.LatLng
 import com.google.gson.Gson
-import com.lzf.easyfloat.EasyFloat
-import com.lzf.easyfloat.enums.ShowPattern
-import com.lzf.easyfloat.enums.SidePattern
-import com.lzf.easyfloat.interfaces.OnInvokeView
 import com.tbruyelle.rxpermissions2.RxPermissions
 import com.wang.avi.AVLoadingIndicatorView
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.launch
 import org.greenrobot.eventbus.EventBus
 import org.greenrobot.eventbus.Subscribe
 import org.jetbrains.anko.browse
-import org.jetbrains.anko.dip
 import org.jetbrains.anko.find
 import org.jetbrains.anko.startActivity
 import org.jetbrains.anko.toast
@@ -589,40 +582,43 @@
                     if (bean) {
                         showPayDialog()
                     } else {
-                        callNet(Api.queryMyBusiness, getMapByAny()) {
-                            var bean = gson.fromJson(it, SelectServerModeBean::class.java).data
-                            if (bean.isEmpty()) {
-                                toast(getString(R.string.请选择接单业务))
-                                return@callNet
-                            }
-                            if (bean.size > 1) {
-                                startActivity<SelectServerModeActivity>()
-                            } else {
-                                var map = getMapByAny()
-                                map["type"] = bean[0].id
-                                callNet(Api.work, map) {
-                                    var carinfo = gson.fromJson<UpCarInfo>(
-                                        it,
-                                        UpCarInfo::class.java
-                                    )
-                                    if (carinfo.data?.jumpCode == "200000") {
-                                        DialogUtil.getDelAndSureDialog(
-                                            this,
-                                            getString(R.string.您还没有完善车辆信息),
-                                            {},
-                                            {
-                                                startActivity<ChangeCarActivity>()
-                                            })
-                                    } else {
-                                        toast(getString(R.string.上班成功))
-                                        beOnDuty(true)
-                                        MyApplication.getTTsManager()
-                                            .setVideoText(carinfo.data?.audioUrl)
-                                        CacheKey.putKeyStr(
-                                            "vehicleId",
-                                            carinfo.data?.vehicleId ?: ""
+                        judgeAccountEffective {
+                            callNet(Api.queryMyBusiness, getMapByAny()) {
+                                var bean = gson.fromJson(it, SelectServerModeBean::class.java).data
+                                if (bean.isEmpty()) {
+                                    toast(getString(R.string.请选择接单业务))
+                                    return@callNet
+                                }
+                                if (bean.size > 1) {
+                                    startActivity<SelectServerModeActivity>()
+                                } else {
+                                    var map = getMapByAny()
+                                    map["type"] = bean[0].id
+                                    callNet(Api.work, map) {
+                                        var carinfo = gson.fromJson<UpCarInfo>(
+                                            it,
+                                            UpCarInfo::class.java
                                         )
-                                        EventBus.getDefault().post(BaseEvent(BaseEvent.START_CAR))
+                                        if (carinfo.data?.jumpCode == "200000") {
+                                            DialogUtil.getDelAndSureDialog(
+                                                this,
+                                                getString(R.string.您还没有完善车辆信息),
+                                                {},
+                                                {
+                                                    startActivity<ChangeCarActivity>()
+                                                })
+                                        } else {
+                                            toast(getString(R.string.上班成功))
+                                            beOnDuty(true)
+                                            MyApplication.getTTsManager()
+                                                .setVideoText(carinfo.data?.audioUrl)
+                                            CacheKey.putKeyStr(
+                                                "vehicleId",
+                                                carinfo.data?.vehicleId ?: ""
+                                            )
+                                            EventBus.getDefault()
+                                                .post(BaseEvent(BaseEvent.START_CAR))
+                                        }
                                     }
                                 }
                             }
@@ -633,6 +629,65 @@
         }
     }
 
+    /**判断账户是否有效
+     * @param effectiveCallback 能够操作的回调*/
+    private fun judgeAccountEffective(effectiveCallback: () -> Unit) {
+        callNet(Api.queryInfo, getMapByAny()) {
+            val user = gson.fromJson<UserBean>(it, UserBean::class.java)
+            if (user.data == null) {
+                return@callNet
+            }
+            val min = 40000
+            if (user.data.accountBalance < min) {
+                showNoticeAccountBalanceDialog(min)
+                return@callNet
+            }
+            effectiveCallback.invoke()
+        }
+    }
+
+    /**显示提示账户余额弹窗
+     * @param min 最低金额*/
+    private fun showNoticeAccountBalanceDialog(min: Int) {
+        val l = SPUtils.getString(Const.language)
+        val sure: String
+        val cancel: String
+        val content: String
+        val warn: String
+        when (l) {
+            "fr" -> {
+                sure = getString(R.string.充值)
+                cancel = "Fermer"
+                warn = "Rappel"
+                content = "Solde inférieur à $min xifa, s'il vous plaît recharger d'abord"
+            }
+
+            "ch", "zh" -> {
+                sure = getString(R.string.充值)
+                cancel = "关闭"
+                warn = "提示"
+                content = "余额不足${min}西法,请先充值"
+            }
+
+            else -> {
+                sure = getString(R.string.充值)
+                cancel = "Close"
+                warn = "Reminder"
+                content = "The balance is less than $min Spanish francs, please recharge first"
+            }
+        }
+        val delAndSureDialog = getDelAndSureDialog(
+            this,
+            sure,
+            cancel,
+            content,
+            {}) {
+            startActivity<BalanceTopupActivity>()
+        }
+        delAndSureDialog.window?.decorView?.let {
+            it.find<TextView>(R.id.tv_hint_base).text = warn
+        }
+    }
     private fun showPayDialog() {
         val l = SPUtils.getString(Const.language)
         val pay:String

--
Gitblit v1.7.1