18034727885
2026-07-24 7abba6f97f341700f671bfce6e8224b787dd7f98
修复问题
8个文件已修改
194 ■■■■■ 已修改文件
app/src/main/java/com/driver/igotrip/bean/UserInfoBean.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/netUtls/FaceObserver.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/netUtls/MyNoMsgObserver.java 37 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/netUtls/MyObserver.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/ui/mine/MineActivity.kt 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xldUtils/src/main/java/cn/sinata/xldutils/net/utils/Error.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
xldUtils/src/main/java/cn/sinata/xldutils/net/utils/ResultDataSubscriber.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/driver/igotrip/bean/UserInfoBean.java
@@ -1,5 +1,7 @@
package com.driver.igotrip.bean;
import android.text.TextUtils;
public class UserInfoBean {
    /**
@@ -36,7 +38,7 @@
    private int userId = -1;
    private int id = -1;
    private long addTime;
    private String avatar="";
    private String avatar = "";
    private String nickname;
    private String brand;
    private String licensePlate;
@@ -69,6 +71,8 @@
    private String email;
    public String birthday;
    public String driveCard;
    //接单最小余额
    public String orderMinBalance;
    public String getEmail() {
        return email;
@@ -95,9 +99,9 @@
    }
    public double getLaveBusinessNextWeekMoney() {
        if (laveBusinessNextWeekMoney == null || laveBusinessNextWeekMoney.isEmpty()){
        if (laveBusinessNextWeekMoney == null || laveBusinessNextWeekMoney.isEmpty()) {
            return 0.0;
        }else {
        } else {
            return Double.valueOf(laveBusinessNextWeekMoney);
        }
    }
@@ -357,6 +361,19 @@
     * 获取账户剩余
     */
    public double getAccountBalance() {
        return balance + laveBusinessMoney;
        return balance;
    }
    public String getOrderMinBalance() {
        return orderMinBalance;
    }
    public void setOrderMinBalance(String orderMinBalance) {
        this.orderMinBalance = orderMinBalance;
    }
    //是否能够接单
    public boolean couldTakeOrder() {
        return getAccountBalance() >= Double.parseDouble(TextUtils.isEmpty(orderMinBalance) ? "0" : orderMinBalance);
    }
}
app/src/main/java/com/driver/igotrip/netUtls/FaceObserver.java
@@ -15,6 +15,7 @@
import cn.sinata.xldutils.activitys.BaseActivity;
import cn.sinata.xldutils.fragment.BaseFragment;
import cn.sinata.xldutils.net.utils.Error;
import cn.sinata.xldutils.net.utils.ResultException;
import cn.sinata.xldutils.utils.StringUtils;
import cn.sinata.xldutils.utils.Toast;
@@ -36,13 +37,6 @@
    WeakReference<BaseActivity> activities;
    WeakReference<BaseFragment> fragments;
    Context context;
    public static final String REQUEST_ERROR = "请求出错!";
    public static final String PARSER_ERROR = "数据解析出错!";
    public static final String SERVER_ERROR = "服务器异常,请稍后重试!";
    public static final String NET_ERROR = "未连接到服务器!";
    public static final String NET_TIMEOUT = "链接超时,请稍后再试!";
    public FaceObserver(BaseActivity activity) {
        activities = new WeakReference<>(activity);
@@ -77,8 +71,8 @@
            LogUtils.e("responseString", "**" + responseString);
            if (StringUtils.isEmpty(responseString)) { //判空
                int code = -1;
                String msg = PARSER_ERROR;
                onError(code, msg,responseString);
                String msg = getShowErrorMsg(Error.PARSER_ERROR);
                onError(code, msg, responseString);
                return;
            }
//            success(responseString);
@@ -103,30 +97,30 @@
        Utils.systemErr(e);
        Log.e("responseString", "responseString get  " + e.toString());
        int code = -1;
        String msg = REQUEST_ERROR;
        String msg = getShowErrorMsg(Error.REQUEST_ERROR);
        if (e instanceof JsonSyntaxException ||
                e instanceof NumberFormatException ||
                e instanceof IllegalStateException) {
            msg = PARSER_ERROR;
            msg = getShowErrorMsg(Error.PARSER_ERROR);
        } else if (e instanceof HttpException) {
            msg = SERVER_ERROR;
            msg = getShowErrorMsg(Error.SERVER_ERROR);
        } else if (e instanceof ConnectException) {
            msg = NET_ERROR;
            msg = getShowErrorMsg(Error.NET_ERROR);
        } else if (e instanceof SocketTimeoutException) {
            msg = NET_TIMEOUT;
            msg = getShowErrorMsg(Error.NET_TIMEOUT);
        } else if (e instanceof ResultException) {
            code = ((ResultException) e).getCode();
            msg = e.getMessage();
        }
        try {
            onError(code, msg,"");
            onError(code, msg, "");
        } catch (Exception es) {
            es.printStackTrace();
        }
    }
    protected void onError(int code, String msg,String resposeString) {
    protected void onError(int code, String msg, String resposeString) {
        if (shouldShowErrorToast()) {
            showToast(msg);
        }
@@ -191,4 +185,16 @@
    public void dispose() {
    }
    /**
     * 获取异常显示信息
     */
    public String getShowErrorMsg(Error error) {
        int typeByLanguage = HttpManager.getTypeByLanguage();
        return switch (typeByLanguage) {
            case 3 -> error.getErrorFr();
            case 1 -> error.getErrorCh();
            default -> error.getErrorEn();
        };
    }
}
app/src/main/java/com/driver/igotrip/netUtls/MyNoMsgObserver.java
@@ -5,7 +5,6 @@
import android.graphics.Bitmap;
import android.util.Log;
import com.driver.igotrip.R;
import com.driver.igotrip.base.BaseEvent;
import com.driver.igotrip.base.MyApplication;
import com.driver.igotrip.ui.pub.LoginActivity;
@@ -24,6 +23,7 @@
import cn.sinata.rxnetty.NettyClient;
import cn.sinata.xldutils.activitys.BaseActivity;
import cn.sinata.xldutils.fragment.BaseFragment;
import cn.sinata.xldutils.net.utils.Error;
import cn.sinata.xldutils.net.utils.ResultException;
import cn.sinata.xldutils.utils.StringUtils;
import cn.sinata.xldutils.utils.Toast;
@@ -45,13 +45,6 @@
    WeakReference<BaseActivity> activities;
    WeakReference<BaseFragment> fragments;
    Context context;
    public static final String REQUEST_ERROR = "请求出错!";
    public static final String PARSER_ERROR = "数据解析出错!";
    public static final String SERVER_ERROR = "服务器异常,请稍后重试!";
    public static final String NET_ERROR = "未连接到服务器!";
    public static final String NET_TIMEOUT = "链接超时,请稍后再试!";
    public MyNoMsgObserver(BaseActivity activity) {
        activities = new WeakReference<>(activity);
@@ -86,7 +79,7 @@
            LogUtils.e("responseString", "**" + responseString);
            if (StringUtils.isEmpty(responseString)) { //判空
                int code = -1;
                String msg = PARSER_ERROR;
                String msg = getShowErrorMsg(Error.PARSER_ERROR);
                onError(code, msg, responseString);
                return;
            }
@@ -122,17 +115,17 @@
        Utils.systemErr(e);
        Log.e("responseString", "responseString get  " + e.toString());
        int code = -1;
        String msg = context.getString(R.string.请求出错);
        String msg = getShowErrorMsg(Error.REQUEST_ERROR);
        if (e instanceof JsonSyntaxException ||
                e instanceof NumberFormatException ||
                e instanceof IllegalStateException) {
            msg = PARSER_ERROR;
            msg = getShowErrorMsg(Error.PARSER_ERROR);
        } else if (e instanceof HttpException) {
            msg = SERVER_ERROR;
            msg = getShowErrorMsg(Error.SERVER_ERROR);
        } else if (e instanceof ConnectException) {
            msg = NET_ERROR;
            msg = getShowErrorMsg(Error.NET_ERROR);
        } else if (e instanceof SocketTimeoutException) {
            msg = NET_TIMEOUT;
            msg = getShowErrorMsg(Error.NET_TIMEOUT);
        } else if (e instanceof ResultException) {
            code = ((ResultException) e).getCode();
            msg = e.getMessage();
@@ -147,8 +140,8 @@
    protected void onError(int code, String msg, String resposeString) {
        if (shouldShowErrorToast()) {
            Log.e( "onError: ", "长连接请求报错"+msg);
          //  showToast(msg);
            Log.e("onError: ", "长连接请求报错" + msg);
            //  showToast(msg);
        }
    }
@@ -211,4 +204,16 @@
    public void dispose() {
    }
    /**
     * 获取异常显示信息
     */
    public String getShowErrorMsg(Error error) {
        int typeByLanguage = HttpManager.getTypeByLanguage();
        return switch (typeByLanguage) {
            case 3 -> error.getErrorFr();
            case 1 -> error.getErrorCh();
            default -> error.getErrorEn();
        };
    }
}
app/src/main/java/com/driver/igotrip/netUtls/MyObserver.java
@@ -6,7 +6,6 @@
import android.text.TextUtils;
import android.util.Log;
import com.driver.igotrip.R;
import com.driver.igotrip.base.BaseEvent;
import com.driver.igotrip.base.MyApplication;
import com.driver.igotrip.ui.pub.LoginActivity;
@@ -25,6 +24,7 @@
import cn.sinata.rxnetty.NettyClient;
import cn.sinata.xldutils.activitys.BaseActivity;
import cn.sinata.xldutils.fragment.BaseFragment;
import cn.sinata.xldutils.net.utils.Error;
import cn.sinata.xldutils.net.utils.ResultException;
import cn.sinata.xldutils.utils.StringUtils;
import cn.sinata.xldutils.utils.Toast;
@@ -46,13 +46,6 @@
    WeakReference<BaseActivity> activities;
    WeakReference<BaseFragment> fragments;
    Context context;
    public static final String REQUEST_ERROR = "请求出错!";
    public static final String PARSER_ERROR = "数据解析出错!";
    public static final String SERVER_ERROR = "服务器异常,请稍后重试!";
    public static final String NET_ERROR = "未连接到服务器!";
    public static final String NET_TIMEOUT = "链接超时,请稍后再试!";
    public MyObserver(BaseActivity activity) {
        activities = new WeakReference<>(activity);
@@ -87,7 +80,7 @@
            LogUtils.e("responseString", "**" + responseString);
            if (StringUtils.isEmpty(responseString)) { //判空
                int code = -1;
                String msg = PARSER_ERROR;
                String msg = getShowErrorMsg(Error.PARSER_ERROR);
                onError(code, msg, responseString);
                return;
            }
@@ -123,17 +116,17 @@
        Utils.systemErr(e);
        Log.e("responseString", "responseString get  " + e.toString());
        int code = -1;
        String msg = context.getString(R.string.请求出错);
        String msg = getShowErrorMsg(Error.REQUEST_ERROR);
        if (e instanceof JsonSyntaxException ||
                e instanceof NumberFormatException ||
                e instanceof IllegalStateException) {
            msg = PARSER_ERROR;
            msg = getShowErrorMsg(Error.PARSER_ERROR);
        } else if (e instanceof HttpException) {
            msg = SERVER_ERROR;
            msg = getShowErrorMsg(Error.SERVER_ERROR);
        } else if (e instanceof ConnectException) {
            msg = NET_ERROR;
            msg = getShowErrorMsg(Error.NET_ERROR);
        } else if (e instanceof SocketTimeoutException) {
            msg = NET_TIMEOUT;
            msg = getShowErrorMsg(Error.NET_TIMEOUT);
        } else if (e instanceof ResultException) {
            code = ((ResultException) e).getCode();
            msg = e.getMessage();
@@ -167,7 +160,7 @@
     * @param s 提示文字
     */
    protected void showToast(String s) {
        if(TextUtils.isEmpty(s)){
        if (TextUtils.isEmpty(s)) {
            return;
        }
        Toast.create(context).show(s);
@@ -214,4 +207,16 @@
    public void dispose() {
    }
    /**
     * 获取异常显示信息
     */
    public String getShowErrorMsg(Error error) {
        int typeByLanguage = HttpManager.getTypeByLanguage();
        return switch (typeByLanguage) {
            case 3 -> error.getErrorFr();
            case 1 -> error.getErrorCh();
            default -> error.getErrorEn();
        };
    }
}
app/src/main/java/com/driver/igotrip/ui/main/MainActivity.kt
@@ -639,9 +639,8 @@
            if (user.data == null) {
                return@callNet
            }
            val min = 40000
            if (user.data.accountBalance < min) {
                showNoticeAccountBalanceDialog(min)
            if (!user.data.couldTakeOrder()) {
                showNoticeAccountBalanceDialog(user.data.orderMinBalance)
                return@callNet
            }
            effectiveCallback.invoke()
@@ -650,7 +649,7 @@
    /**显示提示账户余额弹窗
     * @param min 最低金额*/
    private fun showNoticeAccountBalanceDialog(min: Int) {
    private fun showNoticeAccountBalanceDialog(min: String) {
        val l = SPUtils.getString(Const.language)
        val sure: String
        val cancel: String
@@ -661,21 +660,21 @@
                sure = getString(R.string.充值)
                cancel = "Fermer"
                warn = "Rappel"
                content = "Solde inférieur à $min xifa, s'il vous plaît recharger d'abord"
                content = "Solde inférieur à FCFA$min, s'il vous plaît recharger d'abord"
            }
            Const.Language.CHINESE, "zh" -> {
                sure = getString(R.string.充值)
                cancel = "关闭"
                warn = "提示"
                content = "余额不足${min}西法,请先充值"
                content = "余额不足FCFA${min},请先充值"
            }
            else -> {
                sure = getString(R.string.充值)
                cancel = "Close"
                warn = "Reminder"
                content = "The balance is less than $min Spanish francs, please recharge first"
                content = "The balance is less than FCFA$min, please recharge first"
            }
        }
        val delAndSureDialog = getDelAndSureDialog(
app/src/main/java/com/driver/igotrip/ui/mine/MineActivity.kt
@@ -134,7 +134,8 @@
            tv_order_num.text = it.orderNum
            tv_star.text = getFormatOne(it.score)
//            tv_money.text = getString(R.string.money) + getFormatTwo(it.balance + it.laveBusinessMoney + it.laveBusinessNextWeekMoney)
            tv_money.text = getString(R.string.money) + getFormatTwo(it.balance + it.laveBusinessMoney)
//            tv_money.text = getString(R.string.money) + getFormatTwo(it.balance + it.laveBusinessMoney)
            tv_money.text = getString(R.string.money) + getFormatTwo(it.balance)
            ll_qr.visibility = if (data.qrCodeIsOpen) View.VISIBLE else View.GONE
            view_qr.visibility = if (data.qrCodeIsOpen) View.VISIBLE else View.GONE
        }
xldUtils/src/main/java/cn/sinata/xldutils/net/utils/Error.java
@@ -1,14 +1,33 @@
package cn.sinata.xldutils.net.utils;
/**
 *
 * 异常
 */
public enum Error {
    REQUEST_ERROR("请求出错!", "Request error!", "Erreur dans la demande!"),
    PARSER_ERROR("数据解析出错!", "Data analysis error!", "Erreur de résolution des données!"),
    SERVER_ERROR("服务器异常,请稍后重试!", "Server error, please try again later!", "Exception serveur, réessayez plus tard!"),
    NET_ERROR("未连接到服务器!", "Not connected to the server!", "Pas connecté au serveur!"),
    NET_TIMEOUT("链接超时,请稍后再试!", "Link timeout, please try again later!", "Le lien a expiré, réessayez plus tard!");
    private final String errorCh;
    private final String errorEn;
    private final String errorFr;
public class Error {
    Error(String errorCh, String errorEn, String errorFr) {
        this.errorCh = errorCh;
        this.errorEn = errorEn;
        this.errorFr = errorFr;
    }
    public static final String REQUEST_ERROR = "请求出错!";
    public static final String PARSER_ERROR = "数据解析出错!";
    public static final String SERVER_ERROR = "服务器异常,请稍后重试!";
    public static final String NET_ERROR = "未连接到服务器!";
    public static final String NET_TIMEOUT = "链接超时,请稍后再试!";
    public String getErrorCh() {
        return errorCh;
    }
    public String getErrorEn() {
        return errorEn;
    }
    public String getErrorFr() {
        return errorFr;
    }
}
xldUtils/src/main/java/cn/sinata/xldutils/net/utils/ResultDataSubscriber.java
@@ -43,17 +43,17 @@
    public void onError(Throwable e) {
        super.onError(e);
        int code = -1;
        String msg = Error.REQUEST_ERROR;
        String msg = Error.REQUEST_ERROR.getErrorCh();
        if (e instanceof JsonSyntaxException ||
                e instanceof NumberFormatException ||
                e instanceof IllegalStateException) {
            msg = Error.PARSER_ERROR;
            msg = Error.PARSER_ERROR.getErrorCh();
        } else if (e instanceof HttpException) {
            msg = Error.SERVER_ERROR;
            msg = Error.SERVER_ERROR.getErrorCh();
        } else if (e instanceof ConnectException) {
            msg = Error.NET_ERROR;
            msg = Error.NET_ERROR.getErrorCh();
        } else if (e instanceof SocketTimeoutException) {
            msg = Error.NET_TIMEOUT;
            msg = Error.NET_TIMEOUT.getErrorCh();
        } else if (e instanceof ResultException) {
            code = ((ResultException) e).getCode();
            msg = e.getMessage();