From 726d5cc8d68b4187b2520abcad8e4c95c7597bfb Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 12 Jan 2024 15:20:57 +0800 Subject: [PATCH 1/8] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E8=AF=B7=E6=B1=82=E5=90=88=E5=B9=B6]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../request/PassengerQueryLineRequest.java} | 6 +- .../PassengerOperationStatusResponse.java} | 4 +- .../response/PassengerRoutesResponse.java} | 4 +- .../network/PassengerServiceManager.kt} | 16 +- .../passenger/network/ServiceApi.java} | 14 +- .../bean/BusPassengerRoutesResult.java | 85 --------- .../passenger/bean/BusPassengerStation.java | 173 ------------------ .../passenger/model/BusPassengerModel.java | 24 +-- .../network/BusPassengerModelLoopManager.java | 2 - .../network/ShettlePassengerServiceApi.java | 40 ---- .../ui/BusPassengerRouteFragment.java | 2 +- .../BusPassengerLineStationsAdapter.java | 2 +- .../bean/PM2OperationStatusResponse.java | 21 --- .../passenger/bean/PM2RoutesResponse.java | 29 --- .../passenger/bean/PM2RoutesResult.java | 79 -------- .../shuttle/passenger/bean/PM2Station.java | 173 ------------------ .../passenger/model/PM2DrivingModel.kt | 26 +-- .../passenger/model/PM2ServiceManager.kt | 78 -------- 18 files changed, 48 insertions(+), 730 deletions(-) rename OCH/shuttle/passenger/src/main/java/{jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerQueryLineRequest.java => com/mogo/och/shuttle/passenger/bean/request/PassengerQueryLineRequest.java} (53%) rename OCH/shuttle/passenger/src/main/java/{jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerOperationStatusResponse.java => com/mogo/och/shuttle/passenger/bean/response/PassengerOperationStatusResponse.java} (76%) rename OCH/shuttle/passenger/src/main/java/{jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerRoutesResponse.java => com/mogo/och/shuttle/passenger/bean/response/PassengerRoutesResponse.java} (83%) rename OCH/shuttle/passenger/src/main/java/{jinlv/com/mogo/och/shuttle/passenger/network/BusPassengerServiceManager.kt => com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt} (80%) rename OCH/shuttle/passenger/src/main/java/{m2/com/mogo/och/shuttle/passenger/network/PM2ServiceApi.java => com/mogo/och/shuttle/passenger/network/ServiceApi.java} (58%) delete mode 100644 OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerRoutesResult.java delete mode 100644 OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerStation.java delete mode 100644 OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/ShettlePassengerServiceApi.java rename OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/{ => ui}/adapter/BusPassengerLineStationsAdapter.java (99%) delete mode 100644 OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2OperationStatusResponse.java delete mode 100644 OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2RoutesResponse.java delete mode 100644 OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2RoutesResult.java delete mode 100644 OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2Station.java delete mode 100644 OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2ServiceManager.kt diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerQueryLineRequest.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/request/PassengerQueryLineRequest.java similarity index 53% rename from OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerQueryLineRequest.java rename to OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/request/PassengerQueryLineRequest.java index c1d06830e5..48c312b288 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerQueryLineRequest.java +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/request/PassengerQueryLineRequest.java @@ -1,4 +1,4 @@ -package com.mogo.och.shuttle.passenger.bean; +package com.mogo.och.shuttle.passenger.bean.request; public /** @@ -7,10 +7,10 @@ public * * 根据车机行驶线路站点信息 */ -class BusPassengerQueryLineRequest { +class PassengerQueryLineRequest { private String sn; - public BusPassengerQueryLineRequest(String sn) { + public PassengerQueryLineRequest(String sn) { this.sn = sn; } } diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerOperationStatusResponse.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/response/PassengerOperationStatusResponse.java similarity index 76% rename from OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerOperationStatusResponse.java rename to OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/response/PassengerOperationStatusResponse.java index b5d3da4997..b6781937bb 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerOperationStatusResponse.java +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/response/PassengerOperationStatusResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.shuttle.passenger.bean; +package com.mogo.och.shuttle.passenger.bean.response; import com.mogo.eagle.core.data.BaseData; @@ -8,7 +8,7 @@ import com.mogo.eagle.core.data.BaseData; * * 小巴车运营状态返回参数 */ -public class BusPassengerOperationStatusResponse extends BaseData { +public class PassengerOperationStatusResponse extends BaseData { public Result data; diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerRoutesResponse.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/response/PassengerRoutesResponse.java similarity index 83% rename from OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerRoutesResponse.java rename to OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/response/PassengerRoutesResponse.java index cf8b7ed6f6..3b9fbe3ec1 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerRoutesResponse.java +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/response/PassengerRoutesResponse.java @@ -1,4 +1,4 @@ -package com.mogo.och.shuttle.passenger.bean; +package com.mogo.och.shuttle.passenger.bean.response; import com.mogo.eagle.core.data.BaseData; import com.mogo.och.data.bean.BusRoutesResult; @@ -8,7 +8,7 @@ import com.mogo.och.data.bean.BusRoutesResult; * * @author tongchenfei */ -public class BusPassengerRoutesResponse extends BaseData { +public class PassengerRoutesResponse extends BaseData { private BusRoutesResult data; public BusRoutesResult getResult() { diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/BusPassengerServiceManager.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt similarity index 80% rename from OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/BusPassengerServiceManager.kt rename to OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt index 2c3a4bbca9..428a10c648 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/BusPassengerServiceManager.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt @@ -2,27 +2,27 @@ package com.mogo.och.shuttle.passenger.network import android.content.Context import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.getServerToken -import com.mogo.och.shuttle.passenger.bean.BusPassengerRoutesResponse import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.och.shuttle.passenger.bean.BusPassengerQueryLineRequest -import com.mogo.och.shuttle.passenger.bean.BusPassengerOperationStatusResponse import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl import com.mogo.och.common.module.biz.network.interceptor.transformTry +import com.mogo.och.shuttle.passenger.bean.request.PassengerQueryLineRequest +import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse +import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse /** * Created on 2022/3/31 */ -object BusPassengerServiceManager { +object PassengerServiceManager { private var driverSnCache = "" private var mShuttleBusPassengerServiceApi = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( - ShettlePassengerServiceApi::class.java) + ServiceApi::class.java) /** * 获取Bus司机端的sn @@ -44,12 +44,12 @@ object BusPassengerServiceManager { */ @JvmStatic fun queryDriverSiteByCoordinate( - context: Context, callback: OchCommonServiceCallback? + context: Context, callback: OchCommonServiceCallback? ) { mShuttleBusPassengerServiceApi.queryDriverSiteByCoordinate( MoGoAiCloudClientConfig.getInstance().serviceAppId, SharedPrefsMgr.getInstance().token, - BusPassengerQueryLineRequest( + PassengerQueryLineRequest( driverAppSn ) ).transformTry() @@ -64,7 +64,7 @@ object BusPassengerServiceManager { @JvmStatic fun queryDriverOperationStatus( context: Context, - callback: OchCommonServiceCallback? + callback: OchCommonServiceCallback? ) { mShuttleBusPassengerServiceApi.queryDriverOperationStatus( MoGoAiCloudClientConfig.getInstance().serviceAppId, diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/network/PM2ServiceApi.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java similarity index 58% rename from OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/network/PM2ServiceApi.java rename to OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java index 8797caf27e..17b94a64f0 100644 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/network/PM2ServiceApi.java +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java @@ -1,8 +1,8 @@ package com.mogo.och.shuttle.passenger.network; -import com.mogo.och.shuttle.passenger.bean.PM2OperationStatusResponse; -import com.mogo.och.shuttle.passenger.bean.PM2QueryLineRequest; -import com.mogo.och.shuttle.passenger.bean.PM2RoutesResponse; +import com.mogo.och.shuttle.passenger.bean.request.PassengerQueryLineRequest; +import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse; +import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse; import io.reactivex.Observable; import retrofit2.http.Body; @@ -17,14 +17,14 @@ import retrofit2.http.Query; * * Bus乘客端接口定义 */ -public interface PM2ServiceApi { +public interface ServiceApi { /** * 查询bus司机端绑定路线 * @return 接口返回数据 */ @Headers( {"Content-Type:application/json;charset=UTF-8"} ) @POST( "/och-shuttle-cabin/api/business/v1/passenger/lineDataWithDriver/query" ) - Observable queryDriverSiteByCoordinate(@Header("appId") String appId, @Header("ticket") String ticket, @Body PM2QueryLineRequest request); + Observable queryDriverSiteByCoordinate(@Header("appId") String appId, @Header("ticket") String ticket, @Body PassengerQueryLineRequest request); /** * 查询司机端的登陆状态 @@ -34,7 +34,5 @@ public interface PM2ServiceApi { @Headers({"Content-type:application/json;charset=UTF-8"}) // @GET("/autopilot-car-hailing/car/v2/driver/bus/passenger/takeOrderStatus/query") @GET("/och-shuttle-cabin/api/business/v1/passenger/loginStatus") - Observable queryDriverOperationStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); - - + Observable queryDriverOperationStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); } diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerRoutesResult.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerRoutesResult.java deleted file mode 100644 index fc2b345648..0000000000 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerRoutesResult.java +++ /dev/null @@ -1,85 +0,0 @@ -package com.mogo.och.shuttle.passenger.bean; - -import java.util.List; -import java.util.Objects; - -/** - * 网约车小巴路线接口返回接口数据封装 - * - * @author tongchenfei - */ -public class BusPassengerRoutesResult { - private List sites; - private int lineId; - private String name; //线路名称 - private int lineType; //线路类型,0:环形 - private String description; - private int status; - private String runningDur; //运营时间 - private long taskTime; //线路时间班次 - private long writeVersion;//更新时间戳 - - public List getSites() { - return sites; - } - - public int getLineId() { - return lineId; - } - - public String getName() { - return name; - } - - public int getLineType() { - return lineType; - } - - public String getDescription() { - return description; - } - - public int getStatus() { - return status; - } - - public String getRunningDur() { - return runningDur; - } - - public long getWriteVersion() { - return writeVersion; - } - - @Override - public String toString() { - return "BusPassengerRoutesResult{" + - "sites=" + sites + - ", lineId=" + lineId + - ", name='" + name + '\'' + - ", lineType=" + lineType + - ", description='" + description + '\'' + - ", status=" + status + - ", writeVersion="+ writeVersion+ - ", runningDur='" + runningDur + '\'' + - '}'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - BusPassengerRoutesResult that = (BusPassengerRoutesResult) o; - return lineId == that.lineId - && lineType == that.lineType - && status == that.status - && sites.equals(that.sites) - && name.equals(that.name) - && runningDur.equals(that.runningDur); - } - - @Override - public int hashCode() { - return Objects.hash(sites, lineId, name, lineType, description, status, runningDur); - } -} diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerStation.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerStation.java deleted file mode 100644 index 6a512d1e1b..0000000000 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/bean/BusPassengerStation.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.mogo.och.shuttle.passenger.bean; - -import java.util.Objects; - -/** - * 单个网约车小巴车站信息 - * - * @author wangmingjun - */ -public class BusPassengerStation { - - private String name; - private String description; - private String cityCode; - private double lon; //高精坐标 - private double lat; //高精坐标 - private double gcjLon; //高德坐标 - private double gcjLat; //高德坐标 - private int businessType; //站点类型,9:taxi,10:bus - private int status; - private int siteId; - private int seq; - private int drivingStatus;//行驶信息,0初始值;1已经过;2当前站;3未到站 - private int ifStop = 1; // 是否需要停靠、1需要、0不需要 // TODO: 2021/10/19 原来站点里有设计是否需要停靠字段,现设计暂无,默认都需要停靠 - private boolean leaving; - - public void setName(String name) { - this.name = name; - } - - public void setDescription(String description) { - this.description = description; - } - - public void setCityCode(String cityCode) { - this.cityCode = cityCode; - } - - public void setLon(double lon) { - this.lon = lon; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public void setBusinessType(int businessType) { - this.businessType = businessType; - } - - public void setStatus(int status) { - this.status = status; - } - - public void setSiteId(int siteId) { - this.siteId = siteId; - } - - public void setSeq(int seq) { - this.seq = seq; - } - - public void setDrivingStatus(int drivingStatus) { - this.drivingStatus = drivingStatus; - } - - public String getName() { - return name; - } - - public String getDescription() { - return description; - } - - public String getCityCode() { - return cityCode; - } - - public double getGcjLon() { - return gcjLon; - } - - public double getGcjLat() { - return gcjLat; - } - - public int getBusinessType() { - return businessType; - } - - public int getStatus() { - return status; - } - - public int getSiteId() { - return siteId; - } - - public int getSeq() { - return seq; - } - - public int getDrivingStatus() { - return drivingStatus; - } - - public double getLon() { - return lon; - } - - public double getLat() { - return lat; - } - - public void setIfStop(int ifStop) { - this.ifStop = ifStop; - } - - public int getIfStop() { - return ifStop; - } - - public void setLeaving(boolean leaving) { - this.leaving = leaving; - } - - public boolean isLeaving() { - return leaving; - } - - @Override - public String toString() { - return "OchBusStation{" + - "name='" + name + '\'' + - ", description='" + description + '\'' + - ", cityCode='" + cityCode + '\'' + - ", lon=" + lon + - ", lat=" + lat + - ", businessType=" + businessType + - ", status=" + status + - ", siteId=" + siteId + - ", seq=" + seq + - ", drivingStatus=" + drivingStatus + - ", ifStop=" + ifStop + - ", leaving=" + leaving + - '}'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - BusPassengerStation that = (BusPassengerStation) o; - return Double.compare(that.lon, lon) == 0 - && Double.compare(that.lat, lat) == 0 - && Double.compare(that.gcjLon, gcjLon) == 0 - && Double.compare(that.gcjLat, gcjLat) == 0 - && businessType == that.businessType - && status == that.status - && siteId == that.siteId - && seq == that.seq - && drivingStatus == that.drivingStatus - && ifStop == that.ifStop - && leaving == that.leaving - && Objects.equals(name, that.name) - && Objects.equals(cityCode, that.cityCode); - } - - @Override - public int hashCode() { - return Objects.hash(name, description, cityCode, lon, lat, gcjLon, gcjLat, businessType, status, siteId, seq, drivingStatus, ifStop, leaving); - } -} diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java index cef59202c7..beaa6e1c4d 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java @@ -28,8 +28,6 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant; import com.mogo.eagle.core.utilcode.util.GsonUtils; import com.mogo.eagle.core.utilcode.util.ToastUtils; import com.mogo.och.shuttle.passenger.R; -import com.mogo.och.shuttle.passenger.bean.BusPassengerOperationStatusResponse; -import com.mogo.och.shuttle.passenger.bean.BusPassengerRoutesResponse; import com.mogo.och.common.module.bean.dpmsg.AppConnectMsg; import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg; import com.mogo.och.common.module.bean.dpmsg.DPMsgType; @@ -52,6 +50,8 @@ import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.commons.storage.SharedPrefsMgr; import com.mogo.eagle.core.utilcode.util.NetworkUtils; +import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse; +import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse; import com.mogo.och.shuttle.passenger.callback.IBusPassegerDriverStatusCallback; import com.mogo.och.shuttle.passenger.callback.IBusPassengerADASStatusCallback; import com.mogo.och.shuttle.passenger.callback.IBusPassengerAutopilotPlanningCallback; @@ -59,7 +59,6 @@ import com.mogo.och.shuttle.passenger.callback.IBusPassengerControllerStatusCall import com.mogo.och.shuttle.passenger.callback.IBusPassengerRouteLineInfoCallback; import com.mogo.och.shuttle.passenger.constant.BusPassengerConst; import com.mogo.och.shuttle.passenger.network.BusPassengerModelLoopManager; -import com.mogo.och.shuttle.passenger.network.BusPassengerServiceManager; import com.mogo.och.common.module.biz.network.OchCommonServiceCallback; import com.mogo.och.common.module.manager.AbnormalFactorsLoopManager; import com.mogo.och.common.module.utils.CoordinateCalculateRouteUtil; @@ -67,6 +66,7 @@ import com.mogo.och.common.module.utils.RxUtils; import com.mogo.och.data.bean.BusRoutesResult; import com.mogo.och.data.bean.BusStationBean; import com.mogo.och.data.bean.BusTransferData; +import com.mogo.och.shuttle.passenger.network.PassengerServiceManager; import java.util.ArrayList; import java.util.List; @@ -166,10 +166,10 @@ public class BusPassengerModel { } private void queryDriverOperationStatus() { - BusPassengerServiceManager.queryDriverOperationStatus(mContext - , new OchCommonServiceCallback() { + PassengerServiceManager.queryDriverOperationStatus(mContext + , new OchCommonServiceCallback() { @Override - public void onSuccess(BusPassengerOperationStatusResponse data) { + public void onSuccess(PassengerOperationStatusResponse data) { if (data == null || data.data == null) return; if (mDriverStatusCallback != null) { CallerLogger.d( M_BUS_P + TAG, "queryDriverOperationStatus = %s", data.data.plateNumber ); @@ -196,10 +196,10 @@ public class BusPassengerModel { } public void queryDriverSiteByCoordinate(){ - BusPassengerServiceManager.queryDriverSiteByCoordinate(mContext - , new OchCommonServiceCallback() { + PassengerServiceManager.queryDriverSiteByCoordinate(mContext + , new OchCommonServiceCallback() { @Override - public void onSuccess(BusPassengerRoutesResponse data) { + public void onSuccess(PassengerRoutesResponse data) { if ( data == null || data.getResult() == null) { CallerLogger.d( M_BUS_P + TAG, "queryDriverSiteByCoordinate = null"); clearLocalRouteResult(); @@ -225,18 +225,18 @@ public class BusPassengerModel { @Override public void onError() { CallerLogger.d( M_BUS_P + TAG, "queryDriverSiteByCoordinate = onError =" - + ", sn = " +BusPassengerServiceManager.INSTANCE.getDriverAppSn()); + + ", sn = " +PassengerServiceManager.INSTANCE.getDriverAppSn()); queryDriverByLocalDriver(); } @Override public void onFail(int code, String msg) { CallerLogger.d( M_BUS_P + TAG, "queryDriverSiteByCoordinate = %s", msg - + ", sn = " +BusPassengerServiceManager.INSTANCE.getDriverAppSn()); + + ", sn = " +PassengerServiceManager.INSTANCE.getDriverAppSn()); if (code == 1003){ queryDriverOperationDelay(); } - if (BusPassengerServiceManager.INSTANCE.getDriverAppSn().isEmpty()){ + if (PassengerServiceManager.INSTANCE.getDriverAppSn().isEmpty()){ //此处拦截是为了防止过程中乘客屏和司机端断连,拿不到司机端sn, 造成请求失败去刷新了界面 return; } diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/BusPassengerModelLoopManager.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/BusPassengerModelLoopManager.java index 1a722f16b9..09f7837cf5 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/BusPassengerModelLoopManager.java +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/BusPassengerModelLoopManager.java @@ -33,8 +33,6 @@ public class BusPassengerModelLoopManager { } private Disposable mQueryLineDisposable; //心跳轮询 - private CompositeDisposable mRouteWipeDisposable; - private CompositeDisposable mCalculateRouteDisposable; //每隔2s计算一次剩余里程和时间 public void startQueryDriverLineLoop() { if (mQueryLineDisposable != null && !mQueryLineDisposable.isDisposed()) { diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/ShettlePassengerServiceApi.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/ShettlePassengerServiceApi.java deleted file mode 100644 index 411eb33a14..0000000000 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/network/ShettlePassengerServiceApi.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.mogo.och.shuttle.passenger.network; - -import com.mogo.och.shuttle.passenger.bean.BusPassengerOperationStatusResponse; -import com.mogo.och.shuttle.passenger.bean.BusPassengerQueryLineRequest; -import com.mogo.och.shuttle.passenger.bean.BusPassengerRoutesResponse; - -import io.reactivex.Observable; -import retrofit2.http.Body; -import retrofit2.http.GET; -import retrofit2.http.Header; -import retrofit2.http.Headers; -import retrofit2.http.POST; -import retrofit2.http.Query; - -/** - * Created on 2022/3/31 - * - * Bus乘客端接口定义 - */ -interface ShettlePassengerServiceApi { - /** - * 查询bus司机端绑定路线 - * @return 接口返回数据 - */ - @Headers( {"Content-Type:application/json;charset=UTF-8"} ) - @POST( "/och-shuttle-cabin/api/business/v1/passenger/lineDataWithDriver/query" ) - Observable queryDriverSiteByCoordinate(@Header("appId") String appId, @Header("ticket") String ticket, @Body BusPassengerQueryLineRequest request); - - /** - * 查询司机端的登陆状态 - * @param sn - * @return - */ - @Headers({"Content-type:application/json;charset=UTF-8"}) -// @GET("/autopilot-car-hailing/car/v2/driver/bus/passenger/takeOrderStatus/query") - @GET("/och-shuttle-cabin/api/business/v1/passenger/loginStatus") - Observable queryDriverOperationStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); - - -} diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/BusPassengerRouteFragment.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/BusPassengerRouteFragment.java index f16af0997b..c43544112c 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/BusPassengerRouteFragment.java +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/BusPassengerRouteFragment.java @@ -19,7 +19,7 @@ import com.mogo.eagle.core.data.map.MogoLocation; import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener; import com.mogo.commons.storage.SharedPrefsMgr; import com.mogo.och.shuttle.passenger.R; -import com.mogo.och.shuttle.passenger.adapter.BusPassengerLineStationsAdapter; +import com.mogo.och.shuttle.passenger.ui.adapter.BusPassengerLineStationsAdapter; import com.mogo.och.shuttle.passenger.constant.BusPassengerConst; import com.mogo.och.shuttle.passenger.presenter.BaseBusPassengerPresenter; import com.mogo.och.shuttle.passenger.ui.layoutmanager.CenterLayoutManager; diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/adapter/BusPassengerLineStationsAdapter.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/adapter/BusPassengerLineStationsAdapter.java similarity index 99% rename from OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/adapter/BusPassengerLineStationsAdapter.java rename to OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/adapter/BusPassengerLineStationsAdapter.java index 15a89f2b66..ed9c65b87f 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/adapter/BusPassengerLineStationsAdapter.java +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/ui/adapter/BusPassengerLineStationsAdapter.java @@ -1,4 +1,4 @@ -package com.mogo.och.shuttle.passenger.adapter; +package com.mogo.och.shuttle.passenger.ui.adapter; import android.content.Context; import android.text.TextUtils; diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2OperationStatusResponse.java b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2OperationStatusResponse.java deleted file mode 100644 index a39d34927b..0000000000 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2OperationStatusResponse.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.mogo.och.shuttle.passenger.bean; - -import com.mogo.eagle.core.data.BaseData; - -/** - * @author congtaowang - * @since 2021/3/22 - * - * 小巴车运营状态返回参数 - */ -public class PM2OperationStatusResponse extends BaseData { - - public Result data; - - public static class Result { - private String sn; //司机屏sn - private String phone; //司机手机号 - public String plateNumber; //车牌号 - public int driverStatus;//0:已收车,1:已出车 - } -} diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2RoutesResponse.java b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2RoutesResponse.java deleted file mode 100644 index cc302cdca5..0000000000 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2RoutesResponse.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.mogo.och.shuttle.passenger.bean; - -import com.mogo.eagle.core.data.BaseData; -import com.mogo.och.data.bean.BusRoutesResult; - -/** - * 网约车小巴路线接口请求响应结果 返回的是对应司机屏的线路信息 - * - * @author tongchenfei - */ -public class PM2RoutesResponse extends BaseData { - private BusRoutesResult data; - - public BusRoutesResult getResult() { - return data; - } - - public void setResult(BusRoutesResult data) { - this.data = data; - } - - @Override - public String toString() { - return "OchBusRoutesResponse{" + - "data=" + data + - '}'; - } - -} diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2RoutesResult.java b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2RoutesResult.java deleted file mode 100644 index d120747432..0000000000 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2RoutesResult.java +++ /dev/null @@ -1,79 +0,0 @@ -package com.mogo.och.shuttle.passenger.bean; - -import java.util.List; -import java.util.Objects; - -/** - * 网约车小巴路线接口返回接口数据封装 - * - * @author tongchenfei - */ -public class PM2RoutesResult { - private List sites; - private int lineId; - private String name; //线路名称 - private int lineType; //线路类型,0:环形 - private String description; - private int status; - private String runningDur; //运营时间 - private long taskTime; //线路时间班次 - - public List getSites() { - return sites; - } - - public int getLineId() { - return lineId; - } - - public String getName() { - return name; - } - - public int getLineType() { - return lineType; - } - - public String getDescription() { - return description; - } - - public int getStatus() { - return status; - } - - public String getRunningDur() { - return runningDur; - } - - @Override - public String toString() { - return "BusPassengerRoutesResult{" + - "sites=" + sites + - ", lineId=" + lineId + - ", name='" + name + '\'' + - ", lineType=" + lineType + - ", description='" + description + '\'' + - ", status=" + status + - ", runningDur='" + runningDur + '\'' + - '}'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - PM2RoutesResult that = (PM2RoutesResult) o; - return lineId == that.lineId - && lineType == that.lineType - && status == that.status - && sites.equals(that.sites) - && name.equals(that.name) - && runningDur.equals(that.runningDur); - } - - @Override - public int hashCode() { - return Objects.hash(sites, lineId, name, lineType, description, status, runningDur); - } -} diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2Station.java b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2Station.java deleted file mode 100644 index 767da50f10..0000000000 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2Station.java +++ /dev/null @@ -1,173 +0,0 @@ -package com.mogo.och.shuttle.passenger.bean; - -import java.util.Objects; - -/** - * 单个网约车小巴车站信息 - * - * @author wangmingjun - */ -public class PM2Station { - - private String name; - private String description; - private String cityCode; - private double lon; //高精坐标 - private double lat; //高精坐标 - private double gcjLon; //高德坐标 - private double gcjLat; //高德坐标 - private int businessType; //站点类型,9:taxi,10:bus - private int status; - private int siteId; - private int seq; - private int drivingStatus;//行驶信息,0初始值;1已经过;2当前站;3未到站 - private int ifStop = 1; // 是否需要停靠、1需要、0不需要 // TODO: 2021/10/19 原来站点里有设计是否需要停靠字段,现设计暂无,默认都需要停靠 - private boolean leaving; - - public void setName(String name) { - this.name = name; - } - - public void setDescription(String description) { - this.description = description; - } - - public void setCityCode(String cityCode) { - this.cityCode = cityCode; - } - - public void setLon(double lon) { - this.lon = lon; - } - - public void setLat(double lat) { - this.lat = lat; - } - - public void setBusinessType(int businessType) { - this.businessType = businessType; - } - - public void setStatus(int status) { - this.status = status; - } - - public void setSiteId(int siteId) { - this.siteId = siteId; - } - - public void setSeq(int seq) { - this.seq = seq; - } - - public void setDrivingStatus(int drivingStatus) { - this.drivingStatus = drivingStatus; - } - - public String getName() { - return name; - } - - public String getDescription() { - return description; - } - - public String getCityCode() { - return cityCode; - } - - public double getGcjLon() { - return gcjLon; - } - - public double getGcjLat() { - return gcjLat; - } - - public int getBusinessType() { - return businessType; - } - - public int getStatus() { - return status; - } - - public int getSiteId() { - return siteId; - } - - public int getSeq() { - return seq; - } - - public int getDrivingStatus() { - return drivingStatus; - } - - public double getLon() { - return lon; - } - - public double getLat() { - return lat; - } - - public void setIfStop(int ifStop) { - this.ifStop = ifStop; - } - - public int getIfStop() { - return ifStop; - } - - public void setLeaving(boolean leaving) { - this.leaving = leaving; - } - - public boolean isLeaving() { - return leaving; - } - - @Override - public String toString() { - return "OchBusStation{" + - "name='" + name + '\'' + - ", description='" + description + '\'' + - ", cityCode='" + cityCode + '\'' + - ", lon=" + lon + - ", lat=" + lat + - ", businessType=" + businessType + - ", status=" + status + - ", siteId=" + siteId + - ", seq=" + seq + - ", drivingStatus=" + drivingStatus + - ", ifStop=" + ifStop + - ", leaving=" + leaving + - '}'; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (o == null || getClass() != o.getClass()) return false; - PM2Station that = (PM2Station) o; - return Double.compare(that.lon, lon) == 0 - && Double.compare(that.lat, lat) == 0 - && Double.compare(that.gcjLon, gcjLon) == 0 - && Double.compare(that.gcjLat, gcjLat) == 0 - && businessType == that.businessType - && status == that.status - && siteId == that.siteId - && seq == that.seq - && drivingStatus == that.drivingStatus - && ifStop == that.ifStop - && leaving == that.leaving - && Objects.equals(name, that.name) - && Objects.equals(cityCode, that.cityCode); - } - - @Override - public int hashCode() { - return Objects.hash(name, description, cityCode, lon, lat, gcjLon, gcjLat, businessType, status, siteId, seq, drivingStatus, ifStop, leaving); - } -} diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt index 4e5f1a568f..c4eebf5beb 100644 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt +++ b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2DrivingModel.kt @@ -33,11 +33,8 @@ import com.mogo.eagle.core.utilcode.util.NetworkUtils import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.shuttle.passenger.R import com.mogo.och.shuttle.passenger.constant.BusPassengerConst -import com.mogo.och.shuttle.passenger.bean.PM2OperationStatusResponse -import com.mogo.och.shuttle.passenger.bean.PM2RoutesResponse import com.mogo.och.shuttle.passenger.callback.AutoPilotStatusCallback import com.mogo.och.shuttle.passenger.callback.DrivingInfoCallback -import com.mogo.och.shuttle.passenger.model.PM2ServiceManager.driverAppSn import com.mogo.och.shuttle.passenger.network.PM2ModelLoopManager import com.mogo.och.common.module.bean.dpmsg.* import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager.pushAppOperationalMsgBox @@ -49,6 +46,9 @@ import com.mogo.och.common.module.utils.RxUtils import com.mogo.och.data.bean.BusRoutesResult import com.mogo.och.data.bean.BusStationBean import com.mogo.och.data.bean.BusTransferData +import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse +import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse +import com.mogo.och.shuttle.passenger.network.PassengerServiceManager import io.reactivex.disposables.Disposable import mogo.telematics.pad.MessagePad import kotlin.math.abs @@ -78,7 +78,7 @@ class PM2DrivingModel private constructor() { private var mDrivingInfoCallback: DrivingInfoCallback? = null //行程信息 private var mAutoStatusCallback: AutoPilotStatusCallback? = null //自动驾驶状态 - private var operationStatus: PM2OperationStatusResponse.Result? = null + private var operationStatus: PassengerOperationStatusResponse.Result? = null @Volatile private var globalPathTruncation: Disposable? = null @@ -328,17 +328,17 @@ class PM2DrivingModel private constructor() { private fun queryDriverOperationStatus() { mContext?.let { - PM2ServiceManager.queryDriverOperationStatus( + PassengerServiceManager.queryDriverOperationStatus( it, - object : OchCommonServiceCallback { - override fun onSuccess(data: PM2OperationStatusResponse?) { + object : OchCommonServiceCallback { + override fun onSuccess(data: PassengerOperationStatusResponse?) { if (data?.data == null) return if (data.data.driverStatus != operationStatus?.driverStatus || data.data.plateNumber != operationStatus?.plateNumber){ d(SceneConstant.M_BUS_P+TAG, "queryDriverOperationStatus ===== 车牌或者登陆状态有变更") mDrivingInfoCallback?.changeOperationStatus(data.data.driverStatus == 1) } - operationStatus = data.data as PM2OperationStatusResponse.Result + operationStatus = data.data as PassengerOperationStatusResponse.Result // mDrivingInfoCallback?.updatePlateNumber(data.data.plateNumber) } @@ -362,9 +362,9 @@ class PM2DrivingModel private constructor() { fun queryDriverSiteByCoordinate(){ mContext?.let { - PM2ServiceManager.queryDriverSiteByCoordinate(it, - object : OchCommonServiceCallback{ - override fun onSuccess(data: PM2RoutesResponse?) { + PassengerServiceManager.queryDriverSiteByCoordinate(it, + object : OchCommonServiceCallback{ + override fun onSuccess(data: PassengerRoutesResponse?) { if (data == null || data.result == null){ if (routesResult != null) { @@ -396,7 +396,7 @@ class PM2DrivingModel private constructor() { CallerLogger.d( SceneConstant.Companion.M_BUS_P + TAG, "queryDriverSiteByCoordinate = onError =" - + ", sn = " + driverAppSn + + ", sn = " + PassengerServiceManager.driverAppSn ) queryDriverByLocalDriver() } @@ -406,7 +406,7 @@ class PM2DrivingModel private constructor() { if (code == 1003){ queryDriverOperationDelay() } - if (PM2ServiceManager.driverAppSn.isEmpty()){ + if (PassengerServiceManager.driverAppSn.isEmpty()){ return } if (code == 1003) { diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2ServiceManager.kt b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2ServiceManager.kt deleted file mode 100644 index 4301b1de54..0000000000 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/model/PM2ServiceManager.kt +++ /dev/null @@ -1,78 +0,0 @@ -package com.mogo.och.shuttle.passenger.model - -import android.content.Context -import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.getServerToken -import com.mogo.cloud.passport.MoGoAiCloudClientConfig -import com.mogo.eagle.core.network.MoGoRetrofitFactory -import com.mogo.commons.storage.SharedPrefsMgr -import com.mogo.och.shuttle.passenger.bean.PM2OperationStatusResponse -import com.mogo.och.shuttle.passenger.bean.PM2QueryLineRequest -import com.mogo.och.shuttle.passenger.bean.PM2RoutesResponse -import com.mogo.och.shuttle.passenger.network.PM2ServiceApi -import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl -import com.mogo.och.common.module.biz.network.interceptor.transformTry - -/** - * Created on 2022/3/31 - */ -object PM2ServiceManager { - - private var mBusPassengerServiceApi = - MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create(PM2ServiceApi::class.java) - - private var driverSnCache = "" - /** - * 获取Bus司机端的sn - * @return - */ - public val driverAppSn: String - get(){ - val serverToken = getServerToken() - if (serverToken != driverSnCache && serverToken.isNotEmpty()) { - driverSnCache = serverToken - } - return driverSnCache - } - - /** - * 查询绑定行驶的小巴车路线 - * @param context - * @param callback - */ - @JvmStatic - fun queryDriverSiteByCoordinate( - context: Context, callback: OchCommonServiceCallback? - ) { - mBusPassengerServiceApi.queryDriverSiteByCoordinate( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - PM2QueryLineRequest( - driverAppSn - ) - ).transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverSiteByCoordinate=sn =$driverAppSn")) - - } - - /** - * 查询司机端出车收车状态,以及车牌号 - * @param context - * @param callback - */ - @JvmStatic - fun queryDriverOperationStatus( - context: Context, - callback: OchCommonServiceCallback? - ) { - mBusPassengerServiceApi.queryDriverOperationStatus( - MoGoAiCloudClientConfig.getInstance().serviceAppId, - SharedPrefsMgr.getInstance().token, - driverAppSn - ) - .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus=sn =$driverAppSn")) - - } -} \ No newline at end of file From 7b2c3448ca0a2e690b028452d1b407ee78c1b4dd Mon Sep 17 00:00:00 2001 From: xuxinchao Date: Mon, 15 Jan 2024 16:33:06 +0800 Subject: [PATCH 2/8] =?UTF-8?q?[6.2.8]=E5=A2=9E=E5=8A=A0=E6=A0=B8=E9=94=80?= =?UTF-8?q?Enum?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../eagle/core/data/enums/EventTypeEnumNew.kt | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index 7706c91269..afa0366d96 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -551,6 +551,45 @@ enum class EventTypeEnumNew( "可能应急停车,注意随时接管!" ), + //核销成功 + TYPE_VERIFICATION_SUCCESSFUL( + "VERIFICATION_SUCCESSFUL", + "验票成功", + "%s张%s票(如全程票)", + R.drawable.icon_warning_v2x_optimal_route, + "%s张%s票(如全程票)", + "%s张%s票(如全程票)" + ), + + //核销异常 + TYPE_ABNORMAL_VERIFICATION( + "ABNORMAL_VERIFICATION", + "验票失败", + "%s", + R.drawable.icon_warning_take_over, + "%s", + "%s" + ), + + //设备状态正常 + TYPE_DEVICE_STATUS_NORMAL( + "DEVICE_STATUS_NORMAL", + "核销设备正常", + "详情%s", + R.drawable.icon_default, + "详情%s", + "详情%s" + ), + //设备状态异常 + TYPE_DEVICE_STATUS_ABNORMAL( + "DEVICE_STATUS_ABNORMAL", + "核销设备异常", + "详情%s", + R.drawable.icon_default, + "详情%s", + "详情%s" + ), + TYPE_VIP_IDENTIFICATION_PASS("20022", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您变为绿灯", "VIP车辆优先通行,已为您变为绿灯"), TYPE_VIP_IDENTIFICATION_EXTEND("20023", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "VIP车辆优先通行,已为您延长绿灯", "VIP车辆优先通行,已为您延长绿灯"), TYPE_VIP_ERROR_IDENTIFICATION("20024", "VIP通行", "", R.drawable.icon_warning_v2x_vip_turn_light, "请求失败,", "请求失败,稍后重试"), @@ -890,6 +929,22 @@ enum class EventTypeEnumNew( TYPE_EXCEPTION_EXIT_PARALLEL_DRIVING.poiType->{ TYPE_EXCEPTION_EXIT_PARALLEL_DRIVING.poiTypeStr } + //核销成功 + TYPE_VERIFICATION_SUCCESSFUL.poiType ->{ + TYPE_VERIFICATION_SUCCESSFUL.poiTypeStr + } + //核销异常 + TYPE_ABNORMAL_VERIFICATION.poiType ->{ + TYPE_ABNORMAL_VERIFICATION.poiTypeStr + } + //设备状态正常 + TYPE_DEVICE_STATUS_NORMAL.poiType ->{ + TYPE_DEVICE_STATUS_NORMAL.poiTypeStr + } + //设备状态异常 + TYPE_DEVICE_STATUS_ABNORMAL.poiType ->{ + TYPE_DEVICE_STATUS_ABNORMAL.poiTypeStr + } //机动车 TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType ->{ TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiTypeStr @@ -1189,6 +1244,22 @@ enum class EventTypeEnumNew( TYPE_EXCEPTION_EXIT_PARALLEL_DRIVING.poiType->{ R.drawable.icon_warning_take_over } + //核销成功 + TYPE_VERIFICATION_SUCCESSFUL.poiType->{ + R.drawable.icon_warning_v2x_optimal_route + } + //核销异常 + TYPE_ABNORMAL_VERIFICATION.poiType->{ + R.drawable.icon_warning_take_over + } + //设备状态正常 + TYPE_DEVICE_STATUS_NORMAL.poiType->{ + R.drawable.icon_default + } + //设备状态异常 + TYPE_DEVICE_STATUS_ABNORMAL.poiType->{ + R.drawable.icon_default + } //机动车 TYPE_USECASE_ID_VRUCW_MOTOR_VEHICLES.poiType -> { R.drawable.icon_warning_v2x_motorcycle_collision From b8f348ba717987a34bb7bf30983a94f9af2aa29b Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 15 Jan 2024 19:35:27 +0800 Subject: [PATCH 3/8] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E6=8E=A5=E9=A9=B3=E7=A5=A8]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../m2/layout/bus_p_m2_view_status_bar.xml | 2 +- OCH/shuttle/passenger/build.gradle | 2 + .../passenger/MogoOCHShuttlePassenger.kt | 2 + .../request/PassengerWriteOffRequest.java | 50 ++++++ .../response/PassengerWriteOffResponse.kt | 13 ++ .../manager/scnner/ScannerManager.kt | 161 ++++++++++++++++++ .../manager/scnner/ScannerStateView.kt | 44 +++++ .../manager/scnner/StateChangeListener.kt | 6 + .../shuttle/passenger/model/TicketModel.kt | 57 +++++++ .../network/PassengerServiceManager.kt | 30 ++++ .../shuttle/passenger/network/ServiceApi.java | 9 + .../passenger/model/BusPassengerModel.java | 1 + .../passenger/bean/PM2QueryLineRequest.java | 16 -- .../src/main/res/drawable/scanner_qr_code.xml | 28 +++ .../layout/shuttle_p_jl_view_status_bar.xml | 32 ++-- .../layout/shuttle_p_m2_view_status_bar.xml | 2 +- config.gradle | 5 +- 17 files changed, 429 insertions(+), 31 deletions(-) create mode 100644 OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/request/PassengerWriteOffRequest.java create mode 100644 OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/bean/response/PassengerWriteOffResponse.kt create mode 100644 OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt create mode 100644 OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerStateView.kt create mode 100644 OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/StateChangeListener.kt create mode 100644 OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt delete mode 100644 OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2QueryLineRequest.java create mode 100644 OCH/shuttle/passenger/src/main/res/drawable/scanner_qr_code.xml diff --git a/OCH/bus/passenger/src/main/res/m2/layout/bus_p_m2_view_status_bar.xml b/OCH/bus/passenger/src/main/res/m2/layout/bus_p_m2_view_status_bar.xml index 163bee4257..8c4a96d678 100644 --- a/OCH/bus/passenger/src/main/res/m2/layout/bus_p_m2_view_status_bar.xml +++ b/OCH/bus/passenger/src/main/res/m2/layout/bus_p_m2_view_status_bar.xml @@ -19,7 +19,7 @@ android:layout_marginStart="@dimen/dp_40" /> - = + ConcurrentHashMap() + + + private var bindStatus: BindStatus by Delegates.observable(BindStatus.NOTHING) { _, oldV, newV -> + if (oldV != newV) { + try { + CallerLogger.d(SceneConstant.M_OCHCOMMON + TAG, "状态发生变化old:${oldV}_new:${newV}") + if (stateChanageListeners.size > 0) { + stateChanageListeners.forEach { + it.value.stateChange(newV, openStatus) + } + } + } catch (e: Exception) { + CallerLogger.e(SceneConstant.M_OCHCOMMON + TAG, "扫码枪bind错误") + } + } + } + private var openStatus: OpenStatus by Delegates.observable(OpenStatus.Unopen) { _, oldV, newV -> + if (oldV != newV) { + try { + if (stateChanageListeners.size > 0) { + stateChanageListeners.forEach { + it.value.stateChange(bindStatus, newV) + } + } + } catch (e: Exception) { + CallerLogger.e(SceneConstant.M_OCHCOMMON + TAG, "扫码枪open错误") + } + } + } + + fun addStateChangeListener(tag: String, listener: StateChangeListener) { + if (stateChanageListeners.containsKey(tag)) { + return + } + stateChanageListeners[tag] = listener + } + + fun bindService() { + serialPortManager.bindService(AbsMogoApplication.getApp(), this);//绑定服务 + } + + override fun onServiceState(serviceState: Int) { + when (serviceState) { + SERVICE_STATE.BIND_SUCCEED -> { + bindStatus = BindStatus.BIND_SUCCEED + serialPortManager.openVerificationDevice(object : OnDeviceVerificationListener() { + override fun onSerialPortState( + path: String?, + isOpen: Boolean, + throwableMessage: String? + ) { + CallerLogger.d( + M_BUS_P + TAG, + "path ${path}---isOpen${isOpen}--throwableMessage${throwableMessage}" + ) + if (isOpen) { + openStatus = OpenStatus.Open + } else { + openStatus = OpenStatus.Unopen + } + } + + override fun onActiveDataReceive(data: VerificationActiveData?) { + data?.let { + if(data.unpackStatus==UnpackStatus.SUCCEED){ + "数据类型${it.dataType.name}" + CallerLogger.d(M_BUS_P + TAG, "data $it") + if(!StringUtils.isEmpty(it.payload)){ + parseParams(it.payload) + }else{ + CallerLogger.d(M_BUS_P + TAG, "数据错误") + } + }else{ + CallerLogger.d(M_BUS_P + TAG, "解包失败") + } + } + } + + }); + } + SERVICE_STATE.BIND_FAILURE_UNINSTALLED -> { + CallerLogger.d(M_BUS_P + TAG, "服务绑定失败:未安装串口服务端APP") + bindStatus = BindStatus.BIND_FAILURE_UNINSTALLED + } + SERVICE_STATE.BIND_FAILURE_NO_PERMISSION_NOT_FOUND -> { + CallerLogger.d(M_BUS_P + TAG, "服务绑定失败:没有绑定权限或找不到服务(如果是此状态,基本上安装后就可以找到,主要就是权限问题)") + bindStatus = BindStatus.BIND_FAILURE_NO_PERMISSION_NOT_FOUND + } + SERVICE_STATE.EXCEPTION -> { + CallerLogger.d(M_BUS_P + TAG, "服务被异常销毁") + bindStatus = BindStatus.EXCEPTION + } + else -> {} + } + } + + private fun parseParams(payload: String?) { + val parse = Uri.parse("${OchCommonConst.getShuttleUrl()}?${payload}") + val queryParameterNames = parse.queryParameterNames + val mutableMapOf = mutableMapOf() + queryParameterNames.forEach { + val queryParameter = parse.getQueryParameter(it) + println("${it}:$queryParameter") + if(it!=null&&queryParameter!=null){ + mutableMapOf[it] = queryParameter + } + } + if (stateChanageListeners.size > 0) { + stateChanageListeners.forEach { + it.value.parseData(mutableMapOf) + } + } + + } + + // 查询串口 + override fun onFindSerialPort(paths: Array?) { + CallerLogger.d(M_BUS_P + TAG, "$paths") + if(paths==null) { + bindStatus = BindStatus.BIND_FAILURE_NO_PERMISSION_NOT_FOUND + } + } +} + +enum class BindStatus { + BIND_SUCCEED, BIND_FAILURE_UNINSTALLED ,BIND_FAILURE_NO_PERMISSION_NOT_FOUND,EXCEPTION,NOTHING +} + +enum class OpenStatus { + Open, Unopen +} \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerStateView.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerStateView.kt new file mode 100644 index 0000000000..5183a494a2 --- /dev/null +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerStateView.kt @@ -0,0 +1,44 @@ +package com.mogo.och.shuttle.passenger.manager.scnner + +import android.content.Context +import android.util.AttributeSet +import android.view.View +import androidx.appcompat.widget.AppCompatImageView +import com.mogo.och.common.module.R + +class ScannerStateView @JvmOverloads constructor( + context: Context, + attrs: AttributeSet? = null, + defStyleAttr: Int = 0 +) : AppCompatImageView(context, attrs, defStyleAttr), StateChangeListener { + private val TAG = "ScannerStateView" + + init { + setImageResource(R.drawable.driver_connect_statis) + ScannerManager.addStateChangeListener(TAG,this) + } + + override fun stateChange(newBindValue: BindStatus, newOpentValue: OpenStatus) { + when (newBindValue) { + BindStatus.BIND_SUCCEED -> { + // 绑定成功 + when (newOpentValue) { + OpenStatus.Open -> { + //成功打开 + visibility = View.GONE + } + OpenStatus.Unopen -> { + // 打开失败 + setImageResource(R.drawable.driver_connect_statis) + } + } + } + else ->{ + // 绑定失败 + setImageResource(R.drawable.driver_connect_statis) + } + } + } + + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/StateChangeListener.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/StateChangeListener.kt new file mode 100644 index 0000000000..cbe1b13a45 --- /dev/null +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/StateChangeListener.kt @@ -0,0 +1,6 @@ +package com.mogo.och.shuttle.passenger.manager.scnner + +interface StateChangeListener { + fun stateChange(newBindValue:BindStatus,newOpentValue:OpenStatus){} + fun parseData(params:MutableMap){} +} \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt new file mode 100644 index 0000000000..cfef34d5b8 --- /dev/null +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt @@ -0,0 +1,57 @@ +package com.mogo.och.shuttle.passenger.model + +import com.mogo.commons.AbsMogoApplication +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P +import com.mogo.och.common.module.biz.network.OchCommonServiceCallback +import com.mogo.och.common.module.debug.DebugDataDispatch +import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest +import com.mogo.och.shuttle.passenger.bean.response.PassengerWriteOffResponse +import com.mogo.och.shuttle.passenger.manager.scnner.ScannerManager +import com.mogo.och.shuttle.passenger.manager.scnner.StateChangeListener +import com.mogo.och.shuttle.passenger.network.PassengerServiceManager + +object TicketModel : StateChangeListener { + + private const val TAG = "TicketModel" + + init { + ScannerManager.bindService() + ScannerManager.addStateChangeListener(TAG, this) + } + + fun load(){ + + } + + override fun parseData(params: MutableMap) { + val orderNo = params["orderNo"] + val uid = params["uid"] + if(orderNo is String && uid is String){ + writeOffTicket(orderNo,uid) + }else{ + // 通知司机屏二维码错误 + } + } + + fun writeOffTicket(orderNo: String, uid: String) { + val passengerWriteOffRequest = PassengerWriteOffRequest(orderNo, uid) + PassengerServiceManager.writeOffTicket(AbsMogoApplication.getApp(), + passengerWriteOffRequest, + object : OchCommonServiceCallback { + override fun onSuccess(data: PassengerWriteOffResponse?) { + if (data?.data == null) return + val ticketInfo = + "核销成功:票种名称:${data.data.ticketName},车票数量:${data.data.ticketSize},预留手机号:${data.data.phone},时间:${data.data.remainingTimes}" + CallerLogger.d(M_BUS_P + TAG, ticketInfo) + } + + override fun onFail(code: Int, msg: String?) { + CallerLogger.d(M_BUS_P + TAG, "核销失败 ${code}-----${msg}") + } + + } + ) + } + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt index 428a10c648..8586f35e0f 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt @@ -5,13 +5,17 @@ import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager.getSer import com.mogo.cloud.passport.MoGoAiCloudClientConfig import com.mogo.eagle.core.network.MoGoRetrofitFactory import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.eagle.core.utilcode.util.StringUtils +import com.mogo.eagle.core.utilcode.util.ToastUtils import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.common.module.biz.network.OchCommonSubscribeImpl import com.mogo.och.common.module.biz.network.interceptor.transformTry import com.mogo.och.shuttle.passenger.bean.request.PassengerQueryLineRequest +import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse +import com.mogo.och.shuttle.passenger.bean.response.PassengerWriteOffResponse /** * Created on 2022/3/31 @@ -75,4 +79,30 @@ object PassengerServiceManager { .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus")) } + + /** + * 查询司机端出车收车状态,以及车牌号 + * @param context + * @param callback + */ + @JvmStatic + fun writeOffTicket( + context: Context, + ticketInfo: PassengerWriteOffRequest, + callback: OchCommonServiceCallback?, + ) { + ticketInfo.sn = driverAppSn + if(StringUtils.isEmpty(driverAppSn)){ + ToastUtils.showShort("请链接司机屏") + return + } + mShuttleBusPassengerServiceApi.writeOffTicket( + MoGoAiCloudClientConfig.getInstance().serviceAppId, + SharedPrefsMgr.getInstance().token, + ticketInfo + ) + .transformTry() + .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus")) + + } } \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java index 17b94a64f0..b1cd8187a1 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/ServiceApi.java @@ -1,8 +1,10 @@ package com.mogo.och.shuttle.passenger.network; import com.mogo.och.shuttle.passenger.bean.request.PassengerQueryLineRequest; +import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest; import com.mogo.och.shuttle.passenger.bean.response.PassengerOperationStatusResponse; import com.mogo.och.shuttle.passenger.bean.response.PassengerRoutesResponse; +import com.mogo.och.shuttle.passenger.bean.response.PassengerWriteOffResponse; import io.reactivex.Observable; import retrofit2.http.Body; @@ -35,4 +37,11 @@ public interface ServiceApi { // @GET("/autopilot-car-hailing/car/v2/driver/bus/passenger/takeOrderStatus/query") @GET("/och-shuttle-cabin/api/business/v1/passenger/loginStatus") Observable queryDriverOperationStatus(@Header ("appId") String appId, @Header("ticket") String ticket, @Query("sn") String sn); + + /** + * 查询司机端的登陆状态 + */ + @Headers({"Content-type:application/json;charset=UTF-8"}) + @POST("/och-vehicle/api/scanner/device/writeOff") + Observable writeOffTicket(@Header ("appId") String appId, @Header("ticket") String ticket, @Body PassengerWriteOffRequest request); } diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java index beaa6e1c4d..0c0e1574e8 100644 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java +++ b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/model/BusPassengerModel.java @@ -402,6 +402,7 @@ public class BusPassengerModel { @Override public void onReceivedServerSn(@Nullable String sn) { + Logger.d(SceneConstant.M_BUS_P + TAG, "司机屏sn:"+sn ); } @Override diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2QueryLineRequest.java b/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2QueryLineRequest.java deleted file mode 100644 index 62594f2813..0000000000 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/bean/PM2QueryLineRequest.java +++ /dev/null @@ -1,16 +0,0 @@ -package com.mogo.och.shuttle.passenger.bean; - -public -/** - * @author congtaowang - * @since 2021/3/22 - * - * 根据车机行驶线路站点信息 - */ -class PM2QueryLineRequest { - - private String sn; - public PM2QueryLineRequest(String sn) { - this.sn = sn; - } -} diff --git a/OCH/shuttle/passenger/src/main/res/drawable/scanner_qr_code.xml b/OCH/shuttle/passenger/src/main/res/drawable/scanner_qr_code.xml new file mode 100644 index 0000000000..7b205e5aed --- /dev/null +++ b/OCH/shuttle/passenger/src/main/res/drawable/scanner_qr_code.xml @@ -0,0 +1,28 @@ + + + diff --git a/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_view_status_bar.xml b/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_view_status_bar.xml index 2be462cb64..f48c5371bc 100644 --- a/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_view_status_bar.xml +++ b/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_view_status_bar.xml @@ -8,6 +8,17 @@ tools:ignore="MissingDefaultResource" android:background="@drawable/shuttle_p_jl_bg_status_bar"> + + @@ -31,18 +42,15 @@ android:layout_gravity="center" android:layout_marginStart="@dimen/dp_40" /> - - - - + app:layout_constraintStart_toEndOf="@+id/wifiStateView" + android:layout_width="@dimen/dp_24" + android:layout_height="@dimen/dp_24" + android:src="@drawable/scanner_qr_code" + android:layout_gravity="center" + android:layout_marginStart="@dimen/dp_40"/> \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/res/m2/layout/shuttle_p_m2_view_status_bar.xml b/OCH/shuttle/passenger/src/main/res/m2/layout/shuttle_p_m2_view_status_bar.xml index 2aac7be30f..a2d86ad7bd 100644 --- a/OCH/shuttle/passenger/src/main/res/m2/layout/shuttle_p_m2_view_status_bar.xml +++ b/OCH/shuttle/passenger/src/main/res/m2/layout/shuttle_p_m2_view_status_bar.xml @@ -19,7 +19,7 @@ android:layout_marginStart="@dimen/dp_40" /> - Date: Tue, 16 Jan 2024 16:29:16 +0800 Subject: [PATCH 4/8] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E6=8E=A5=E9=A9=B3=E7=A5=A8=20=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E5=A4=84=E7=90=86=E5=92=8C=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5?= =?UTF-8?q?]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/common/module/bean/dpmsg/DPMsgType.kt | 4 +- .../och/common/module/bean/dpmsg/DataBean.kt | 13 ++ .../java/com/mogo/och/bus/BusProvider.java | 16 +- .../main/java/com/mogo/och/bus/IMogoOCH.java | 24 -- .../com/mogo/och/bus/model/OrderModel.java | 96 +++++++- .../manager/scnner/ScannerManager.kt | 212 +++++++++++++----- .../manager/scnner/StateChangeListener.kt | 2 +- .../shuttle/passenger/model/TicketModel.kt | 38 +++- .../network/PassengerServiceManager.kt | 2 +- .../eagle/core/data/enums/EventTypeEnumNew.kt | 6 +- ...on_warning_v2x_verification_successful.png | Bin 0 -> 4933 bytes 11 files changed, 306 insertions(+), 107 deletions(-) delete mode 100644 OCH/shuttle/driver/src/main/java/com/mogo/och/bus/IMogoOCH.java create mode 100644 core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_warning_v2x_verification_successful.png diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt index 26f52b5a4e..cada587957 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DPMsgType.kt @@ -12,5 +12,7 @@ enum class DPMsgType(val type: Int) { TYPE_TASK_DETAILS(4), //路线任务详情 TYPE_LOGIN_STATUS(5), //login status TYPE_ARRIVEDEST_STATUS(6), //到站通知 status - TYPE_ORDER_CLOSED_BY_M1_STATUS(7) //到站通知 status + TYPE_ORDER_CLOSED_BY_M1_STATUS(7), //到站通知 status + TYPE_WRITEOFF_INFO(8), //核销信息 + TYPE_WRITEOFF_DEVICES_INFO(9) //核销设备信息 } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt index a8a65b3dfb..fcbcceb8d4 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt @@ -83,3 +83,16 @@ data class AppConnectMsg( data class TaskDetailsMsg( var msg: String?, ): BaseDPMsg(DPMsgType.TYPE_TASK_DETAILS.type) + +data class WriteOffMsg( + val isScuccess: Boolean?, + val phone: String?, + val ticketSize: Int?, + val ticketName:String?, + val failedReason:String? +): BaseDPMsg(DPMsgType.TYPE_WRITEOFF_INFO.type) + +data class WriteOffDevicesMsg( + val isConnectScanner: Boolean?, + val reason:String? +): BaseDPMsg(DPMsgType.TYPE_WRITEOFF_DEVICES_INFO.type) diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.java index 998d7b5d4b..6b5f576a24 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/BusProvider.java @@ -10,6 +10,7 @@ import androidx.fragment.app.FragmentActivity; import androidx.fragment.app.FragmentManager; import com.alibaba.android.arouter.facade.annotation.Route; +import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; import com.mogo.eagle.core.function.call.setting.CallerMoGoUiSettingManager; import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger; import com.mogo.och.bus.constant.BusConst; @@ -24,7 +25,7 @@ import org.jetbrains.annotations.Nullable; * @author tongchenfei */ @Route(path = BusConst.PATH) -public class BusProvider implements IMogoOCH { +public class BusProvider implements IMoGoFunctionProvider { private static final String TAG = "BusProvider"; @@ -32,14 +33,6 @@ public class BusProvider implements IMogoOCH { private int containerId; private FragmentActivity activity; - /** - * 进入鹰眼模式,设置手势缩放地图失效 - */ - private void stepIntoVrMode() { - CallerLogger.d(M_BUS + TAG, "进入vr模式"); - CallerMoGoUiSettingManager.INSTANCE.stepInNightMode();//夜间模式 状态栏字体颜色变黑 - } - @Override public void init(Context context) { } @@ -71,11 +64,6 @@ public class BusProvider implements IMogoOCH { } - @Override - public void createCoverage(FragmentActivity activity, int containerId) { - - } - @NotNull @Override public String getFunctionName() { diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/IMogoOCH.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/IMogoOCH.java deleted file mode 100644 index 073f7fcc29..0000000000 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/IMogoOCH.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.mogo.och.bus; - -import androidx.annotation.IdRes; -import androidx.fragment.app.FragmentActivity; - -import com.mogo.eagle.core.function.api.base.IMoGoFunctionProvider; - -public -/** - * @author congtaowang - * @since 2021/1/15 - * - * 网约车抽象接口 - */ -interface IMogoOCH extends IMoGoFunctionProvider { - - /** - * 初始化网约车容器 - * - * @param activity - * @param containerId 容器ID - */ - void createCoverage(FragmentActivity activity, @IdRes int containerId); -} diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java index b43791e1c5..90b6cc0a4d 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java @@ -16,7 +16,12 @@ import com.alibaba.android.arouter.launcher.ARouter; import com.amap.api.maps.model.LatLng; import com.elegant.network.utils.GsonUtil; import com.mogo.aicloud.services.socket.IMogoOnMessageListener; +import com.mogo.eagle.core.data.enums.EventTypeEnumNew; +import com.mogo.eagle.core.data.msgbox.MsgBoxBean; +import com.mogo.eagle.core.data.msgbox.MsgBoxType; +import com.mogo.eagle.core.data.msgbox.V2XMsg; import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener; +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager; import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager; import com.mogo.eagle.core.utilcode.util.CoordinateUtils; import com.mogo.commons.AbsMogoApplication; @@ -33,6 +38,8 @@ import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg; import com.mogo.och.common.module.bean.dpmsg.DPMsgType; import com.mogo.och.common.module.bean.dpmsg.LoginCacheStatus; import com.mogo.och.common.module.bean.dpmsg.TaskDetailsMsg; +import com.mogo.och.common.module.bean.dpmsg.WriteOffDevicesMsg; +import com.mogo.och.common.module.bean.dpmsg.WriteOffMsg; import com.mogo.och.common.module.biz.constant.LoginStatusManager; import com.mogo.och.data.bean.BusStationBean; import com.mogo.och.common.module.biz.common.socketmessage.data.SystemMsg; @@ -241,13 +248,98 @@ public class OrderModel { if (OchCommonConst.BUSINESS_STRING == type){ CallerLogger.d(M_BUS + BaseDPMsg.TAG,new String(byteArray)); BaseDPMsg msg = GsonUtils.fromJson(new String(byteArray),BaseDPMsg.class); - if (msg!=null && msg.getType() == DPMsgType.TYPE_TASK_DETAILS.getType()){ - sendTaskDetailsToClients(); + if(msg!=null) { + if (msg.getType() == DPMsgType.TYPE_TASK_DETAILS.getType()) { + sendTaskDetailsToClients(); + } else if(msg.getType() == DPMsgType.TYPE_WRITEOFF_INFO.getType()){ + WriteOffMsg writeOffMsg = + GsonUtils.fromJson(new String(byteArray), WriteOffMsg.class); + receiveWrteOffInfo(writeOffMsg); + } else if(msg.getType() == DPMsgType.TYPE_WRITEOFF_DEVICES_INFO.getType()){ + WriteOffDevicesMsg writeOffMsg = + GsonUtils.fromJson(new String(byteArray), WriteOffDevicesMsg.class); + receiveWrteOffDevicesInfo(writeOffMsg); + } } } } }; + private void receiveWrteOffInfo(WriteOffMsg writeOffMsg) { + if (writeOffMsg.isScuccess() != null) { + if (Boolean.TRUE.equals(writeOffMsg.isScuccess())) {// 核验成功 + int size = writeOffMsg.getTicketSize()==null?0:writeOffMsg.getTicketSize(); + String type = writeOffMsg.getTicketName()==null?"":writeOffMsg.getTicketName(); + String phone = writeOffMsg.getPhone()==null?"":writeOffMsg.getPhone(); + + if (phone.length() > 8) { + //截取电话号码前三位 + String phoneNumPre = phone.substring(0, 3); + //截取电话号码后四位 + String phoneNumFix = phone.substring(7); + phone = phoneNumPre+"****"+phoneNumFix; + } + + String content = size+"张"+type+" "+phone; + CallerMsgBoxManager.INSTANCE.saveMsgBox( + new MsgBoxBean( + MsgBoxType.V2X, + new V2XMsg( + EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.getPoiType(), + content, + EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.getTts(), + "" + ) + ) + ); + } else { // 核验失败 + String reason = writeOffMsg.getFailedReason()==null?"":writeOffMsg.getFailedReason(); + CallerMsgBoxManager.INSTANCE.saveMsgBox( + new MsgBoxBean( + MsgBoxType.V2X, + new V2XMsg( + EventTypeEnumNew.TYPE_ABNORMAL_VERIFICATION.getPoiType(), + reason, + EventTypeEnumNew.TYPE_ABNORMAL_VERIFICATION.getTts(), + "" + ) + ) + ); + } + } + } + + private void receiveWrteOffDevicesInfo(WriteOffDevicesMsg writeOffMsg) { + if (writeOffMsg.isConnectScanner() != null) { + String reason = writeOffMsg.getReason()==null?"":writeOffMsg.getReason(); + if (Boolean.TRUE.equals(writeOffMsg.isConnectScanner())) {// 链接成功 + CallerMsgBoxManager.INSTANCE.saveMsgBox( + new MsgBoxBean( + MsgBoxType.V2X, + new V2XMsg( + EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.getPoiType(), + reason, + EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.getTts(), + "" + ) + ) + ); + } else { // 核验失败 + CallerMsgBoxManager.INSTANCE.saveMsgBox( + new MsgBoxBean( + MsgBoxType.V2X, + new V2XMsg( + EventTypeEnumNew.TYPE_DEVICE_STATUS_ABNORMAL.getPoiType(), + reason, + EventTypeEnumNew.TYPE_DEVICE_STATUS_ABNORMAL.getTts(), + "" + ) + ) + ); + } + } + } + private final IMogoOnMessageListener mMogoOnMessageListener = new IMogoOnMessageListener() { @Override diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt index 12e9b02b80..4555d4fbc6 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt @@ -2,25 +2,29 @@ package com.mogo.och.shuttle.passenger.manager.scnner import android.net.Uri import com.mogo.commons.AbsMogoApplication +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.Logger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P +import com.mogo.eagle.core.utilcode.util.GsonUtils import com.mogo.eagle.core.utilcode.util.StringUtils +import com.mogo.och.common.module.bean.dpmsg.WriteOffDevicesMsg +import com.mogo.och.common.module.bean.dpmsg.WriteOffMsg import com.mogo.och.common.module.biz.constant.OchCommonConst -import com.mogo.och.common.module.manager.distancemamager.ITrajectoryWithStationListener -import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager import com.mogo.support.serialport.client.SerialPortManager import com.mogo.support.serialport.client.SerialPortManager.SERVICE_STATE import com.mogo.support.serialport.client.listener.OnDeviceVerificationListener import com.mogo.support.serialport.client.listener.OnSerialPortListener import com.mogo.support.serialport.common.verification.UnpackStatus import com.mogo.support.serialport.common.verification.data.VerificationActiveData -import java.net.URL import java.util.concurrent.ConcurrentHashMap import kotlin.properties.Delegates -object ScannerManager : OnSerialPortListener { +object ScannerManager : OnSerialPortListener, OnDeviceVerificationListener(), IReceivedMsgListener { private val TAG = "ScannerManager" @@ -29,11 +33,20 @@ object ScannerManager : OnSerialPortListener { private val stateChanageListeners: ConcurrentHashMap = ConcurrentHashMap() + private var driverSn:String by Delegates.observable("") { _, oldV, newV -> + if (oldV != newV) { + // sn 发生了改变 需要向司机屏推送当前链接的状态 + sendScannerState() + } + } private var bindStatus: BindStatus by Delegates.observable(BindStatus.NOTHING) { _, oldV, newV -> if (oldV != newV) { try { CallerLogger.d(SceneConstant.M_OCHCOMMON + TAG, "状态发生变化old:${oldV}_new:${newV}") + if(newV!=BindStatus.BIND_SUCCEED) { + dispatchMsg(newV) + } if (stateChanageListeners.size > 0) { stateChanageListeners.forEach { it.value.stateChange(newV, openStatus) @@ -44,6 +57,7 @@ object ScannerManager : OnSerialPortListener { } } } + private var openStatus: OpenStatus by Delegates.observable(OpenStatus.Unopen) { _, oldV, newV -> if (oldV != newV) { try { @@ -58,6 +72,11 @@ object ScannerManager : OnSerialPortListener { } } + init { + //监听司机端消息 + CallerTelematicListenerManager.addListener(TAG, this) + } + fun addStateChangeListener(tag: String, listener: StateChangeListener) { if (stateChanageListeners.containsKey(tag)) { return @@ -66,47 +85,14 @@ object ScannerManager : OnSerialPortListener { } fun bindService() { - serialPortManager.bindService(AbsMogoApplication.getApp(), this);//绑定服务 + serialPortManager.bindService(AbsMogoApplication.getApp(), this)//绑定服务 } override fun onServiceState(serviceState: Int) { when (serviceState) { SERVICE_STATE.BIND_SUCCEED -> { bindStatus = BindStatus.BIND_SUCCEED - serialPortManager.openVerificationDevice(object : OnDeviceVerificationListener() { - override fun onSerialPortState( - path: String?, - isOpen: Boolean, - throwableMessage: String? - ) { - CallerLogger.d( - M_BUS_P + TAG, - "path ${path}---isOpen${isOpen}--throwableMessage${throwableMessage}" - ) - if (isOpen) { - openStatus = OpenStatus.Open - } else { - openStatus = OpenStatus.Unopen - } - } - - override fun onActiveDataReceive(data: VerificationActiveData?) { - data?.let { - if(data.unpackStatus==UnpackStatus.SUCCEED){ - "数据类型${it.dataType.name}" - CallerLogger.d(M_BUS_P + TAG, "data $it") - if(!StringUtils.isEmpty(it.payload)){ - parseParams(it.payload) - }else{ - CallerLogger.d(M_BUS_P + TAG, "数据错误") - } - }else{ - CallerLogger.d(M_BUS_P + TAG, "解包失败") - } - } - } - - }); + serialPortManager.openVerificationDevice(this) } SERVICE_STATE.BIND_FAILURE_UNINSTALLED -> { CallerLogger.d(M_BUS_P + TAG, "服务绑定失败:未安装串口服务端APP") @@ -124,25 +110,6 @@ object ScannerManager : OnSerialPortListener { } } - private fun parseParams(payload: String?) { - val parse = Uri.parse("${OchCommonConst.getShuttleUrl()}?${payload}") - val queryParameterNames = parse.queryParameterNames - val mutableMapOf = mutableMapOf() - queryParameterNames.forEach { - val queryParameter = parse.getQueryParameter(it) - println("${it}:$queryParameter") - if(it!=null&&queryParameter!=null){ - mutableMapOf[it] = queryParameter - } - } - if (stateChanageListeners.size > 0) { - stateChanageListeners.forEach { - it.value.parseData(mutableMapOf) - } - } - - } - // 查询串口 override fun onFindSerialPort(paths: Array?) { CallerLogger.d(M_BUS_P + TAG, "$paths") @@ -150,6 +117,135 @@ object ScannerManager : OnSerialPortListener { bindStatus = BindStatus.BIND_FAILURE_NO_PERMISSION_NOT_FOUND } } + + override fun onSerialPortState( + path: String?, + isOpen: Boolean, + throwableMessage: String? + ) { + CallerLogger.d( + M_BUS_P + TAG, + "path ${path}---isOpen${isOpen}--throwableMessage${throwableMessage}" + ) + openStatus = if (isOpen) { + sendMessage2Driver(true,"扫码枪打开成功") + OpenStatus.Open + } else { + sendMessage2Driver(false,"扫码枪打开错误:${throwableMessage}_${path}") + OpenStatus.Unopen + } + } + + override fun onActiveDataReceive(data: VerificationActiveData?) { + data?.let { + if(data.unpackStatus==UnpackStatus.SUCCEED){ + "数据类型${it.dataType.name}" + CallerLogger.d(M_BUS_P + TAG, "data $it") + if(!StringUtils.isEmpty(it.payload)){ + parseParams(it.payload) + }else{ + CallerLogger.d(M_BUS_P + TAG, "数据错误") + sendMessage2DriverWriteOffInfo("扫码数据为空") + } + }else{ + sendMessage2DriverWriteOffInfo("解包失败") + CallerLogger.d(M_BUS_P + TAG, "解包失败") + } + } + } + + private fun parseParams(payload: String?) { + val parse = Uri.parse("${OchCommonConst.getShuttleUrl()}?${payload}") + val queryParameterNames = parse.queryParameterNames + val mutableMapOf = mutableMapOf() + queryParameterNames.forEach { + val queryParameter = parse.getQueryParameter(it) + if(it!=null&&queryParameter!=null){ + mutableMapOf[it] = queryParameter + } + } + if(mutableMapOf.isNotEmpty()){ + if (stateChanageListeners.size > 0) { + stateChanageListeners.forEach { + it.value.parseData(mutableMapOf,payload) + } + } + }else{ + sendMessage2DriverWriteOffInfo("扫码参数数据为空:${payload}") + } + + } + + /** + * @param isConnectScanner 是否打开设备 + */ + private fun sendMessage2Driver(isConnectScanner:Boolean,message:String){ + val msg = WriteOffDevicesMsg(isConnectScanner, message) + CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) + if(driverSn.isNotEmpty()) { + CallerTelematicManager.sendMsgToServer( + OchCommonConst.BUSINESS_STRING, + GsonUtils.toJson(msg).toByteArray() + ) + } + } + + /** + * 打开设备后数据异常 + */ + private fun sendMessage2DriverWriteOffInfo(message:String){ + val msg = WriteOffMsg(false, "", 0, "", message) + CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) + CallerTelematicManager.sendMsgToServer( + OchCommonConst.BUSINESS_STRING, + GsonUtils.toJson(msg).toByteArray() + ) + } + + override fun onReceivedMsg(type: Int, byteArray: ByteArray) { + + } + + override fun onReceivedServerSn(sn: String?) { + Logger.d(M_BUS_P + TAG, "司机屏sn:$sn") + driverSn = sn?:"" + } + + /** + * 链接司机屏后向司机屏同步扫码枪状态 + */ + private fun sendScannerState() { + if(bindStatus==BindStatus.BIND_SUCCEED&& openStatus==OpenStatus.Open){ + sendMessage2Driver(true,"扫码枪打开状态") + }else{ + if(bindStatus==BindStatus.BIND_SUCCEED&& openStatus==OpenStatus.Unopen){ + sendMessage2Driver(false,"绑定成功、打开失败") + }else{ + dispatchMsg(bindStatus) + } + } + } + + private fun dispatchMsg(newV: BindStatus) { + when (newV) { + BindStatus.BIND_FAILURE_UNINSTALLED -> { + // 服务绑定失败:未安装串口服务端APP + sendMessage2Driver(false,"服务绑定失败:未安装串口服务端APP") + } + BindStatus.BIND_FAILURE_NO_PERMISSION_NOT_FOUND -> { + // 服务绑定失败:没有绑定权限或找不到服务(如果是此状态,基本上安装后就可以找到,主要就是权限问题) + sendMessage2Driver(false,"服务绑定失败:没有绑定权限或找不到服务") + } + BindStatus.EXCEPTION -> { + // 扫码枪open错误 + sendMessage2Driver(false,"扫码枪打开错误") + } + BindStatus.NOTHING -> {} + else -> {} + } + } + + } enum class BindStatus { diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/StateChangeListener.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/StateChangeListener.kt index cbe1b13a45..12698fa45e 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/StateChangeListener.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/StateChangeListener.kt @@ -2,5 +2,5 @@ package com.mogo.och.shuttle.passenger.manager.scnner interface StateChangeListener { fun stateChange(newBindValue:BindStatus,newOpentValue:OpenStatus){} - fun parseData(params:MutableMap){} + fun parseData(params: MutableMap, payload: String?){} } \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt index cfef34d5b8..14bf2cd93a 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt @@ -1,10 +1,13 @@ package com.mogo.och.shuttle.passenger.model import com.mogo.commons.AbsMogoApplication +import com.mogo.eagle.core.function.call.telematic.CallerTelematicManager import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_BUS_P +import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.och.common.module.bean.dpmsg.WriteOffMsg +import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.network.OchCommonServiceCallback -import com.mogo.och.common.module.debug.DebugDataDispatch import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest import com.mogo.och.shuttle.passenger.bean.response.PassengerWriteOffResponse import com.mogo.och.shuttle.passenger.manager.scnner.ScannerManager @@ -24,17 +27,18 @@ object TicketModel : StateChangeListener { } - override fun parseData(params: MutableMap) { + override fun parseData(params: MutableMap, payload: String?) { val orderNo = params["orderNo"] val uid = params["uid"] if(orderNo is String && uid is String){ writeOffTicket(orderNo,uid) }else{ // 通知司机屏二维码错误 + sendMessage2Driver("参数错误:${payload}") } } - fun writeOffTicket(orderNo: String, uid: String) { + private fun writeOffTicket(orderNo: String, uid: String) { val passengerWriteOffRequest = PassengerWriteOffRequest(orderNo, uid) PassengerServiceManager.writeOffTicket(AbsMogoApplication.getApp(), passengerWriteOffRequest, @@ -44,14 +48,42 @@ object TicketModel : StateChangeListener { val ticketInfo = "核销成功:票种名称:${data.data.ticketName},车票数量:${data.data.ticketSize},预留手机号:${data.data.phone},时间:${data.data.remainingTimes}" CallerLogger.d(M_BUS_P + TAG, ticketInfo) + sendMessage2DriverSuccess(data.data) } override fun onFail(code: Int, msg: String?) { CallerLogger.d(M_BUS_P + TAG, "核销失败 ${code}-----${msg}") + when (code) { + 6002 -> {sendMessage2Driver("同一订单核销间隔时间需大于5分钟")} + 1009 -> {sendMessage2Driver("车票所选乘车日期非今日")} + 1006 -> {sendMessage2Driver("车票路线信息与当前车辆执行任务的路线信息不符合")} + 1008 -> {sendMessage2Driver("车票剩余可用次数为0")} + 6001 -> {sendMessage2Driver("二维码已过期")} + 1012 -> {sendMessage2Driver("当前用户下单路线非当前的车辆所属公司")} + else -> {} + } } } ) } + private fun sendMessage2Driver(message:String){ + val msg = WriteOffMsg(false, "", 0, "", message) + CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) + CallerTelematicManager.sendMsgToServer( + OchCommonConst.BUSINESS_STRING, + GsonUtils.toJson(msg).toByteArray() + ) + } + private fun sendMessage2DriverSuccess(message: PassengerWriteOffResponse.Result){ + val msg = WriteOffMsg(true, message.phone, message.ticketSize, message.ticketName, "") + CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) + CallerTelematicManager.sendMsgToServer( + OchCommonConst.BUSINESS_STRING, + GsonUtils.toJson(msg).toByteArray() + ) + } + + } \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt index 8586f35e0f..555c6de886 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/network/PassengerServiceManager.kt @@ -93,7 +93,7 @@ object PassengerServiceManager { ) { ticketInfo.sn = driverAppSn if(StringUtils.isEmpty(driverAppSn)){ - ToastUtils.showShort("请链接司机屏") + ToastUtils.showShort("请链接司机屏${ticketInfo.uid}") return } mShuttleBusPassengerServiceApi.writeOffTicket( diff --git a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt index afa0366d96..05be71b547 100644 --- a/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt +++ b/core/mogo-core-data/src/main/java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt @@ -556,7 +556,7 @@ enum class EventTypeEnumNew( "VERIFICATION_SUCCESSFUL", "验票成功", "%s张%s票(如全程票)", - R.drawable.icon_warning_v2x_optimal_route, + R.drawable.icon_warning_v2x_verification_successful, "%s张%s票(如全程票)", "%s张%s票(如全程票)" ), @@ -1246,7 +1246,7 @@ enum class EventTypeEnumNew( } //核销成功 TYPE_VERIFICATION_SUCCESSFUL.poiType->{ - R.drawable.icon_warning_v2x_optimal_route + R.drawable.icon_warning_v2x_verification_successful } //核销异常 TYPE_ABNORMAL_VERIFICATION.poiType->{ @@ -1254,7 +1254,7 @@ enum class EventTypeEnumNew( } //设备状态正常 TYPE_DEVICE_STATUS_NORMAL.poiType->{ - R.drawable.icon_default + R.drawable.icon_warning_v2x_verification_successful } //设备状态异常 TYPE_DEVICE_STATUS_ABNORMAL.poiType->{ diff --git a/core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_warning_v2x_verification_successful.png b/core/mogo-core-res/src/main/function-hmi-res/drawable-xhdpi/icon_warning_v2x_verification_successful.png new file mode 100644 index 0000000000000000000000000000000000000000..ed7b293b90817473c775392fe3ad51d4d7f11d24 GIT binary patch literal 4933 zcmV-L6T0k)P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91c%TCS1ONa40RR91cmMzZ00`n$?f?K1uSrBfRCodHoePi@$9c!U+1)$1 z z4AVRzh8zr;_=JpuqpGV8@0!}(v}d9HJ*X&Uv0Vb+_bjCEf%m!@DC(heDR zK!zRFL#lticV6SkOGEj~$G3nNY~3*ENVIK9RE!l+=v{zX;V0Drb~j+Z6c%&igz%M{ zwk=$F!B6s8viJ`0wcA$T5RICDi8}EfQ)IX$sGpBe;%U_R&xXUs6K^kA`?{ZG^$p+| zn^w<_8s-|)H1F_}g6zs-7{)7M(`ag0vUZo+48y3W3^01iZt!`wnWN{kC zZ$cq?WdFkEZ6%Wd36~6T-Ij-LikZ>J&`Q0&lnQV?ZA0D&8Q}-_FM9Mf*VF1F0nY(n z`%>e`SWnklQ_Ked*YouI(1H72hTyT=csvxTTK)E2jel@I!QK=+Q!wgQqi##X{m5!F z;Ew7QVc>iNO+K}!$PXN!@zGi&1yZdQ8>fGjjmi(Ur9wa5U3`Gn!=+-hDR0Ffyu~3EEy^kFtVZ*$w(AIT9bugcEqv}y8fNK|+-S9LZ>Y6&Y zdoRP=2FxC+cqc~ioLh*-3%G}mP}DhfZ})cFfZ6?s1cM$byP7UCJaw+Se(gnMtC7Wl z0~8sXg1%*YN_H%?9#>vsXMiGaz-q|vV$bh_MwMf@3W`WIx+){H@*Qf-tBB@cy&BIA zTFeDOaq=eB=u%_rm?V;i%L_1PVg!Trd1%w4AY`Ft$K;V-&R>C=L)G1NC@7lq(58n$ zSX759s;1=I@u{tQf>v`bHJ0c)TGg16drP({ zxmhhZK5seekDx?Z3zDSofYq2}f1i||MKNV_35>FhA7=!tUMDG=Tn=nO z@#6cMOd9ADFkb}gckc>i(m;RkH|6t+Ss!`n6ENTM>mzL7}4EG1#KG#5B>{0-8*#x{2b+^y+5r~&T17t^r$(K_A zb4?74JC?<=3CWoVzH1GT9T_I;BLy%QJW0M7d@nx@q%%x3vf@h>9rN32Hsz<{(n`$L zf3U>U71k0@2@BTiQ2A@AqSC6WJX5EElBFemViFg|^y}HV8Mxv!Fu7)|TvdZr6rsv@ z&mEU{&mJ!>!UFErEaeH_ngASML9T%4f?KG8%Lk8;zn*lb%osXeVmObXub0RDXWHcZ z@BLDapZ}D>JaJ@cC8X+LPGavdWxwSa9PMdfdhHeRjk+(%;K(3}p^Q|3dBi(CJU`vt zC9C#rl(RkFt!)}Hq>hv2RUOQQJ?&*F2yJQLy5SS#pJ#kosw}twiaBfwE-O5KY9fQ> zD-*n3p2T9R07HrZutm(qan6XVq>+{zs#KP$S}-URX|)Qjb;Q}sVH0h{TzpUz9`hKB z0t{hh7a!%ois9DLQ{JIex|pZcu<+VQmGbxG50_bn z3vn@R$Tz{0MEgl1b1$1NtEVlMF#Zu`a*?d8H(|xFWPGPRcSbKrM^Be`8URzWjc}!O zh@gvV?~*Uul;)3}DJv(>*Tt|Zf?40ji)7@A)~qdA`>AXA6||f_;&GnM5ZOk!48F%H zmu+%O$IX$iU44hLNEW+9NDCHpA6YGCp3;w?Swz#Fi=LNf+WuRgc=(rWBk?^BJWRGc zle%a8&GHu$Z%?vT4UiV9>tN=q7c_qWbY0PIdF-8Sa{A&q?cw2HvW?(}7Fci&r7xfO z1z9%X3koiST17IyYbz#f4V+x9&pABze(UgN^k#j;px!&MMNgJ7MvLTq`sI+~SFf&@ zFI{<~L;+AWrV>aATHCG#Tpx9~4!~W1=x6f5xsOYjO=AoIo7{S)QHPMR-^ub8ciU;>7p1yePo;^z#jOJp79bWf+OJMf}>*yZWU!4xCSnY9t@ zHBh4-)Y2|_b$a_{Q>9_rA{kdTLM2JKzie-j<^x;gQ*`l_!r{Fi`Nye?^|3o{bBqz_afeKY~*i&r0*b7p49D=~9TEk|x=5u%ToYd@t&@zn?NcMW_lREQ>Cm zDL0P1TE6ziPcR~LBIUZ^2O29w6!YB)qwez{mfP!tIlyhNgR6f$W?^G(um%v+eb~) z&$382xhPg(2|Nxxxw!ra7TeVNQ$NAQ+T&8o4vvxlUV!3{3eDz5piX}L`upXYA?`yS z6pBdGb$83Hqo%}rpEO);vD$(YKnXtnVMFU^=Sg{_^*Q;Z1dl@5^oMH-aE>tUT%KBc zd0r6{GA-Fn$W`G=Y5we2WX|xb62&rM@@=XvcP;;xGe>3Z!57d|b+LG5 zxD*4~mdt`*Y};$Qh3q8c(SvGa!{=70qTjMqWu9Q=h` zh`O>0zmvF22bj;htM@&JAvAl_Se$@7X3#L%Fl&WOtQoC}U|KDAa8lM8hp3BWT@+hZ zOFMq;4~OO3hc-)h%=d8lLn$3#rhcfSUB3FplLbM3yugMRJ5;_q=U%z8YNUGHvA_}{ zUGGs(nxmfud-ur$vf=Pn>4`VEc+Kao1JA+O`MQK||CwV2L1wq6UC0xMTqfU}eV=@0 z&`<@EFtv5^*%oktk}#DYz9>KZ;lG#L_sRF(*{-`SOQxzU?*n$?tdB$ccY~l5HpyGJFA;YHM+r^T@06%+XhQxhx&ohDKFa9Y$_+H;oUn z;UwgnMqVS|nzanmS}Opp_gPkhMUl)dD*V@0tBYkT+>`I`l;=Mz$&RoNQ7~d;i{Gip zw9O6gqeU^%p_mq7AIP*){!^nq>Zprb=1D=u z^zpBBuTozMR2lMXfn^%1VJ&d&-lSemXtCLlcYXOeK z?yX~WkCX~S(D88mK`=}g-Z*Fi+_z5u-lLqjpA4pHx3?}{r^aJ-9gH;b(y(u>m@3I+ z$%!IZ)z(U>bx#zb$KsjjwP3-dxDIL9_aE{>XDKJ7#|3lYK!(-|JB&U7m?wB@+{j}& zI70rby-&#*yppL~(b|$VXl2uhy4EVjk7MTJD!^?k`Gj=$G@Q;b1@MIMm77q~m43!{ zp80PDvTzLWWc>XIn zfZx9p^2#^=UAX3ZcyfSp z_}h<<`D#3jBPg0mJwWh6X?1msFS3!B!v)qdsDN503uU zKsHtxEtpxFwt3a-Xt7-H@9Yh5=?r<}z~Xf`WYR)L3+4^jHtj)l46$JvI6rDYZ*BKr zHqo*I=AL+X+r8`_o3drNKV2i6Z2J~6uUP@B0FkQI+{&~+DW*T51hoDApG6?Nt` zTqfr@U`EOZ@-a2lU&JWIH-o-wY9xbGeapr-sjEUdF*3xO;_Y}5of11vFvofky2zgj z>g80;sQMNI2X_0GQ)9_}<~m@CFk}0g@zL(?r-Sii4TR&l9P+a>DwG>#-yu8!%%tO! z2JXjt`OO2>nzhxM4H&HdF`jjE4%YXL%$~0+b#PxIFhf{3;)zg2)f9aH(SWL(QP(oh z%sX}96zpEVNa=t``v3Y zc%6iA95~e@W$DZAvE+a)foE)5JvVBYYs&SlMk^mEeqZ5>U@c45?y~$!dGrlnO9|I* zTYW<`8hZdukh{?e8E*Oe`3NPR=8N-uxBBe`YhU-1tiA(mDQCgf4TFwE+m=MdSb_H0 zU3kQ*u&(*x$klAP;0f2n;IawnZ`S)kM#|t@z{v`lv$Jt@=ef?MP-s11*8_G*R^$WJ zcF3>;GVI_|Maiq#B+Kik?_~ivU14fK!!YX60KV8*&73@8!at zT>H_DzT)(}IelK1fYX&QcW2|^Q=MItxo3TR%lfG(oW=lpEw@-j_*&HI+@p~nx{mmU zU>(@F;w-{qbr$nDfF9J#;2Q_InD(xDjpudn^8Ne&=bksb(Z~*!00000NkvXXu0mjf DCiI-Y literal 0 HcmV?d00001 From d1112d3d96119327345d02cca28f6501fe1fadab Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 16 Jan 2024 16:50:49 +0800 Subject: [PATCH 5/8] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E6=A0=B8?= =?UTF-8?q?=E9=94=80=E6=8E=A5=E9=A9=B3=E7=A5=A8=20=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=A4=84=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/scnner/ScannerChainLogManager.kt | 49 +++++++++++++++++++ .../manager/scnner/ScannerManager.kt | 4 ++ .../shuttle/passenger/model/TicketModel.kt | 3 ++ 3 files changed, 56 insertions(+) create mode 100644 OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerChainLogManager.kt diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerChainLogManager.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerChainLogManager.kt new file mode 100644 index 0000000000..abc506434e --- /dev/null +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerChainLogManager.kt @@ -0,0 +1,49 @@ +package com.mogo.och.shuttle.passenger.manager.scnner + +import android.text.TextUtils +import com.mogo.commons.debug.DebugConfig +import com.mogo.commons.storage.SharedPrefsMgr +import com.mogo.commons.utils.MogoAnalyticUtils +import com.mogo.eagle.core.data.app.AppConfigInfo +import com.mogo.eagle.core.data.deva.chain.ChainConstant +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.DateTimeUtils +import com.zhjt.service.chain.ChainLog + +object ScannerChainLogManager { + + private val TAG = ScannerChainLogManager::class.java.simpleName + + const val EVENT_KEY_INFE_WITH_CHANGE = "event_key_och_scanner_info" + + /** + * @param Info 事件 + * @param changeInfo 数据 + */ + @ChainLog( + linkChainLog = ChainConstant.CHAIN_TYPE_OCH, + linkCode = ChainConstant.CHAIN_SOURCE_OCH, + nodeAliasCode = ChainConstant.CHAIN_CODE_OCH_COMMON_DISTANCE, + paramIndexes = [0,1] + ) + @JvmStatic + fun writeChainLog(info: String, changeInfo: String,upload:Boolean = true,eventID:String=EVENT_KEY_INFE_WITH_CHANGE) { + try { + d(SceneConstant.M_OCHCOMMON + TAG, info+changeInfo) + if(upload) { + val plateNum = AppConfigInfo.plateNumber + val params = HashMap() + params["sn"] = SharedPrefsMgr.getInstance().sn + params["env"] = DebugConfig.getNetMode() + params["plate_number"] = if (TextUtils.isEmpty(plateNum)) "" else plateNum + params["time"] = DateTimeUtils.getTimeText(DateTimeUtils.yyyy_MM_dd_HH_mm_ss) + params[info] = changeInfo + MogoAnalyticUtils.track(eventID, params) + } + }catch (e:Exception){ + e.printStackTrace() + } + } + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt index 4555d4fbc6..2ae8465486 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt @@ -89,6 +89,7 @@ object ScannerManager : OnSerialPortListener, OnDeviceVerificationListener(), IR } override fun onServiceState(serviceState: Int) { + ScannerChainLogManager.writeChainLog(TAG+"bindStatus","绑定服务结果:serviceState:${serviceState}") when (serviceState) { SERVICE_STATE.BIND_SUCCEED -> { bindStatus = BindStatus.BIND_SUCCEED @@ -113,6 +114,7 @@ object ScannerManager : OnSerialPortListener, OnDeviceVerificationListener(), IR // 查询串口 override fun onFindSerialPort(paths: Array?) { CallerLogger.d(M_BUS_P + TAG, "$paths") + ScannerChainLogManager.writeChainLog(TAG+"onFindSerialPort","查询串口:${paths}") if(paths==null) { bindStatus = BindStatus.BIND_FAILURE_NO_PERMISSION_NOT_FOUND } @@ -127,6 +129,7 @@ object ScannerManager : OnSerialPortListener, OnDeviceVerificationListener(), IR M_BUS_P + TAG, "path ${path}---isOpen${isOpen}--throwableMessage${throwableMessage}" ) + ScannerChainLogManager.writeChainLog(TAG+"onSerialPortState","扫码枪是否打开:path${path}_isOpen${isOpen}_throwableMessage${throwableMessage}") openStatus = if (isOpen) { sendMessage2Driver(true,"扫码枪打开成功") OpenStatus.Open @@ -137,6 +140,7 @@ object ScannerManager : OnSerialPortListener, OnDeviceVerificationListener(), IR } override fun onActiveDataReceive(data: VerificationActiveData?) { + ScannerChainLogManager.writeChainLog(TAG+"onActiveDataReceive","扫码结果:data:${data}") data?.let { if(data.unpackStatus==UnpackStatus.SUCCEED){ "数据类型${it.dataType.name}" diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt index 14bf2cd93a..6e4944fae1 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt @@ -10,6 +10,7 @@ import com.mogo.och.common.module.biz.constant.OchCommonConst import com.mogo.och.common.module.biz.network.OchCommonServiceCallback import com.mogo.och.shuttle.passenger.bean.request.PassengerWriteOffRequest import com.mogo.och.shuttle.passenger.bean.response.PassengerWriteOffResponse +import com.mogo.och.shuttle.passenger.manager.scnner.ScannerChainLogManager import com.mogo.och.shuttle.passenger.manager.scnner.ScannerManager import com.mogo.och.shuttle.passenger.manager.scnner.StateChangeListener import com.mogo.och.shuttle.passenger.network.PassengerServiceManager @@ -75,6 +76,7 @@ object TicketModel : StateChangeListener { OchCommonConst.BUSINESS_STRING, GsonUtils.toJson(msg).toByteArray() ) + ScannerChainLogManager.writeChainLog(TAG +"sendMessage2Driver","核验失败:message:${message}") } private fun sendMessage2DriverSuccess(message: PassengerWriteOffResponse.Result){ val msg = WriteOffMsg(true, message.phone, message.ticketSize, message.ticketName, "") @@ -83,6 +85,7 @@ object TicketModel : StateChangeListener { OchCommonConst.BUSINESS_STRING, GsonUtils.toJson(msg).toByteArray() ) + ScannerChainLogManager.writeChainLog(TAG +"sendMessage2DriverSuccess","核验成功:message:${message}") } From b1ef57f081c0b4bc255ae51e423f4cd09ddd7063 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Tue, 16 Jan 2024 19:16:57 +0800 Subject: [PATCH 6/8] =?UTF-8?q?[5.2.8]=20[shuttle]=20[=E6=A0=B8=E9=94=80?= =?UTF-8?q?=E6=8E=A5=E9=A9=B3=E7=A5=A8=20=E5=8F=B8=E6=9C=BA=E5=B1=8F?= =?UTF-8?q?=E5=A4=84=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../och/common/module/bean/dpmsg/DataBean.kt | 3 +- .../mogo/och/bus/bean/WriteOffPassenger.java | 1 + .../com/mogo/och/bus/model/OrderModel.java | 124 ++---------- .../com/mogo/och/bus/model/TicketModel.kt | 182 ++++++++++++++++++ .../manager/scnner/ScannerManager.kt | 2 +- .../shuttle/passenger/model/TicketModel.kt | 8 +- 6 files changed, 211 insertions(+), 109 deletions(-) create mode 100644 OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt index fcbcceb8d4..81588d4e85 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/bean/dpmsg/DataBean.kt @@ -89,7 +89,8 @@ data class WriteOffMsg( val phone: String?, val ticketSize: Int?, val ticketName:String?, - val failedReason:String? + val failedReason:String?, + val orderNo: String? ): BaseDPMsg(DPMsgType.TYPE_WRITEOFF_INFO.type) data class WriteOffDevicesMsg( diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffPassenger.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffPassenger.java index 11ac15e305..dd9f9f67c6 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffPassenger.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/bean/WriteOffPassenger.java @@ -9,6 +9,7 @@ import java.io.Serializable; public class WriteOffPassenger implements Serializable { public String phone; public String orderNo; + public String ticketName; public int passengerSize; public long writeOffTime; } diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java index 90b6cc0a4d..6d87cef3d3 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/OrderModel.java @@ -184,9 +184,10 @@ public class OrderModel { OCHSocketMessageManager.msgMonitorType, mMogoOnMessageListener); - OCHSocketMessageManager.INSTANCE.registerSocketMessageListener(//监听核销乘客 - OCHSocketMessageManager.msgWriteOffPassengerType, - mWriteOffPassengeOnMessageListener); +// OCHSocketMessageManager.INSTANCE.registerSocketMessageListener(//监听核销乘客 +// OCHSocketMessageManager.msgWriteOffPassengerType, +// mWriteOffPassengeOnMessageListener); + TicketModel.INSTANCE.load(); AbnormalFactorsLoopManager.INSTANCE.startLoopAbnormalFactors(mContext); @@ -251,95 +252,12 @@ public class OrderModel { if(msg!=null) { if (msg.getType() == DPMsgType.TYPE_TASK_DETAILS.getType()) { sendTaskDetailsToClients(); - } else if(msg.getType() == DPMsgType.TYPE_WRITEOFF_INFO.getType()){ - WriteOffMsg writeOffMsg = - GsonUtils.fromJson(new String(byteArray), WriteOffMsg.class); - receiveWrteOffInfo(writeOffMsg); - } else if(msg.getType() == DPMsgType.TYPE_WRITEOFF_DEVICES_INFO.getType()){ - WriteOffDevicesMsg writeOffMsg = - GsonUtils.fromJson(new String(byteArray), WriteOffDevicesMsg.class); - receiveWrteOffDevicesInfo(writeOffMsg); } } } } }; - private void receiveWrteOffInfo(WriteOffMsg writeOffMsg) { - if (writeOffMsg.isScuccess() != null) { - if (Boolean.TRUE.equals(writeOffMsg.isScuccess())) {// 核验成功 - int size = writeOffMsg.getTicketSize()==null?0:writeOffMsg.getTicketSize(); - String type = writeOffMsg.getTicketName()==null?"":writeOffMsg.getTicketName(); - String phone = writeOffMsg.getPhone()==null?"":writeOffMsg.getPhone(); - - if (phone.length() > 8) { - //截取电话号码前三位 - String phoneNumPre = phone.substring(0, 3); - //截取电话号码后四位 - String phoneNumFix = phone.substring(7); - phone = phoneNumPre+"****"+phoneNumFix; - } - - String content = size+"张"+type+" "+phone; - CallerMsgBoxManager.INSTANCE.saveMsgBox( - new MsgBoxBean( - MsgBoxType.V2X, - new V2XMsg( - EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.getPoiType(), - content, - EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.getTts(), - "" - ) - ) - ); - } else { // 核验失败 - String reason = writeOffMsg.getFailedReason()==null?"":writeOffMsg.getFailedReason(); - CallerMsgBoxManager.INSTANCE.saveMsgBox( - new MsgBoxBean( - MsgBoxType.V2X, - new V2XMsg( - EventTypeEnumNew.TYPE_ABNORMAL_VERIFICATION.getPoiType(), - reason, - EventTypeEnumNew.TYPE_ABNORMAL_VERIFICATION.getTts(), - "" - ) - ) - ); - } - } - } - - private void receiveWrteOffDevicesInfo(WriteOffDevicesMsg writeOffMsg) { - if (writeOffMsg.isConnectScanner() != null) { - String reason = writeOffMsg.getReason()==null?"":writeOffMsg.getReason(); - if (Boolean.TRUE.equals(writeOffMsg.isConnectScanner())) {// 链接成功 - CallerMsgBoxManager.INSTANCE.saveMsgBox( - new MsgBoxBean( - MsgBoxType.V2X, - new V2XMsg( - EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.getPoiType(), - reason, - EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.getTts(), - "" - ) - ) - ); - } else { // 核验失败 - CallerMsgBoxManager.INSTANCE.saveMsgBox( - new MsgBoxBean( - MsgBoxType.V2X, - new V2XMsg( - EventTypeEnumNew.TYPE_DEVICE_STATUS_ABNORMAL.getPoiType(), - reason, - EventTypeEnumNew.TYPE_DEVICE_STATUS_ABNORMAL.getTts(), - "" - ) - ) - ); - } - } - } - private final IMogoOnMessageListener mMogoOnMessageListener = new IMogoOnMessageListener() { @Override @@ -371,23 +289,23 @@ public class OrderModel { } }; - private final IMogoOnMessageListener mWriteOffPassengeOnMessageListener = - new IMogoOnMessageListener() { - @Override - public Class target() { - return WriteOffPassenger.class; - } - - @Override - public void onMsgReceived(WriteOffPassenger passenger) { - //进行播报 - CallerLogger.i(M_BUS + TAG,"passenger = "+ GsonUtil.jsonFromObject(passenger)); - if (passenger != null && passenger.passengerSize == 0) return; - if (mPassengerCallback != null){ - mPassengerCallback.playPassenger(passenger); - } - } - }; +// private final IMogoOnMessageListener mWriteOffPassengeOnMessageListener = +// new IMogoOnMessageListener() { +// @Override +// public Class target() { +// return WriteOffPassenger.class; +// } +// +// @Override +// public void onMsgReceived(WriteOffPassenger passenger) { +// //进行播报 +// CallerLogger.i(M_BUS + TAG,"passenger = "+ GsonUtil.jsonFromObject(passenger)); +// if (passenger != null && passenger.passengerSize == 0) return; +// if (mPassengerCallback != null){ +// mPassengerCallback.playPassenger(passenger); +// } +// } +// }; public void setAdasStatusCallback(IBusADASStatusCallback callback){ this.mADASStatusCallback = callback; diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt new file mode 100644 index 0000000000..8f1c7a8c6c --- /dev/null +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt @@ -0,0 +1,182 @@ +package com.mogo.och.bus.model + +import com.elegant.network.utils.GsonUtil +import com.mogo.aicloud.services.socket.IMogoOnMessageListener +import com.mogo.commons.voice.AIAssist +import com.mogo.eagle.core.data.enums.EventTypeEnumNew +import com.mogo.eagle.core.data.msgbox.MsgBoxBean +import com.mogo.eagle.core.data.msgbox.MsgBoxType +import com.mogo.eagle.core.data.msgbox.V2XMsg +import com.mogo.eagle.core.function.api.telematic.IReceivedMsgListener +import com.mogo.eagle.core.function.call.msgbox.CallerMsgBoxManager.saveMsgBox +import com.mogo.eagle.core.function.call.telematic.CallerTelematicListenerManager +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.d +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger.i +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant +import com.mogo.eagle.core.utilcode.util.GsonUtils +import com.mogo.och.bus.bean.WriteOffPassenger +import com.mogo.och.common.module.bean.dpmsg.BaseDPMsg +import com.mogo.och.common.module.bean.dpmsg.DPMsgType +import com.mogo.och.common.module.bean.dpmsg.WriteOffDevicesMsg +import com.mogo.och.common.module.bean.dpmsg.WriteOffMsg +import com.mogo.och.common.module.biz.common.socketmessage.OCHSocketMessageManager +import com.mogo.och.common.module.biz.constant.OchCommonConst +import com.mogo.och.common.module.voice.VoiceNotice.showNotice + +object TicketModel : IReceivedMsgListener, IMogoOnMessageListener { + + private val TAG = "TicketModel" + + private val currenStartList = mutableListOf() + + init { + + //监听乘客屏发来的消息 + CallerTelematicListenerManager.addListener(TAG, this) + OCHSocketMessageManager.registerSocketMessageListener( //监听核销乘客 + OCHSocketMessageManager.msgWriteOffPassengerType, + this + ) + } + + fun load(){ + + } + + // 收到局域网的核验信息 + override fun onReceivedMsg(type: Int, byteArray: ByteArray) { + if (OchCommonConst.BUSINESS_STRING == type) { + d(SceneConstant.M_BUS + BaseDPMsg.TAG, String(byteArray)) + val msg = GsonUtils.fromJson(String(byteArray), BaseDPMsg::class.java) + if (msg != null) { + if (msg.type == DPMsgType.TYPE_WRITEOFF_INFO.type) { + val writeOffMsg = GsonUtils.fromJson(String(byteArray), WriteOffMsg::class.java) + receiveWrteOffInfo(writeOffMsg) + } else if (msg.type == DPMsgType.TYPE_WRITEOFF_DEVICES_INFO.type) { + val writeOffMsg = GsonUtils.fromJson(String(byteArray), WriteOffDevicesMsg::class.java) + receiveWrteOffDevicesInfo(writeOffMsg) + } + } + } + } + + override fun target(): Class { + return WriteOffPassenger::class.java + } + + // 收到服务器的核验信息 + override fun onMsgReceived(passenger: WriteOffPassenger?) { + //进行播报 + i(SceneConstant.M_BUS + TAG, "passenger = " + GsonUtil.jsonFromObject(passenger)) + if(passenger==null||passenger.passengerSize==0){ + return + } + playPassenger( + passenger.passengerSize, + passenger.phone ?: "", + passenger.ticketName?:"", + passenger.orderNo?:"" + ) + } + + private fun receiveWrteOffInfo(writeOffMsg: WriteOffMsg?) { + if(writeOffMsg!=null) { + if (writeOffMsg.isScuccess != null) { + if (writeOffMsg.isScuccess == true) { // 核验成功 + if(writeOffMsg.ticketSize==null||writeOffMsg.ticketSize==0){ + return + } + playPassenger( + writeOffMsg.ticketSize?:0, + writeOffMsg.phone ?: "", + writeOffMsg.ticketName ?: "", + writeOffMsg.orderNo?:"" + ) + } else { // 核验失败 + saveMsgBox( + MsgBoxBean( + MsgBoxType.V2X, V2XMsg( + EventTypeEnumNew.TYPE_ABNORMAL_VERIFICATION.poiType, + writeOffMsg.failedReason ?: "", + EventTypeEnumNew.TYPE_ABNORMAL_VERIFICATION.tts, + "" + ) + ) + ) + } + } + } + } + + private fun receiveWrteOffDevicesInfo(writeOffMsg: WriteOffDevicesMsg) { + if (writeOffMsg.isConnectScanner != null) { + val reason = if (writeOffMsg.reason == null) "" else writeOffMsg.reason!! + if (writeOffMsg.isConnectScanner==true) { // 链接成功 + saveMsgBox( + MsgBoxBean( + MsgBoxType.V2X, + V2XMsg( + EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.poiType, + reason, + EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.tts, + "" + ) + ) + ) + } else { // 核验失败 + saveMsgBox( + MsgBoxBean( + MsgBoxType.V2X, + V2XMsg( + EventTypeEnumNew.TYPE_DEVICE_STATUS_ABNORMAL.poiType, + reason, + EventTypeEnumNew.TYPE_DEVICE_STATUS_ABNORMAL.tts, + "" + ) + ) + ) + } + } + } + + private fun playPassenger(ticketSize: Int,phone:String,ticketName:String,orderNo:String) { + + val key = "${orderNo}_${phone}_$ticketSize" + if (currenStartList.contains(key)) { + return + } + if(currenStartList.size>1000){ + currenStartList.clear() + } + currenStartList.add(key) + + if (ticketSize > 1) { //多人播报 "x人" ---》x人核验通过 + showNotice(ticketSize.toString() + "人核验通过", AIAssist.LEVEL3) + OrderModel.getInstance().sendWriteOffNumToClient(ticketSize.toString() + "人核验通过") + } else { //是 1 播放 "滴" 2022.11.09 改为: "核验通过" + showNotice("核验通过", AIAssist.LEVEL3) + OrderModel.getInstance().sendWriteOffNumToClient("核验通过") + } + + var tempPhone = phone + if (tempPhone.length > 8) { + //截取电话号码前三位 + val phoneNumPre = tempPhone.substring(0, 3) + //截取电话号码后四位 + val phoneNumFix = tempPhone.substring(7) + tempPhone = "$phoneNumPre****$phoneNumFix" + } + val content = "${ticketSize}张 $ticketName $tempPhone" + saveMsgBox(MsgBoxBean( + MsgBoxType.V2X, + V2XMsg( + EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.poiType, + content, + EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.tts, + "" + ) + ) + ) + } + +} \ No newline at end of file diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt index 2ae8465486..7cc7e56956 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerManager.kt @@ -198,7 +198,7 @@ object ScannerManager : OnSerialPortListener, OnDeviceVerificationListener(), IR * 打开设备后数据异常 */ private fun sendMessage2DriverWriteOffInfo(message:String){ - val msg = WriteOffMsg(false, "", 0, "", message) + val msg = WriteOffMsg(false, "", 0, "", message,"") CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) CallerTelematicManager.sendMsgToServer( OchCommonConst.BUSINESS_STRING, diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt index 6e4944fae1..fce605296e 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt @@ -49,7 +49,7 @@ object TicketModel : StateChangeListener { val ticketInfo = "核销成功:票种名称:${data.data.ticketName},车票数量:${data.data.ticketSize},预留手机号:${data.data.phone},时间:${data.data.remainingTimes}" CallerLogger.d(M_BUS_P + TAG, ticketInfo) - sendMessage2DriverSuccess(data.data) + sendMessage2DriverSuccess(data.data,orderNo) } override fun onFail(code: Int, msg: String?) { @@ -70,7 +70,7 @@ object TicketModel : StateChangeListener { } private fun sendMessage2Driver(message:String){ - val msg = WriteOffMsg(false, "", 0, "", message) + val msg = WriteOffMsg(false, "", 0, "", "",message) CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) CallerTelematicManager.sendMsgToServer( OchCommonConst.BUSINESS_STRING, @@ -78,8 +78,8 @@ object TicketModel : StateChangeListener { ) ScannerChainLogManager.writeChainLog(TAG +"sendMessage2Driver","核验失败:message:${message}") } - private fun sendMessage2DriverSuccess(message: PassengerWriteOffResponse.Result){ - val msg = WriteOffMsg(true, message.phone, message.ticketSize, message.ticketName, "") + private fun sendMessage2DriverSuccess(message: PassengerWriteOffResponse.Result,orderNo: String){ + val msg = WriteOffMsg(true, message.phone, message.ticketSize, message.ticketName, "",orderNo) CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) CallerTelematicManager.sendMsgToServer( OchCommonConst.BUSINESS_STRING, From 8f01f33910415c5fdb9fa330adddf3fd402e620f Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 17 Jan 2024 10:18:17 +0800 Subject: [PATCH 7/8] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[bug=20=E5=A4=84?= =?UTF-8?q?=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../mogo/och/bus/ui/adapter/SwitchLineAdapter.kt | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt index 741fd6480e..0bf345177a 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/ui/adapter/SwitchLineAdapter.kt @@ -62,10 +62,16 @@ class SwitchLineAdapter( line.taskList, object : SwitchLineTaskAdapter.TaskItemClickListener { override fun onItemClick(position: Int,isCheck:Boolean) { - if(isCheck) { - checkLineId = line.lineId - checkTaskId = line.taskList[position].id - }else{ + try { + if(isCheck) { + checkLineId = line.lineId + checkTaskId = line.taskList[position].id + }else{ + checkLineId=-1 + checkTaskId=-1 + } + }catch (e:Exception){ + e.printStackTrace() checkLineId=-1 checkTaskId=-1 } From f30802741fe7dd09821a753e08c0aafe7f10a2c6 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 17 Jan 2024 15:30:44 +0800 Subject: [PATCH 8/8] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[bug=20=E5=A4=B1?= =?UTF-8?q?=E8=B4=A5=E5=A4=84=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/bus/model/TicketModel.kt | 1 + .../passenger/manager/scnner/ScannerManager.kt | 1 + .../passenger/manager/scnner/ScannerStateView.kt | 3 +++ .../och/shuttle/passenger/model/TicketModel.kt | 16 ++++++++++++++-- 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt index 8f1c7a8c6c..47a51d7d6f 100644 --- a/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt +++ b/OCH/shuttle/driver/src/main/java/com/mogo/och/bus/model/TicketModel.kt @@ -93,6 +93,7 @@ object TicketModel : IReceivedMsgListener, IMogoOnMessageListener { + CallerLogger.d(M_BUS_P + TAG, "服务绑定成功") bindStatus = BindStatus.BIND_SUCCEED serialPortManager.openVerificationDevice(this) } diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerStateView.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerStateView.kt index 5183a494a2..a1388b6280 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerStateView.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/manager/scnner/ScannerStateView.kt @@ -4,6 +4,8 @@ import android.content.Context import android.util.AttributeSet import android.view.View import androidx.appcompat.widget.AppCompatImageView +import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger +import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant import com.mogo.och.common.module.R class ScannerStateView @JvmOverloads constructor( @@ -19,6 +21,7 @@ class ScannerStateView @JvmOverloads constructor( } override fun stateChange(newBindValue: BindStatus, newOpentValue: OpenStatus) { + CallerLogger.d(SceneConstant.M_BUS_P + TAG, "newBindValue = $newBindValue newOpentValue = $newOpentValue") when (newBindValue) { BindStatus.BIND_SUCCEED -> { // 绑定成功 diff --git a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt index fce605296e..7b87149914 100644 --- a/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/model/TicketModel.kt @@ -61,7 +61,19 @@ object TicketModel : StateChangeListener { 1008 -> {sendMessage2Driver("车票剩余可用次数为0")} 6001 -> {sendMessage2Driver("二维码已过期")} 1012 -> {sendMessage2Driver("当前用户下单路线非当前的车辆所属公司")} - else -> {} + else -> { + when (msg) { + "6002" -> {sendMessage2Driver("同一订单核销间隔时间需大于5分钟")} + "1009" -> {sendMessage2Driver("车票所选乘车日期非今日")} + "1006" -> {sendMessage2Driver("车票路线信息与当前车辆执行任务的路线信息不符合")} + "1008" -> {sendMessage2Driver("车票剩余可用次数为0")} + "6001" -> {sendMessage2Driver("二维码已过期")} + "1012" -> {sendMessage2Driver("当前用户下单路线非当前的车辆所属公司")} + else -> { + sendMessage2Driver(msg?:"") + } + } + } } } @@ -70,7 +82,7 @@ object TicketModel : StateChangeListener { } private fun sendMessage2Driver(message:String){ - val msg = WriteOffMsg(false, "", 0, "", "",message) + val msg = WriteOffMsg(false, "", 0, "", message,"") CallerLogger.d(M_BUS_P + TAG, "sendTaskDetailsToClients = " + GsonUtils.toJson(msg)) CallerTelematicManager.sendMsgToServer( OchCommonConst.BUSINESS_STRING,