18034727885
2026-04-10 62a5ff043d7bca49dceebf7e6ddfeb8ffadad422
优化小程序订单听单逻辑
2个文件已添加
4个文件已修改
823 ■■■■■ 已修改文件
app/src/main/java/com/jxonlinecar/driver/base/Const.java 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/jxonlinecar/driver/base/MyApplication.kt 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/jxonlinecar/driver/bean/OrderBean.java 379 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/jxonlinecar/driver/bean/OrderInfo.java 377 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/jxonlinecar/driver/bean/SocketMiniOrderInfo.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/jxonlinecar/driver/ui/main/MainActivity.kt 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/jxonlinecar/driver/base/Const.java
@@ -54,6 +54,7 @@
    public static class SOCKET_METHOD {
        public final static String OK = "OK";
        public final static String ORDER_INFO = "ORDER_INFO";
        public final static String ORDER_STATUS = "ORDER_STATUS";
        public final static String REASSIGN = "REASSIGN";
        public final static String OFFLINE = "OFFLINE";
app/src/main/java/com/jxonlinecar/driver/base/MyApplication.kt
@@ -19,9 +19,7 @@
import com.google.gson.Gson
import com.jxonlinecar.driver.base.gaode.AMapKit
import com.jxonlinecar.driver.base.gaode.gpsnav.util.TTSController
import com.jxonlinecar.driver.bean.CarLocationBean
import com.jxonlinecar.driver.bean.OrderResData
import com.jxonlinecar.driver.bean.OrderSimpleData
import com.jxonlinecar.driver.bean.*
import com.jxonlinecar.driver.bean.websocket.HeartBean
import com.jxonlinecar.driver.netUtls.Api
import com.jxonlinecar.driver.netUtls.callNet
@@ -57,7 +55,7 @@
    var heartHandler: Handler? = null
    var currentTime = System.currentTimeMillis()
    var locationClient: AMapLocationClient? = null
    val gson = Gson()
    override fun setSharedPreferencesName(): String {
        return "MyApplication"
    }
@@ -136,7 +134,7 @@
                                EventBus.getDefault().post(BaseEvent(BaseEvent.CHANGE_CAR_SUCCESS))
                            }
                            Const.SOCKET_METHOD.ORDER_GRAB -> {
                                var dataBean = Gson().fromJson(data, OrderSimpleData::class.java)
                                var dataBean = gson.fromJson(data, OrderSimpleData::class.java)
                                EventBus.getDefault().post(
                                    BaseEvent(
                                        BaseEvent.ORDER_GRAB_EVENT,
@@ -144,9 +142,27 @@
                                    )
                                )
                            }
                            Const.SOCKET_METHOD.ORDER_INFO -> {//小程序推单信息
                                val socketMiniOrderInfo =
                                    gson.fromJson(data, SocketMiniOrderInfo::class.java)
                                Log.d(TAG, "initSocket: 小程序订单:${message}")
                                //小程序订单
                                getTTsManager().setVideoText("龙江易出行司机,有一条新的订单")
                                val orderBean = OrderBean()
                                orderBean.code = 200
                                orderBean.data = socketMiniOrderInfo.order
                                EventBus.getDefault().post(
                                    BaseEvent(
                                        BaseEvent.GET_SMALL_ORDER,
                                        2,
                                        socketMiniOrderInfo.time,
                                        gson.toJson(orderBean)
                                    )
                                )
                            }
                            Const.SOCKET_METHOD.ORDER_STATUS -> {
                                val orderSimpleData =
                                    Gson().fromJson(
                                    gson.fromJson(
                                        data,
                                        OrderSimpleData::class.java
                                    )
@@ -236,7 +252,7 @@
                            Const.SOCKET_METHOD.REASSIGN -> {
                                EventBus.getDefault().post(BaseEvent(BaseEvent.REFREASH_MAIN))
                                val orderSimpleData =
                                    Gson().fromJson(
                                    gson.fromJson(
                                        data,
                                        OrderResData::class.java
                                    )
@@ -285,7 +301,7 @@
            )
            bean.data = dataBean
            NettyClient.getInstance()
                .sendMessage(Gson().toJson(bean))
                .sendMessage(gson.toJson(bean))
            sysErr(dataBean.toString())
        }
    }
@@ -296,7 +312,7 @@
            val bean = HeartBean()
            bean.data = HeartBean.DataBean()
            NettyClient.getInstance()
                .sendMessage(Gson().toJson(bean))
                .sendMessage(gson.toJson(bean))
            sendLocation()
            if (heartHandler == null) {
                heartHandler = Handler(mainLooper)
@@ -457,7 +473,7 @@
    override fun onLocationChanged(p0: AMapLocation?) {
        if (p0?.errorCode == 0) {
            aMapLocation = p0
            CacheKey.putKeyStr("location", Gson().toJson(p0))
            CacheKey.putKeyStr("location", gson.toJson(p0))
        }
    }
}
app/src/main/java/com/jxonlinecar/driver/bean/OrderBean.java
@@ -9,7 +9,7 @@
     */
    private Integer code;
    private DataBean data;
    private OrderInfo data;
    private String msg;
    private Long time = 0L; //收到订单时长
@@ -39,11 +39,11 @@
        this.code = code;
    }
    public DataBean getData() {
    public OrderInfo getData() {
        return data;
    }
    public void setData(DataBean data) {
    public void setData(OrderInfo data) {
        this.data = data;
    }
@@ -53,378 +53,5 @@
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public static class DataBean {
        /**
         * endAddress : string
         * endLat : string
         * endLon : string
         * historyNum : 0
         * nickName : string
         * orderId : 0
         * orderName : string
         * orderState : 0
         * phone : string
         * startAddress : string
         * startDistance : 0
         * startLat : string
         * startLon : string
         * tipMoney : 0
         * totalDistance : 0
         * travelTime : string
         */
        private String endAddress;
        private String endLat;
        private String endLon;
        private Integer historyNum;
        private Integer isReassign;
        private String nickName;
        private Integer orderId;
        private  Double orderMoney;
        private String orderName;
        private Integer orderState;
        private Integer payManner;
        private String phone;
        private String startAddress;
        private Double startDistance;
        private Double startLat;
        private Double startLon;
        private Double tipMoney;
        private Double totalDistance;
        private String travelTime;
        private String travelTime_;
        public String trackId;
        public String arriveTime;
        private Integer reservation;
        private String type;
        private String emergencyCall;
        private String cancelReason;
        private String cancelRemark;
        private Double cancelPayMoney;
        private String cancelUser;
        private String remark;
        private String peopleNumber = "-1";
        private String seatNumber;
        private String payMoney;
        private String cargoType; //1:普通 2:贵重
        private String differenceMoney;
        public String audioLinkUrl;
        public String getDifferenceMoney() {
            return differenceMoney;
        }
        public void setDifferenceMoney(String differenceMoney) {
            this.differenceMoney = differenceMoney;
        }
        public String getCargoType() {
            return cargoType;
        }
        public void setCargoType(String cargoType) {
            this.cargoType = cargoType;
        }
        public String getPayMoney() {
            return payMoney;
        }
        public void setPayMoney(String payMoney) {
            this.payMoney = payMoney;
        }
        public String getPeopleNumber() {
            return peopleNumber;
        }
        public void setPeopleNumber(String peopleNumber) {
            this.peopleNumber = peopleNumber;
        }
        public String getSeatNumber() {
            return seatNumber;
        }
        public void setSeatNumber(String seatNumber) {
            this.seatNumber = seatNumber;
        }
        public String getPeople() {
            return peopleNumber;
        }
        public void setPeople(String people) {
            this.peopleNumber = people;
        }
        private Integer reassign;
        public String getRemark() {
            return remark;
        }
        public void setRemark(String remark) {
            this.remark = remark;
        }
        public Integer getReassign() {
            return reassign;
        }
        public void setReassign(Integer reassign) {
            this.reassign = reassign;
        }
        public String getCancelReason() {
            return cancelReason;
        }
        public void setCancelReason(String cancelReason) {
            this.cancelReason = cancelReason;
        }
        public String getCancelRemark() {
            return cancelRemark;
        }
        public void setCancelRemark(String cancelRemark) {
            this.cancelRemark = cancelRemark;
        }
        public Double getCancelPayMoney() {
            return cancelPayMoney;
        }
        public void setCancelPayMoney(Double cancelPayMoney) {
            this.cancelPayMoney = cancelPayMoney;
        }
        public String getCancelUser() {
            return cancelUser;
        }
        public void setCancelUser(String cancelUser) {
            this.cancelUser = cancelUser;
        }
        public String getTravelTime_() {
            return travelTime_;
        }
        public void setTravelTime_(String travelTime_) {
            this.travelTime_ = travelTime_;
        }
        public String getEmergencyCall() {
            return emergencyCall;
        }
        public void setEmergencyCall(String emergencyCall) {
            this.emergencyCall = emergencyCall;
        }
        public String getType() {
            return type;
        }
        public void setType(String type) {
            this.type = type;
        }
        public Integer getReservation() {
            return reservation;
        }
        public void setReservation(Integer reservation) {
            this.reservation = reservation;
        }
        public String getArriveTime() {
            return arriveTime;
        }
        public void setArriveTime(String arriveTime) {
            this.arriveTime = arriveTime;
        }
        public String getWaitTime() {
            return arriveTime;
        }
        public void setWaitTime(String waitTime) {
            this.arriveTime = waitTime;
        }
        public Double getOrderMoney() {
            return orderMoney;
        }
        public void setOrderMoney(Double orderMoney) {
            this.orderMoney = orderMoney;
        }
        public Integer getPayManner() {
            return payManner;
        }
        public void setPayManner(Integer payManner) {
            this.payManner = payManner;
        }
        public String getTrackId() {
            return trackId;
        }
        public void setTrackId(String trackId) {
            this.trackId = trackId;
        }
        public Integer getIsReassign() {
            return isReassign;
        }
        public void setIsReassign(Integer isReassign) {
            this.isReassign = isReassign;
        }
        public String getEndAddress() {
            return endAddress;
        }
        public void setEndAddress(String endAddress) {
            this.endAddress = endAddress;
        }
        public Double getEndLat() {
            if (endLat.isEmpty()){
                return null;
            }else {
                return Double.valueOf(endLat);
            }
        }
        public void setEndLat(Double endLat) {
            this.endLat = endLat.toString();
        }
        public Double getEndLon() {
            if (endLon.isEmpty()){
                return null;
            }else {
                return Double.valueOf(endLon);
            }
        }
        public void setEndLon(Double endLon) {
            this.endLon = endLon.toString();
        }
        public void setStartLat(Double startLat) {
            this.startLat = startLat;
        }
        public void setStartLon(Double startLon) {
            this.startLon = startLon;
        }
        public Integer getHistoryNum() {
            return historyNum;
        }
        public void setHistoryNum(Integer historyNum) {
            this.historyNum = historyNum;
        }
        public String getNickName() {
            return nickName;
        }
        public void setNickName(String nickName) {
            this.nickName = nickName;
        }
        public Integer getOrderId() {
            return orderId;
        }
        public void setOrderId(Integer orderId) {
            this.orderId = orderId;
        }
        public String getOrderName() {
            return orderName;
        }
        public void setOrderName(String orderName) {
            this.orderName = orderName;
        }
        public Integer getOrderState() {
            return orderState;
        }
        public void setOrderState(Integer orderState) {
            this.orderState = orderState;
        }
        public String getPhone() {
            return phone;
        }
        public void setPhone(String phone) {
            this.phone = phone;
        }
        public String getStartAddress() {
            return startAddress;
        }
        public void setStartAddress(String startAddress) {
            this.startAddress = startAddress;
        }
        public Double getStartDistance() {
            return startDistance;
        }
        public void setStartDistance(Double startDistance) {
            this.startDistance = startDistance;
        }
        public Double getStartLat() {
            return startLat;
        }
        public Double getStartLon() {
            return startLon;
        }
        public Double getTipMoney() {
            return tipMoney;
        }
        public void setTipMoney(Double tipMoney) {
            this.tipMoney = tipMoney;
        }
        public Double getTotalDistance() {
            return totalDistance;
        }
        public void setTotalDistance(Double totalDistance) {
            this.totalDistance = totalDistance;
        }
        public String getTravelTime() {
            return travelTime;
        }
        public void setTravelTime(String travelTime) {
            this.travelTime = travelTime;
        }
    }
}
app/src/main/java/com/jxonlinecar/driver/bean/OrderInfo.java
New file
@@ -0,0 +1,377 @@
package com.jxonlinecar.driver.bean;
/**
 * 订单信息
 */
public class OrderInfo {
    /**
     * endAddress : string
     * endLat : string
     * endLon : string
     * historyNum : 0
     * nickName : string
     * orderId : 0
     * orderName : string
     * orderState : 0
     * phone : string
     * startAddress : string
     * startDistance : 0
     * startLat : string
     * startLon : string
     * tipMoney : 0
     * totalDistance : 0
     * travelTime : string
     */
    private String endAddress;
    private String endLat;
    private String endLon;
    private Integer historyNum;
    private Integer isReassign;
    private String nickName;
    private Integer orderId;
    private Double orderMoney;
    private String orderName;
    private Integer orderState;
    private Integer payManner;
    private String phone;
    private String startAddress;
    private Double startDistance;
    private Double startLat;
    private Double startLon;
    private Double tipMoney;
    private Double totalDistance;
    private String travelTime;
    private String travelTime_;
    public String trackId;
    public String arriveTime;
    private Integer reservation;
    private String type;
    private String emergencyCall;
    private String cancelReason;
    private String cancelRemark;
    private Double cancelPayMoney;
    private String cancelUser;
    private String remark;
    private String peopleNumber = "-1";
    private String seatNumber;
    private String payMoney;
    private String cargoType; //1:普通 2:贵重
    private String differenceMoney;
    public String audioLinkUrl;
    public String getDifferenceMoney() {
        return differenceMoney;
    }
    public void setDifferenceMoney(String differenceMoney) {
        this.differenceMoney = differenceMoney;
    }
    public String getCargoType() {
        return cargoType;
    }
    public void setCargoType(String cargoType) {
        this.cargoType = cargoType;
    }
    public String getPayMoney() {
        return payMoney;
    }
    public void setPayMoney(String payMoney) {
        this.payMoney = payMoney;
    }
    public String getPeopleNumber() {
        return peopleNumber;
    }
    public void setPeopleNumber(String peopleNumber) {
        this.peopleNumber = peopleNumber;
    }
    public String getSeatNumber() {
        return seatNumber;
    }
    public void setSeatNumber(String seatNumber) {
        this.seatNumber = seatNumber;
    }
    public String getPeople() {
        return peopleNumber;
    }
    public void setPeople(String people) {
        this.peopleNumber = people;
    }
    private Integer reassign;
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public Integer getReassign() {
        return reassign;
    }
    public void setReassign(Integer reassign) {
        this.reassign = reassign;
    }
    public String getCancelReason() {
        return cancelReason;
    }
    public void setCancelReason(String cancelReason) {
        this.cancelReason = cancelReason;
    }
    public String getCancelRemark() {
        return cancelRemark;
    }
    public void setCancelRemark(String cancelRemark) {
        this.cancelRemark = cancelRemark;
    }
    public Double getCancelPayMoney() {
        return cancelPayMoney;
    }
    public void setCancelPayMoney(Double cancelPayMoney) {
        this.cancelPayMoney = cancelPayMoney;
    }
    public String getCancelUser() {
        return cancelUser;
    }
    public void setCancelUser(String cancelUser) {
        this.cancelUser = cancelUser;
    }
    public String getTravelTime_() {
        return travelTime_;
    }
    public void setTravelTime_(String travelTime_) {
        this.travelTime_ = travelTime_;
    }
    public String getEmergencyCall() {
        return emergencyCall;
    }
    public void setEmergencyCall(String emergencyCall) {
        this.emergencyCall = emergencyCall;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public Integer getReservation() {
        return reservation;
    }
    public void setReservation(Integer reservation) {
        this.reservation = reservation;
    }
    public String getArriveTime() {
        return arriveTime;
    }
    public void setArriveTime(String arriveTime) {
        this.arriveTime = arriveTime;
    }
    public String getWaitTime() {
        return arriveTime;
    }
    public void setWaitTime(String waitTime) {
        this.arriveTime = waitTime;
    }
    public Double getOrderMoney() {
        return orderMoney;
    }
    public void setOrderMoney(Double orderMoney) {
        this.orderMoney = orderMoney;
    }
    public Integer getPayManner() {
        return payManner;
    }
    public void setPayManner(Integer payManner) {
        this.payManner = payManner;
    }
    public String getTrackId() {
        return trackId;
    }
    public void setTrackId(String trackId) {
        this.trackId = trackId;
    }
    public Integer getIsReassign() {
        return isReassign;
    }
    public void setIsReassign(Integer isReassign) {
        this.isReassign = isReassign;
    }
    public String getEndAddress() {
        return endAddress;
    }
    public void setEndAddress(String endAddress) {
        this.endAddress = endAddress;
    }
    public Double getEndLat() {
        if (endLat.isEmpty()) {
            return null;
        } else {
            return Double.valueOf(endLat);
        }
    }
    public void setEndLat(Double endLat) {
        this.endLat = endLat.toString();
    }
    public Double getEndLon() {
        if (endLon.isEmpty()) {
            return null;
        } else {
            return Double.valueOf(endLon);
        }
    }
    public void setEndLon(Double endLon) {
        this.endLon = endLon.toString();
    }
    public void setStartLat(Double startLat) {
        this.startLat = startLat;
    }
    public void setStartLon(Double startLon) {
        this.startLon = startLon;
    }
    public Integer getHistoryNum() {
        return historyNum;
    }
    public void setHistoryNum(Integer historyNum) {
        this.historyNum = historyNum;
    }
    public String getNickName() {
        return nickName;
    }
    public void setNickName(String nickName) {
        this.nickName = nickName;
    }
    public Integer getOrderId() {
        return orderId;
    }
    public void setOrderId(Integer orderId) {
        this.orderId = orderId;
    }
    public String getOrderName() {
        return orderName;
    }
    public void setOrderName(String orderName) {
        this.orderName = orderName;
    }
    public Integer getOrderState() {
        return orderState;
    }
    public void setOrderState(Integer orderState) {
        this.orderState = orderState;
    }
    public String getPhone() {
        return phone;
    }
    public void setPhone(String phone) {
        this.phone = phone;
    }
    public String getStartAddress() {
        return startAddress;
    }
    public void setStartAddress(String startAddress) {
        this.startAddress = startAddress;
    }
    public Double getStartDistance() {
        return startDistance;
    }
    public void setStartDistance(Double startDistance) {
        this.startDistance = startDistance;
    }
    public Double getStartLat() {
        return startLat;
    }
    public Double getStartLon() {
        return startLon;
    }
    public Double getTipMoney() {
        return tipMoney;
    }
    public void setTipMoney(Double tipMoney) {
        this.tipMoney = tipMoney;
    }
    public Double getTotalDistance() {
        return totalDistance;
    }
    public void setTotalDistance(Double totalDistance) {
        this.totalDistance = totalDistance;
    }
    public String getTravelTime() {
        return travelTime;
    }
    public void setTravelTime(String travelTime) {
        this.travelTime = travelTime;
    }
}
app/src/main/java/com/jxonlinecar/driver/bean/SocketMiniOrderInfo.java
New file
@@ -0,0 +1,25 @@
package com.jxonlinecar.driver.bean;
/**
 * socket推送小程序订单信息
 */
public class SocketMiniOrderInfo {
    private Integer time;
    private OrderInfo order;
    public Integer getTime() {
        return time;
    }
    public void setTime(Integer time) {
        this.time = time;
    }
    public OrderInfo getOrder() {
        return order;
    }
    public void setOrder(OrderInfo order) {
        this.order = order;
    }
}
app/src/main/java/com/jxonlinecar/driver/ui/main/MainActivity.kt
@@ -111,16 +111,19 @@
                                if (!it) {
                                    toast("没有定位权限,您将无法收到新订单推送")
                                    CacheKey.putKeyStr(Const.REFUSE_LOCATION, "1")
                                }else{
                                    MyApplication.getInstance()?.startLocation()
                                }
                            }
                }
            }else{
                MyApplication.getInstance()?.startLocation()
            }
        }
        tv_Left.setDrawableLeft(R.mipmap.icon_nav_user)
        iv_right_title.setImageResource(R.mipmap.icon_nav_news)
        addFragment(smallFragment, R.id.rl_container)
//        addFragment(mainFragment, R.id.rl_container)
        MyApplication.getInstance()?.startLocation()
        MyApplication.isLogin = true
        beOnDuty(false)
        initCall()