From 726d5cc8d68b4187b2520abcad8e4c95c7597bfb Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 12 Jan 2024 15:20:57 +0800 Subject: [PATCH 01/22] =?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 02/22] =?UTF-8?q?[6.2.8]=E5=A2=9E=E5=8A=A0=E6=A0=B8?= =?UTF-8?q?=E9=94=80Enum?= 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 03/22] =?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 04/22] =?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 05/22] =?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 06/22] =?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 07/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[bug=20?= =?UTF-8?q?=E5=A4=84=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 1789c3c0624373ab8d09eea0cb117267d5e12246 Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 16 Jan 2024 20:27:17 +0800 Subject: [PATCH 08/22] =?UTF-8?q?[6.2.8][View=E7=82=B9=E5=87=BB=E6=80=81]?= =?UTF-8?q?=20=E6=B7=BB=E5=8A=A0View#setBackgroundResource=E6=96=B9?= =?UTF-8?q?=E6=B3=95=E7=9A=84hook?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lancet/ViewPressedStateLancet.java | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java b/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java index 68cd5c5040..c88dc50449 100644 --- a/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java +++ b/app/src/main/java/com/mogo/launcher/lancet/ViewPressedStateLancet.java @@ -214,6 +214,41 @@ public class ViewPressedStateLancet { } } + @TargetClass(value = "android.view.View", scope = Scope.ALL) + @TargetMethod(methodName = "setBackgroundResource") + @ReplaceInvoke + public static void setBackgroundResource(View view, int resId) { + if (view == null) { + return; + } + if (!view.isLongClickable() && !view.isClickable()) { + view.setBackgroundResource(resId); + return; + } + float alpha = getAlpha(view); + if (alpha >= 0) { + Drawable drawable = null; + try { + drawable = ContextCompat.getDrawable(view.getContext(), resId); + } catch (Throwable ignore) {} + Drawable replaced = checkAndReplaceDrawable(drawable, alpha); + if (replaced != null) { + view.setTag(R.id.click_pressed_attr_replaced, drawable); + int paddingLeft = view.getPaddingLeft(); + int paddingRight = view.getPaddingRight(); + int paddingTop = view.getPaddingTop(); + int paddingBottom = view.getPaddingBottom(); + view.setBackground(replaced); + view.setPadding(paddingLeft, paddingTop, paddingRight, paddingBottom); + } else { + view.setBackground(drawable); + } + } else { + view.setBackgroundResource(resId); + } + } + + @TargetClass(value = "android.widget.ImageView", scope = Scope.ALL) @TargetMethod(methodName = "setImageDrawable") @ReplaceInvoke From f30802741fe7dd09821a753e08c0aafe7f10a2c6 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 17 Jan 2024 15:30:44 +0800 Subject: [PATCH 09/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[bug=20?= =?UTF-8?q?=E5=A4=B1=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, From 96cdd86b10007e9c0faa8d005ee80e0b929c79d1 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Wed, 17 Jan 2024 18:01:06 +0800 Subject: [PATCH 10/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E5=A4=84=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/mogo/och/bus/model/TicketModel.kt | 4 ++-- 1 file changed, 2 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 47a51d7d6f..753047df86 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 @@ -46,7 +46,7 @@ object TicketModel : IReceivedMsgListener, IMogoOnMessageListener { - // 绑定成功 - when (newOpentValue) { - OpenStatus.Open -> { - //成功打开 - visibility = View.GONE - } - OpenStatus.Unopen -> { - // 打开失败 - setImageResource(R.drawable.driver_connect_statis) - } - } + when (newOpentValue) { + OpenStatus.Open -> { + //成功打开 + visibility = View.GONE } - else ->{ - // 绑定失败 + OpenStatus.Unopen -> { + // 打开失败 setImageResource(R.drawable.driver_connect_statis) } } diff --git a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/provider/M2StatusViewManager.java b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java similarity index 55% rename from OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/provider/M2StatusViewManager.java rename to OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java index 49b0288cd3..6c11478908 100644 --- a/OCH/shuttle/passenger/src/main/java/m2/com/mogo/och/shuttle/passenger/provider/M2StatusViewManager.java +++ b/OCH/shuttle/passenger/src/main/java/com/mogo/och/shuttle/passenger/provider/StatusViewManager.java @@ -3,6 +3,9 @@ package com.mogo.och.shuttle.passenger.provider; import android.content.Context; import android.view.View; +import com.mogo.eagle.core.data.config.FunctionBuildConfig; +import com.mogo.eagle.core.utilcode.mogo.AppIdentityModeUtils; +import com.mogo.och.shuttle.passenger.ui.BusPStatusBarView; import com.mogo.och.shuttle.passenger.ui.widget.M2StatusBarView; import androidx.annotation.NonNull; @@ -17,13 +20,16 @@ import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; * 根据优先级控制显示 window view. */ @Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class M2StatusViewManager implements IStatusViewLayout { - - +public class StatusViewManager implements IStatusViewLayout { @NonNull @Override public View getStatusView(Context context) { - return new M2StatusBarView(context); + if (AppIdentityModeUtils.isM2(FunctionBuildConfig.appIdentityMode)) { + return new M2StatusBarView(context); + } else if (AppIdentityModeUtils.isJL(FunctionBuildConfig.appIdentityMode)) { + return new BusPStatusBarView(context); + } + return new BusPStatusBarView(context); } @Override diff --git a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/provider/B1StatusViewManager.java b/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/provider/B1StatusViewManager.java deleted file mode 100644 index e29ef04b47..0000000000 --- a/OCH/shuttle/passenger/src/main/java/jinlv/com/mogo/och/shuttle/passenger/provider/B1StatusViewManager.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.mogo.och.shuttle.passenger.provider; - -import android.content.Context; -import android.view.View; - -import com.mogo.och.shuttle.passenger.ui.BusPStatusBarView; -import androidx.annotation.NonNull; - -import com.alibaba.android.arouter.facade.annotation.Route; -import com.mogo.eagle.core.data.constants.MogoServicePaths; -import com.mogo.eagle.core.function.api.hmi.view.IStatusViewLayout; - -/** - * @author congtaowang - * @since 2020-01-06 - *

- * 根据优先级控制显示 window view. - */ -@Route( path = MogoServicePaths.PATH_STATUS_VIEW_MANAGER ) -public class B1StatusViewManager implements IStatusViewLayout { - - - @NonNull - @Override - public View getStatusView(Context context) { - return new BusPStatusBarView(context); - } - - @Override - public void init(Context context) { - - } -} 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 f48c5371bc..0551cdb433 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 @@ -49,7 +49,7 @@ 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:src="@drawable/driver_connect_statis" android:layout_gravity="center" android:layout_marginStart="@dimen/dp_40"/> 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 a2d86ad7bd..f05bbb8358 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 @@ -30,6 +30,17 @@ android:layout_gravity="center" android:layout_marginStart="@dimen/dp_32" /> + + Date: Thu, 18 Jan 2024 10:47:11 +0800 Subject: [PATCH 12/22] [5.2.8] [shuttle_p] [status bar ] --- .../main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml b/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml index fff8c5c193..3c9f183cb0 100644 --- a/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml +++ b/OCH/shuttle/passenger/src/main/res/jinlv/layout/shuttle_p_jl_base_fragment.xml @@ -16,12 +16,6 @@ app:layout_constraintTop_toTopOf="parent" app:layout_constraintBottom_toBottomOf="parent"/> - - Date: Thu, 18 Jan 2024 15:13:09 +0800 Subject: [PATCH 13/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E9=AA=8C?= =?UTF-8?q?=E7=A5=A8=E6=88=90=E5=8A=9F=E5=B1=80=E5=9F=9F=E7=BD=91=E5=86=85?= =?UTF-8?q?=E6=94=BE=E5=BC=83=E6=B6=88=E6=81=AF=20]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/mogo/och/bus/model/TicketModel.kt | 23 +++++-------------- 1 file changed, 6 insertions(+), 17 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 753047df86..8d634c146d 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 @@ -27,8 +27,6 @@ object TicketModel : IReceivedMsgListener, IMogoOnMessageListener() - init { //监听乘客屏发来的消息 @@ -86,12 +84,12 @@ object TicketModel : IReceivedMsgListener, IMogoOnMessageListener1000){ - currenStartList.clear() - } - currenStartList.add(key) - if (ticketSize > 1) { //多人播报 "x人" ---》x人核验通过 showNotice(ticketSize.toString() + "人核验通过", AIAssist.LEVEL3) OrderModel.getInstance().sendWriteOffNumToClient(ticketSize.toString() + "人核验通过") From d36b317562193ca680677700507ea93334230b0e Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 18 Jan 2024 15:37:10 +0800 Subject: [PATCH 14/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E9=94=99?= =?UTF-8?q?=E8=AF=AF=E6=97=A5=E5=BF=97]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/shuttle/passenger/model/TicketModel.kt | 4 ++++ .../och/shuttle/passenger/network/PassengerServiceManager.kt | 4 ++++ 2 files changed, 8 insertions(+) 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 7b87149914..3e4f325df4 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 @@ -77,6 +77,10 @@ object TicketModel : StateChangeListener { } } + override fun onError() { + super.onError() + ScannerChainLogManager.writeChainLog(TAG +"onError","接口请求错误orderNo:${orderNo}__uid:${uid}") + } } ) } 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 555c6de886..72c6705f0c 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 @@ -16,6 +16,7 @@ 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 com.mogo.och.shuttle.passenger.manager.scnner.ScannerChainLogManager /** * Created on 2022/3/31 @@ -24,6 +25,8 @@ object PassengerServiceManager { private var driverSnCache = "" + private val TAG = "PassengerServiceManager" + private var mShuttleBusPassengerServiceApi = MoGoRetrofitFactory.getInstance(OchCommonConst.getShuttleUrl()).create( ServiceApi::class.java) @@ -94,6 +97,7 @@ object PassengerServiceManager { ticketInfo.sn = driverAppSn if(StringUtils.isEmpty(driverAppSn)){ ToastUtils.showShort("请链接司机屏${ticketInfo.uid}") + ScannerChainLogManager.writeChainLog(TAG +"onError","无司机屏sn请处理") return } mShuttleBusPassengerServiceApi.writeOffTicket( From 7e95e4de9228a2268bd84057fdf59eebe2b03fee Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 18 Jan 2024 15:39:19 +0800 Subject: [PATCH 15/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E5=8F=B7=E4=BF=AE=E6=94=B9]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- gradle.properties | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/gradle.properties b/gradle.properties index dc6c29b175..74ab6316ee 100644 --- a/gradle.properties +++ b/gradle.properties @@ -150,28 +150,28 @@ MATRIX_VERSION=2.0.8 # 测试模式司机端版本号 NOOP_DRIVER_VERSION=3.2.0 # 公交模式司机端版本号 -BUS_DRIVER_VERSION=6.2.6 +BUS_DRIVER_VERSION=6.2.8 # 公交模式乘客端端版本号 -BUS_PASSENGER_VERSION=5.2.6 +BUS_PASSENGER_VERSION=5.2.8 # 接驳模式司机端版本号 -SHUTTLE_DRIVER_VERSION=6.2.6 +SHUTTLE_DRIVER_VERSION=6.2.8 # 接驳模式乘客端端版本号 -SHUTTLE_PASSENGER_VERSION=5.2.6 +SHUTTLE_PASSENGER_VERSION=5.2.8 # 出租车模式司机端版本号 -TAXI_DRIVER_VERSION=6.2.6 +TAXI_DRIVER_VERSION=6.2.8 # 出租车模式乘客端端版本号 -TAXI_PASSENGER_VERSION=5.2.6 +TAXI_PASSENGER_VERSION=5.2.8 # 出租车模式司机端版本号 -TAXIUNMANNED_DRIVER_VERSION=6.2.6 +TAXIUNMANNED_DRIVER_VERSION=6.2.8 # 出租车模式乘客端端版本号 -TAXIUNMANNED_PASSENGER_VERSION=5.2.6 +TAXIUNMANNED_PASSENGER_VERSION=5.2.8 # 包车模式司机端版本号 -CHARTER_DRIVER_VERSION=6.2.6 +CHARTER_DRIVER_VERSION=6.2.8 # 包车模式乘客端端版本号 -CHARTER_PASSENGER_VERSION=5.2.6 +CHARTER_PASSENGER_VERSION=5.2.8 # 支持云控清扫车模式司机端版本号 -SWEEPERCLOUD_DRIVER_VERSION=6.2.6 +SWEEPERCLOUD_DRIVER_VERSION=6.2.8 # 清扫车模式司机端版本号 -SWEEPEROPERATE_DRIVER_VERSION=6.2.6 +SWEEPEROPERATE_DRIVER_VERSION=6.2.8 From 657fb9eb29fad8cbc028c2cc015e2be33b7e7a46 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Thu, 18 Jan 2024 17:10:48 +0800 Subject: [PATCH 16/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E7=BD=91?= =?UTF-8?q?=E7=BB=9C=E6=8E=A5=E5=8F=A3=E5=A4=B1=E8=B4=A5=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E5=A4=84=E7=90=86]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/module/biz/network/OchCommonServiceCallback.java | 3 +++ .../och/common/module/biz/network/OchCommonSubscribeImpl.kt | 2 +- .../com/mogo/och/shuttle/passenger/model/TicketModel.kt | 6 +++--- .../shuttle/passenger/network/PassengerServiceManager.kt | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceCallback.java b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceCallback.java index 8433def5f0..7aa1d80dc2 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceCallback.java +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonServiceCallback.java @@ -14,5 +14,8 @@ public interface OchCommonServiceCallback< T > { default void onError() { + } + default void onError(String msg) { + } } diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonSubscribeImpl.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonSubscribeImpl.kt index 01f08eaaee..3345bd2980 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonSubscribeImpl.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/biz/network/OchCommonSubscribeImpl.kt @@ -25,7 +25,7 @@ class OchCommonSubscribeImpl( override fun onError(e: Throwable) { super.onError(e) CallerLogger.e("$flavorTag$TAG", "$apiName: onError() ${e.message}") - callback?.onError() + callback?.onError("$apiName: onError() ${e.message}") } override fun onError(message: String, code: Int) { 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 3e4f325df4..dd1c902a78 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 @@ -77,9 +77,9 @@ object TicketModel : StateChangeListener { } } - override fun onError() { - super.onError() - ScannerChainLogManager.writeChainLog(TAG +"onError","接口请求错误orderNo:${orderNo}__uid:${uid}") + override fun onError(message: String) { + ScannerChainLogManager.writeChainLog(TAG +"onError","/och-vehicle/api/scanner/device/writeOff接口请求错误orderNo:${orderNo}__uid:${uid}__reaseon:${message}") + sendMessage2Driver("网络错误") } } ) 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 72c6705f0c..53014e6a9b 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 @@ -106,7 +106,7 @@ object PassengerServiceManager { ticketInfo ) .transformTry() - .subscribe(OchCommonSubscribeImpl(context, callback, "queryDriverOperationStatus")) + .subscribe(OchCommonSubscribeImpl(context, callback, "writeOff")) } } \ No newline at end of file From c0d8a47cc322e976c1d210724064c6f5eff26af3 Mon Sep 17 00:00:00 2001 From: renwj Date: Thu, 18 Jan 2024 20:24:20 +0800 Subject: [PATCH 17/22] =?UTF-8?q?[6.2.8][=E5=BA=94=E7=94=A8=E5=8D=87?= =?UTF-8?q?=E7=BA=A7]=20=E4=BC=98=E5=8C=96=E5=8D=87=E7=BA=A7=E9=80=BB?= =?UTF-8?q?=E8=BE=91=EF=BC=8C=E9=98=B2=E6=AD=A2=E9=87=8D=E5=A4=8D=E4=B8=8B?= =?UTF-8?q?=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../upgrade/UpgradeAppNetWorkManager.kt | 6 ++++++ .../upgrade/provider/MoGoUpgradeProviderImpl.kt | 13 +++++++++++++ .../function/api/upgrade/IMoGoUpgradeProvider.kt | 2 ++ 3 files changed, 21 insertions(+) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt index 660526fd19..bcafa4b272 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt @@ -55,6 +55,12 @@ class UpgradeAppNetWorkManager private constructor() { fun getAppUpgradeInfo(context: Context?, mac: String, screenType: String) { upgradeJob?.safeCancel() scope.launch { + if (provider?.isDownloading() == true) { + withContext(Dispatchers.Main) { + ToastUtils.showShort("正在下载最新版本,不要重复下载...") + } + return@launch + } val sn = SharedPrefsMgr.getInstance().sn val macAddress = mac //"48:b0:2d:4d:31:7f" val type = screenType //"10" diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt index c0eaca9ef1..af3d343a5c 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/provider/MoGoUpgradeProviderImpl.kt @@ -18,10 +18,13 @@ import com.zhjt.mogo_core_function_devatools.upgrade.provider.db.vo.UpgradeRecor import com.zhjt.service.chain.* import java.util.TreeMap import java.util.concurrent.TimeUnit +import java.util.concurrent.atomic.AtomicBoolean @Route(path = MogoServicePaths.PATH_UPGRADE_TYPE_API) class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { + private val isDownloading by lazy { AtomicBoolean(false) } + override fun init(context: Context?) {} override suspend fun recordUpgradeRecord(sn: String, mac: String, type: String?, isSupportPatch: Boolean) { @@ -80,6 +83,8 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { onUpgradeRecordLinkLog(mapOf("upgrade_download_start" to record)) } catch (t: Throwable) { t.printStackTrace() + } finally { + isDownloading.set(true) } } @@ -100,6 +105,8 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { onUpgradeRecordLinkLog(mapOf("upgrade_download_failed" to record)) } catch (t: Throwable) { t.printStackTrace() + } finally { + isDownloading.set(false) } } @@ -110,6 +117,8 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { onUpgradeRecordLinkLog(mapOf("upgrade_download_success" to record)) } catch (t: Throwable) { t.printStackTrace() + } finally { + isDownloading.set(false) } } @@ -297,6 +306,10 @@ class MoGoUpgradeProviderImpl: IMoGoUpgradeProvider { } == null } + override fun isDownloading(): Boolean { + return isDownloading.get() + } + private fun getType(type: Int): Type = if (type == 0) FULL else PATCH diff --git a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/upgrade/IMoGoUpgradeProvider.kt b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/upgrade/IMoGoUpgradeProvider.kt index 3eea1a10d3..79230b7a14 100644 --- a/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/upgrade/IMoGoUpgradeProvider.kt +++ b/core/mogo-core-function-api/src/main/java/com/mogo/eagle/core/function/api/upgrade/IMoGoUpgradeProvider.kt @@ -49,4 +49,6 @@ interface IMoGoUpgradeProvider: IProvider { suspend fun hasUpgradeRecord(): Boolean suspend fun isNeedGoPatchUpgrade(): Boolean + + fun isDownloading(): Boolean } \ No newline at end of file From 740ce6de057c9ae733ae1fefc2de1e35774320c8 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 19 Jan 2024 11:46:47 +0800 Subject: [PATCH 18/22] =?UTF-8?q?[5.2.8]=20[temp]=20[v2x=20=E4=B8=A4?= =?UTF-8?q?=E7=A7=8D=E6=83=85=E5=86=B5]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt | 5 +++++ .../hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt | 5 +++++ .../src/main/res/drawable/bg_temp_v2x_success.xml | 6 ++++++ .../java/com/mogo/eagle/core/data/enums/EventTypeEnumNew.kt | 2 +- 4 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_temp_v2x_success.xml diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt index 905b83cff0..86dc79f4ec 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxBubbleAdapter.kt @@ -206,6 +206,11 @@ class DriverMsgBoxBubbleAdapter(private val activity: Activity) : RecyclerView.A holder.clV2XLayout.setOnClickListener { CallerMsgBoxEventListenerManager.invokeBubbleV2XListener(msgBoxBean) } + if(v2XMsg.type== EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.poiType||v2XMsg.type == EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.poiType){ + holder.itemView.setBackgroundResource(R.drawable.bg_temp_v2x_success) + }else{ + holder.itemView.setBackgroundResource(R.drawable.bg_msg_box_v2x) + } if(v2XMsg.communicationType.isNullOrEmpty()){ holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type) }else{ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt index b35f490ca8..3602ef9503 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/msgbox/adapter/DriverMsgBoxListAdapter.kt @@ -620,6 +620,11 @@ class DriverMsgBoxListAdapter(private val activity: Activity) : TimeUtils.millis2String(it[position].timestamp, getHourMinFormat()) holder.tvV2XContent.text = v2XMsg.content holder.ivV2XImage.setImageDrawable(ResourcesCompat.getDrawable(activity.resources,EventTypeEnumNew.getUpdateIconRes(v2XMsg.type),null)) + if(v2XMsg.type== EventTypeEnumNew.TYPE_VERIFICATION_SUCCESSFUL.poiType||v2XMsg.type == EventTypeEnumNew.TYPE_DEVICE_STATUS_NORMAL.poiType){ + holder.itemView.setBackgroundResource(R.drawable.bg_temp_v2x_success) + }else{ + holder.itemView.setBackgroundResource(R.drawable.bg_msg_box_v2x) + } if(v2XMsg.communicationType.isNullOrEmpty()){ holder.tvV2XTitle.text = EventTypeEnumNew.getEventTitle(v2XMsg.type) }else{ diff --git a/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_temp_v2x_success.xml b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_temp_v2x_success.xml new file mode 100644 index 0000000000..1da117f9f0 --- /dev/null +++ b/core/function-impl/mogo-core-function-hmi/src/main/res/drawable/bg_temp_v2x_success.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file 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 05be71b547..fe10837554 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 @@ -576,7 +576,7 @@ enum class EventTypeEnumNew( "DEVICE_STATUS_NORMAL", "核销设备正常", "详情%s", - R.drawable.icon_default, + R.drawable.icon_warning_v2x_verification_successful, "详情%s", "详情%s" ), From ca866be2721d9fe1bf7fa1595262da938092b4fc Mon Sep 17 00:00:00 2001 From: renwj Date: Fri, 19 Jan 2024 11:50:28 +0800 Subject: [PATCH 19/22] =?UTF-8?q?[6.2.8][=E5=BA=94=E7=94=A8=E5=8D=87?= =?UTF-8?q?=E7=BA=A7]=20=E4=BB=A3=E7=A0=81=E9=80=BB=E8=BE=91=E4=BC=98?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../upgrade/UpgradeAppNetWorkManager.kt | 6 ------ .../function/hmi/ui/tools/UpgradeAppDialog.kt | 16 +++++++++++++--- .../function/hmi/ui/widget/SystemVersionView.kt | 7 +++++++ 3 files changed, 20 insertions(+), 9 deletions(-) diff --git a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt index bcafa4b272..660526fd19 100644 --- a/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt +++ b/core/function-impl/mogo-core-function-devatools/src/main/java/com/zhjt/mogo_core_function_devatools/upgrade/UpgradeAppNetWorkManager.kt @@ -55,12 +55,6 @@ class UpgradeAppNetWorkManager private constructor() { fun getAppUpgradeInfo(context: Context?, mac: String, screenType: String) { upgradeJob?.safeCancel() scope.launch { - if (provider?.isDownloading() == true) { - withContext(Dispatchers.Main) { - ToastUtils.showShort("正在下载最新版本,不要重复下载...") - } - return@launch - } val sn = SharedPrefsMgr.getInstance().sn val macAddress = mac //"48:b0:2d:4d:31:7f" val type = screenType //"10" diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/UpgradeAppDialog.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/UpgradeAppDialog.kt index 044bf86256..2d366c507f 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/UpgradeAppDialog.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/tools/UpgradeAppDialog.kt @@ -69,15 +69,25 @@ class UpgradeAppDialog(context: Context) : BaseFloatDialog(context), LifecycleOb verticalLineView = findViewById(R.id.view_vertical_line) confirmForceTv = findViewById(R.id.tv_upgrade_confirm_force) - confirmTv?.setOnClickListener { + confirmTv?.onClick { + val provider = CallerDevaToolsManager.upgradeProvider() + if (provider?.isDownloading() == true) { + ToastUtils.showShort("正在下载最新版本,请稍候再试...") + return@onClick + } downloadApp() } - cancelTv?.setOnClickListener { + cancelTv?.onClick { dismiss() } - confirmForceTv?.setOnClickListener { + confirmForceTv?.onClick { + val provider = CallerDevaToolsManager.upgradeProvider() + if (provider?.isDownloading() == true) { + ToastUtils.showShort("正在下载最新版本,请稍候再试...") + return@onClick + } downloadApp() } diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt index 3372261d27..41b7ba8c83 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/hmi/ui/widget/SystemVersionView.kt @@ -26,6 +26,8 @@ import com.mogo.eagle.core.utilcode.mogo.logger.scene.SceneConstant.Companion.M_ import com.mogo.eagle.core.utilcode.util.* import com.mogo.map.MogoData.Companion.mogoMapData import kotlinx.android.synthetic.main.view_system_version.view.* +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.withContext import system_master.SsmInfo import system_master.SystemStatusInfo @@ -69,6 +71,11 @@ class SystemVersionView @JvmOverloads constructor( //鹰眼版本视图点击事件 ivPadVersion.setOnClickListener { hmiAction("$M_HMI$$TAG", "pad version view clicked") + val provider = CallerDevaToolsManager.upgradeProvider() + if (provider?.isDownloading() == true) { + ToastUtils.showShort("正在下载最新版本,请稍候再试...") + return@setOnClickListener + } CallerDevaToolsManager.queryAppUpgrade() } From 79fa0c77ed37b5252d51378816a807414f9b43ff Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 19 Jan 2024 15:09:37 +0800 Subject: [PATCH 20/22] =?UTF-8?q?[bugfix]=20[=E5=9F=9F=E5=90=8D=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../module/wigets/media/MediaDataSourceManager.kt | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt index 02c4b79ee9..03577124d4 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaDataSourceManager.kt @@ -40,9 +40,7 @@ object MediaDataSourceManager { private var mRetryCount = 0 - private val mNetworkService: IMediaNetworkApi = - MoGoRetrofitFactory.getInstance(OchCommonConst.getEagleMisUrl()) - .create(IMediaNetworkApi::class.java) + private var mNetworkService: IMediaNetworkApi?=null private var driverSnCache = "" @@ -78,6 +76,7 @@ object MediaDataSourceManager { val isSassProject = isSassProject() MediaPlayLogger.printInfoLog("init, 初始化环境 isSassProject=$isSassProject") if (isSassProject) { + mNetworkService = MoGoRetrofitFactory.getInstance(OchCommonConst.getEagleMisUrl()).create(IMediaNetworkApi::class.java) MediaPlayLogger.printInfoLog("init, 开始检查后台配置数据") startGetMediaDataSourceLoop() } else { @@ -183,10 +182,10 @@ object MediaDataSourceManager { private fun getMediaDataFromMis(callback: OchCommonServiceCallback) { MediaPlayLogger.printInfoLog("getMediaDataFromMis:准备发送请求,driverSn=$driverSn") - mNetworkService.queryMediaDataFromMis( - sn = driverSn, - screenType = "2", - ).transformTry().subscribe(OchCommonSubscribeImpl(context, callback, "getMediaDataFromMis")) + mNetworkService + ?.queryMediaDataFromMis(sn = driverSn, screenType = "2",) + ?.transformTry() + ?.subscribe(OchCommonSubscribeImpl(context, callback, "getMediaDataFromMis")) } private fun getMediaDataFromLocalConfig(): List { From daa0318fc04e130a4409ffd2e0d766d68dc5e4c8 Mon Sep 17 00:00:00 2001 From: yangyakun Date: Fri, 19 Jan 2024 15:28:41 +0800 Subject: [PATCH 21/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[=E6=96=B0?= =?UTF-8?q?=E7=9A=84=E9=94=99=E8=AF=AF=E7=B1=BB=E5=9E=8B]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/mogo/och/shuttle/passenger/model/TicketModel.kt | 2 ++ 1 file changed, 2 insertions(+) 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 dd1c902a78..250d5ecd65 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 @@ -57,6 +57,7 @@ object TicketModel : StateChangeListener { when (code) { 6002 -> {sendMessage2Driver("同一订单核销间隔时间需大于5分钟")} 1009 -> {sendMessage2Driver("车票所选乘车日期非今日")} + 1005 -> {sendMessage2Driver("车辆未登录、或没有任务")} 1006 -> {sendMessage2Driver("车票路线信息与当前车辆执行任务的路线信息不符合")} 1008 -> {sendMessage2Driver("车票剩余可用次数为0")} 6001 -> {sendMessage2Driver("二维码已过期")} @@ -65,6 +66,7 @@ object TicketModel : StateChangeListener { when (msg) { "6002" -> {sendMessage2Driver("同一订单核销间隔时间需大于5分钟")} "1009" -> {sendMessage2Driver("车票所选乘车日期非今日")} + "1005" -> {sendMessage2Driver("车辆未登录、或没有任务")} "1006" -> {sendMessage2Driver("车票路线信息与当前车辆执行任务的路线信息不符合")} "1008" -> {sendMessage2Driver("车票剩余可用次数为0")} "6001" -> {sendMessage2Driver("二维码已过期")} From e033fe412fc88fc4553b8a210e4954c10b6c3b1b Mon Sep 17 00:00:00 2001 From: yangyakun Date: Mon, 22 Jan 2024 15:27:04 +0800 Subject: [PATCH 22/22] =?UTF-8?q?[5.2.8]=20[shuttle=5Fp]=20[eb5=20?= =?UTF-8?q?=E5=8F=8C=E5=B1=8F=20=E4=B8=BBActivity=20=E4=BC=9Apause]?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../wigets/media/MediaPlayerActivity.kt | 84 +++++++++++++++++++ .../wigets/media/MediaPlayerFragment.kt | 2 +- .../function/main/MainLauncherActivity.java | 5 ++ 3 files changed, 90 insertions(+), 1 deletion(-) diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerActivity.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerActivity.kt index 11e0ab9edb..3687df24a3 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerActivity.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerActivity.kt @@ -1,12 +1,26 @@ package com.mogo.och.common.module.wigets.media +import android.Manifest +import android.app.ActivityOptions +import android.content.Intent +import android.content.pm.PackageManager import android.os.Bundle +import android.provider.Settings +import android.view.Display import androidx.appcompat.app.AppCompatActivity +import androidx.core.content.ContextCompat +import com.mogo.eagle.core.function.main.MainLauncherActivity +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.ActivityUtils import com.mogo.eagle.core.utilcode.util.BarUtils import com.mogo.och.common.module.R +import com.mogo.och.common.module.utils.RxUtils class MediaPlayerActivity : AppCompatActivity() { + private val TAG = "MediaPlayerActivity" + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_video_player) @@ -15,4 +29,74 @@ class MediaPlayerActivity : AppCompatActivity() { .commitAllowingStateLoss() BarUtils.hideStatusBarAndSticky(this.window) } + + override fun onStart() { + super.onStart() + i(SceneConstant.M_BUS_P + TAG, "onResume") + } + + override fun onResume() { + super.onResume() + i(SceneConstant.M_BUS_P + TAG, "onResume") + checkPermissionSelf() + } + + override fun onPause() { + super.onPause() + i(SceneConstant.M_BUS_P + TAG, "onResume") + } + + override fun onStop() { + super.onStop() + i(SceneConstant.M_BUS_P + TAG, "onResume") + } + + fun checkPermissionSelf(){ + i(SceneConstant.M_BUS_P + TAG, "checkPermissionSelf") + val isAllGranted: Boolean = checkPermissionAllGranted( + arrayOf( + Manifest.permission.RECORD_AUDIO, // Manifest.permission.CAMERA, + Manifest.permission.BLUETOOTH, + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE, + Manifest.permission.ACCESS_LOCATION_EXTRA_COMMANDS, + Manifest.permission.ACCESS_FINE_LOCATION + ) + ) + if (isAllGranted&&Settings.canDrawOverlays(this)) { + restartActivity() + return + } + RxUtils.createSubscribe { + checkPermissionSelf() + } + } + + fun restartActivity(){ + val activityList = ActivityUtils.getActivityList() + activityList.forEach { + if (it is MainLauncherActivity) { + i(SceneConstant.M_BUS_P + TAG, "restartActivity") + val options = ActivityOptions.makeBasic() + options.launchDisplayId = Display.INVALID_DISPLAY + val intent = Intent(this, MainLauncherActivity::class.java) + startActivity(intent, options.toBundle()) + } + } + } + + private fun checkPermissionAllGranted(permissions: Array): Boolean { + for (permission in permissions) { + if (ContextCompat.checkSelfPermission( + this, + permission + ) != PackageManager.PERMISSION_GRANTED + ) { + // 只要有一个权限没有被授予, 则直接返回 false + return false + } + } + return true + } + } \ No newline at end of file diff --git a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerFragment.kt b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerFragment.kt index e6b8e3fd7a..bd51e3d55f 100644 --- a/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerFragment.kt +++ b/OCH/common/common/src/main/java/com/mogo/och/common/module/wigets/media/MediaPlayerFragment.kt @@ -57,7 +57,7 @@ class MediaPlayerFragment : override fun onPause() { super.onPause() - imageVideoRotationView.setPause() + //imageVideoRotationView.setPause() } override fun onResume() { diff --git a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java index a01eeb46aa..95c1f2e217 100644 --- a/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java +++ b/core/function-impl/mogo-core-function-hmi/src/main/java/com/mogo/eagle/core/function/main/MainLauncherActivity.java @@ -59,6 +59,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis protected void onResume() { super.onResume(); //ActivityUtils.setDefaultL(this); + CallerLogger.i(M_HMI + TAG, "onResume"); } @Override @@ -78,12 +79,14 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override protected void onPause() { super.onPause(); + CallerLogger.i(M_HMI + TAG, "onPause"); mIsHomeKeyDown = false; } @Override protected void onStop() { super.onStop(); + CallerLogger.i(M_HMI + TAG, "onStop"); IntentManager.getInstance().unregisterIntentListener(Intent.ACTION_CLOSE_SYSTEM_DIALOGS, this); //ActivityLifecycleManager.getInstance().setAppActive(false); } @@ -161,6 +164,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override protected void onDestroy() { super.onDestroy(); + CallerLogger.i(M_HMI + TAG, "onDestroy"); stopCountDown(); try { // acc off 之后会出现进程还在,但是页面被杀的情况,这个直接杀掉进程,然后让整个进程重启 @@ -182,6 +186,7 @@ public class MainLauncherActivity extends MainActivity implements IMogoIntentLis @Override public boolean onKeyDown(int keyCode, KeyEvent event) { + CallerLogger.i(M_HMI + TAG, "onKeyDown"); long currentTimeMillis = System.currentTimeMillis(); if (keyCode == KeyEvent.KEYCODE_BACK) { if (currentTimeMillis - lastKeyDownTimeMillis < 2000) {