[common 添加轨迹统一处理问题件、]
This commit is contained in:
yangyakun
2024-03-22 14:26:13 +08:00
parent 84fb397e44
commit ede4fdb4eb
9 changed files with 53 additions and 16 deletions

View File

@@ -151,12 +151,12 @@ public class BusFragment extends BaseBusTabFragment<BusFragment, BusPresenter>
@Override
protected void onArriveStation() {
mPresenter.onAutopilotArriveAtStation(null);
mPresenter.arriveStation(null,"点击进站触发进站操作");
}
@Override
protected void debugArrivedStation() {
mPresenter.onAutopilotArriveAtStation(null);
mPresenter.arriveStation(null,"点击debug进站按钮触发进站操作");
}
@NonNull

View File

@@ -14,6 +14,7 @@ import com.mogo.och.bus.callback.IBusLinesCallback;
import com.mogo.och.bus.net.OrderServiceManager;
import com.mogo.och.bus.ui.BusSwitchLineActivity;
import com.mogo.och.common.module.biz.network.OchCommonServiceCallback;
import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager;
/**
* @author: wangmingjun
@@ -118,9 +119,11 @@ public class BusLineModel {
}
public void commitSwitchLineId(int taskId,int lineId){
OchChainLogManager.writeChainLog("选择线路","taskId:"+taskId+"--lineId:"+lineId,true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
OrderServiceManager.switchLine(mContext,taskId, new OchCommonServiceCallback<BusRoutesResponse>() {
@Override
public void onSuccess(BusRoutesResponse o) {
OchChainLogManager.writeChainLog("选择线路成功","taskId:"+taskId+"--lineId:"+lineId,true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
SharedPrefsMgr.getInstance().putInt(BusSwitchLineActivity.LASTCOMMITLINEID,lineId);
if (mBusLinesCallback != null){
mBusLinesCallback.onChangeLineIdSuccess();
@@ -130,6 +133,7 @@ public class BusLineModel {
@Override
public void onError() {
if (!NetworkUtils.isConnected(mContext)) {
OchChainLogManager.writeChainLog("选择线路失败","taskId:"+taskId+"--lineId:"+lineId,true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
ToastUtils.showShort(mContext.getString(R.string.network_error_tip));
} else {
ToastUtils.showShort(mContext.getString(R.string.request_error_tip));

View File

@@ -69,6 +69,7 @@ import com.mogo.och.common.module.manager.autopilotmanager.trajectory.ITrajector
import com.mogo.och.common.module.manager.autopilotmanager.trajectory.TrajectoryManager;
import com.mogo.och.common.module.manager.distancemamager.ITrajectoryListener;
import com.mogo.och.common.module.manager.distancemamager.TrajectoryAndDistanceManager;
import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager;
import com.mogo.och.common.module.utils.DateTimeUtil;
import com.mogo.och.common.module.utils.MultiRequestLimitChecker;
import com.mogo.och.common.module.utils.NumberFormatUtil;
@@ -410,7 +411,7 @@ public class OrderModel {
//3、刚过站且过站距离在15m内 提交到站
if (stationAngle > 90 && distance <= BusConst.ARRIVE_AT_END_STATION_DISTANCE){
CallerLogger.d(M_BUS + TAG, "judgeArrivedStation() = 刚过站且在15m内");
onArriveAt(null); //无自动驾驶到站信息传null
onArriveAt(null,"兜底:根据定位计算到站"); //无自动驾驶到站信息传null
}
}
}
@@ -678,7 +679,9 @@ public class OrderModel {
/**
* 到站后重置站点状态
*/
private void arriveSiteStation() {
private void arriveSiteStation(String changeInfo) {
OchChainLogManager.writeChainLog("触发进站", changeInfo,
true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
if ( backgroundCurrentStationIndex +1 > stationList.size() - 1 ) { //到站短时间内调用多次
CallerLogger.e( M_BUS + TAG, "数组越界" );
return;
@@ -777,6 +780,10 @@ public class OrderModel {
MogoLocation currentStationPoint = new MogoLocation();
currentStationPoint.setLongitude(busStationBean.getGcjLon());
currentStationPoint.setLatitude(busStationBean.getGcjLat());
String changeInfo = "taskId:" + currentTaskId + "--lineId:" + currentLineId +
"--currentStationName:"+currentStationName+"--finalNextStationName:"+finalNextStationName;
OchChainLogManager.writeChainLog("滑动出发", changeInfo,
true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
OrderServiceManager.leaveStation(mContext,
busStationBean.getSeq(),
busStationBean.getSiteId(),
@@ -784,6 +791,8 @@ public class OrderModel {
new OchCommonServiceCallback<BaseData>() {
@Override
public void onSuccess(BaseData o) {
OchChainLogManager.writeChainLog("滑动出发成功", changeInfo,
true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
isArrivedStation = false;
CallerLogger.d(M_BUS + TAG, "行程日志-离站成功开往下一站====");
//需要更改当前站和下一站的状态 然后渲染
@@ -1085,7 +1094,7 @@ public class OrderModel {
*
* @param data
*/
public void onArriveAt(ArrivedStation data) {
public void onArriveAt(ArrivedStation data,String type) {
if (backgroundCurrentStationIndex + 1 > stationList.size() - 1) {
CallerLogger.e(M_BUS + TAG, "行程日志-到站异常,取消后续操作结束");
return;
@@ -1118,7 +1127,7 @@ public class OrderModel {
CallerLogger.d(M_BUS + TAG, "行程日志-当前==backgroundCurrentStationIndex="
+ backgroundCurrentStationIndex);
arriveSiteStation();
arriveSiteStation(type);
}
public boolean isGoingToNextStation() {

View File

@@ -153,7 +153,11 @@ public class BusPresenter extends Presenter<BusFragment>
@Override
public void onAutopilotArriveAtStation(ArrivedStation arrivedStation) {
CallerLogger.e( M_BUS + TAG, "行程日志-onAutopilotArriveAtStation arrive");
OrderModel.getInstance().onArriveAt(arrivedStation);
arriveStation(arrivedStation,"底盘触发进站");
}
public void arriveStation(ArrivedStation arrivedStation,String type){
OrderModel.getInstance().onArriveAt(arrivedStation,type);
}
@Override

View File

@@ -19,6 +19,7 @@
<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/actv_stop_site_press"
android:visibility="gone"
android:layout_marginTop="@dimen/dp_2"
android:src="@drawable/charter_p_bottom_bar_select_bg"
app:layout_constraintStart_toStartOf="@+id/actv_stop_site"
app:layout_constraintEnd_toEndOf="@+id/actv_stop_site"

View File

@@ -18,6 +18,7 @@ object OchChainLogManager {
const val EVENT_KEY_INFE_WITH_CHANGE = "event_key_och_common_info_and_changeinfo"
const val EVENT_KEY_INFE_WITH_TRAJECTORY = "event_key_och_trajectory_info"
const val EVENT_KEY_INFE_WITH_MUSIC = "event_key_och_music_info"
const val EVENT_KEY_INFE_WITH_BUS = "event_key_och_bus_info"
/**
* @param Info 订单详细信息

View File

@@ -156,11 +156,13 @@ public class ShuttleFragment extends BaseShuttleTabFragment<ShuttleFragment, Bus
@Override
protected void onArriveStation() {
mPresenter.onAutopilotArriveAtStation(null);
mPresenter.arriveStation(null,"点击进站触发进站操作");
}
@Override
protected void debugArrivedStation() {
mPresenter.onAutopilotArriveAtStation(null);
mPresenter.arriveStation(null,"点击debug进站按钮触发进站操作");
}
@NonNull

View File

@@ -29,6 +29,8 @@ 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.biz.constant.LoginStatusManager;
import com.mogo.och.common.module.manager.autopilotmanager.autopilot.ArrivedStation;
import com.mogo.och.common.module.manager.orderlogmanager.OchChainLogManager;
import com.mogo.och.common.module.utils.MultiRequestLimitChecker;
import com.mogo.och.common.module.utils.OCHThreadPoolManager;
import com.mogo.och.data.bean.BusStationBean;
@@ -338,7 +340,7 @@ public class OrderModel {
if (distance <= BusConst.ARRIVE_AT_END_STATION_DISTANCE) {
CallerLogger.d(M_BUS + TAG, "行程日志-judgeArrivedStation() distance = " + distance
+ " to " + upcomingStation.getName());
onArriveAt(null); //无自动驾驶到站信息传null
onArriveAt(null,"兜底:根据定位计算到站");
}
}
@@ -654,7 +656,9 @@ public class OrderModel {
/**
* 到站后重置站点状态
*/
private void arriveSiteStation() {
private void arriveSiteStation(String changeInfo) {
OchChainLogManager.writeChainLog("触发进站", changeInfo,
true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
if ( backgroundCurrentStationIndex +1 > stationList.size() - 1 ) { //到站短时间内调用多次
CallerLogger.e( M_BUS + TAG, "数组越界" );
return;
@@ -796,7 +800,10 @@ public class OrderModel {
long writeVersion = DateTimeUtil.getCurrentTimeStamp();
leaveStationSuccess(backgroundCurrentStationIndex, currentStationName,
finalNextStationName,finalNextStationNameKr,writeVersion);
String changeInfo = "taskId:" + busRoutesResult.getTaskId() + "--lineId:" + busRoutesResult.getLineId() +
"--currentStationName:"+currentStationName+"--finalNextStationName:"+finalNextStationName;
OchChainLogManager.writeChainLog("滑动出发", changeInfo,
true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
OrderServiceManager.leaveStation(mContext,
stationList.get(backgroundCurrentStationIndex).getSeq(),
stationList.get(backgroundCurrentStationIndex).getSiteId(),
@@ -804,6 +811,8 @@ public class OrderModel {
new OchCommonServiceCallback<BaseData>() {
@Override
public void onSuccess(BaseData o) {
OchChainLogManager.writeChainLog("滑动出发成功", changeInfo,
true,OchChainLogManager.EVENT_KEY_INFE_WITH_BUS);
}
@@ -1087,7 +1096,7 @@ public class OrderModel {
*
* @param data
*/
public void onArriveAt(MessagePad.ArrivalNotification data) {
public void onArriveAt(ArrivedStation data,String type) {
if (backgroundCurrentStationIndex + 1 > stationList.size() - 1) {
CallerLogger.e(M_BUS + TAG, "行程日志-到站异常,取消后续操作结束");
return;
@@ -1116,7 +1125,7 @@ public class OrderModel {
CallerLogger.d(M_BUS + TAG, "行程日志-当前==backgroundCurrentStationIndex="
+ backgroundCurrentStationIndex);
arriveSiteStation();
arriveSiteStation(type);
}
public boolean isGoingToNextStation() {

View File

@@ -16,6 +16,9 @@ import com.mogo.eagle.core.function.api.autopilot.IMoGoAutopilotStatusListener;
import com.mogo.eagle.core.function.call.autopilot.CallerAutoPilotStatusListenerManager;
import com.mogo.eagle.core.utilcode.mogo.logger.CallerLogger;
import com.mogo.eagle.core.utilcode.util.UiThreadHandler;
import com.mogo.och.common.module.manager.autopilotmanager.autopilot.ArrivedStation;
import com.mogo.och.common.module.manager.autopilotmanager.autopilot.IOchAutopilotStatusListener;
import com.mogo.och.common.module.manager.autopilotmanager.autopilot.OchAutoPilotStatusListenerManager;
import com.mogo.och.data.bean.BusStationBean;
import com.mogo.och.bus.callback.IBusADASStatusCallback;
import com.mogo.och.bus.callback.IBusControllerStatusCallback;
@@ -46,7 +49,7 @@ import system_master.SystemStatusInfo;
*/
public class BusPresenter extends Presenter<ShuttleFragment>
implements IRefreshBusStationsCallback, ISlidePannelHideCallback
, IMoGoAutopilotStatusListener, IBusControllerStatusCallback, ILoginCallback, IBusADASStatusCallback {
, IOchAutopilotStatusListener, IBusControllerStatusCallback, ILoginCallback, IBusADASStatusCallback {
private static final String TAG = "BusPresenter";
@@ -56,7 +59,7 @@ public class BusPresenter extends Presenter<ShuttleFragment>
public BusPresenter(ShuttleFragment view) {
super(view);
//2021.11.1 鹰眼架构整合由IMoGoAutopilotStatusListener逐步替代IMogoAdasOCHCallback接口
CallerAutoPilotStatusListenerManager.INSTANCE.addListener(TAG, this);
OchAutoPilotStatusListenerManager.INSTANCE.addListener(TAG,this);
OrderModel.getInstance().init();
OCHAdasAbilityManager.getInstance().init(AbsMogoApplication.getApp());
}
@@ -148,9 +151,13 @@ public class BusPresenter extends Presenter<ShuttleFragment>
}
@Override
public void onAutopilotArriveAtStation(MessagePad.ArrivalNotification arrivalNotification) {
public void onAutopilotArriveAtStation(ArrivedStation arrivedStation) {
CallerLogger.e( M_BUS + TAG, "行程日志-onAutopilotArriveAtStation arrive");
OrderModel.getInstance().onArriveAt(arrivalNotification);
arriveStation(arrivedStation,"底盘触发进站");
}
public void arriveStation(ArrivedStation arrivedStation,String type){
OrderModel.getInstance().onArriveAt(arrivedStation,type);
}
@Override