修复出车逻辑,会调用一下重置站点接口,来清除缓存获取最新站点信息

This commit is contained in:
董宏宇
2021-07-12 18:59:20 +08:00
parent 7ebdff8ce3
commit 8e71da1211
3 changed files with 62 additions and 20 deletions

View File

@@ -8,10 +8,14 @@ package com.mogo.och.bus.bean;
public class OchBusResetRequest {
private String sn;
private int siteId;
double lat;
double lon;
public OchBusResetRequest(String sn, int siteId) {
public OchBusResetRequest(String sn, int siteId, double lat, double lon) {
this.sn = sn;
this.siteId = siteId;
this.lat = lat;
this.lon = lon;
}
public String getSn() {
@@ -22,6 +26,22 @@ public class OchBusResetRequest {
this.sn = sn;
}
public double getLat() {
return lat;
}
public void setLat(double lat) {
this.lat = lat;
}
public double getLon() {
return lon;
}
public void setLon(double lon) {
this.lon = lon;
}
public int getSiteId() {
return siteId;
}

View File

@@ -218,10 +218,11 @@ public class OchBusFragment extends BaseOchFragment< OchBusFragment, OchBusPrese
* @param launch true-收车false-出车
*/
public void changeOperationStatus( boolean launch ) {
// 收车的时候重制站点状态
mPresenter.debugResetStationStatus();
isOperationStatus = launch;
if ( launch ) {
// 出车的时候重制站点状态
mPresenter.debugResetStationStatus();
tvOperationStatus.setText( "收车" );
showSlidePanle("滑动出发");
showPanel();

View File

@@ -7,6 +7,7 @@ import android.text.TextUtils;
import androidx.annotation.NonNull;
import androidx.lifecycle.LifecycleOwner;
import com.mogo.commons.constants.SharedPrefsConstants;
import com.mogo.commons.data.BaseData;
import com.mogo.commons.mvp.Presenter;
import com.mogo.commons.network.SubscribeImpl;
@@ -34,6 +35,7 @@ import com.mogo.service.adas.entity.AdasOCHData;
import com.mogo.utils.logger.Logger;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.GsonUtil;
import com.mogo.utils.storage.SharedPrefsMgr;
import java.util.ArrayList;
import java.util.List;
@@ -244,40 +246,59 @@ public class OchBusPresenter extends Presenter< OchBusFragment > implements IMog
*/
public void debugResetStationStatus() {
Logger.d( TAG, "测试、重置站点状态");
double lat = 40.1974932972;
double lon = 116.7354579447;
OchBusResetRequest request = new OchBusResetRequest( Utils.getSn(), 1 );
RequestBody requestBody = RequestBody.create( MediaType.get( "application/json;charset=UTF-8" ), GsonUtil.jsonFromObject( request ) );
mService.debugResetStationStatus( requestBody )
.subscribeOn( Schedulers.io() ).observeOn( AndroidSchedulers.mainThread() )
.subscribe( new SubscribeImpl< OchBusRoutesResponse >( RequestOptions.create( getContext() ) ) {
try {
// 地图SDK定位数据
String latitude = SharedPrefsMgr.getInstance(getContext())
.getString(SharedPrefsConstants.LOCATION_LATITUDE);
String longitude = SharedPrefsMgr.getInstance(getContext())
.getString(SharedPrefsConstants.LOCATION_LONGITUDE);
lat = Double.parseDouble(latitude);
lon = Double.parseDouble(longitude);
} catch (NumberFormatException e) {
// ADAS 经纬度,需要启动工控机
lat = MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLat();
lon = MogoApisHandler.getInstance().getApis().getAdasControllerApi().getLastLon();
e.printStackTrace();
}
OchBusResetRequest request = new OchBusResetRequest(Utils.getSn(), 1, lat, lon);
RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request));
mService.debugResetStationStatus(requestBody)
.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<OchBusRoutesResponse>(RequestOptions.create(getContext())) {
@Override
public void onSuccess( OchBusRoutesResponse o ) {
super.onSuccess( o );
Logger.d( TAG, "获取到小巴路线数据: " + o );
public void onSuccess(OchBusRoutesResponse o) {
super.onSuccess(o);
Logger.d(TAG, "获取到小巴路线数据: " + o);
isGoingToNextStation = false;
if ( o.getResult() == null || o.getResult().getSite() == null || o.getResult().getSite().isEmpty() ) {
if (o.getResult() == null || o.getResult().getSite() == null || o.getResult().getSite().isEmpty()) {
return;
}
renderBusStationsStatus( o.getResult().getSite() );
renderBusStationsStatus(o.getResult().getSite());
}
@Override
public void onError( Throwable e ) {
super.onError( e );
Logger.e( TAG, e, "获取小巴路线图失败" );
public void onError(Throwable e) {
super.onError(e);
Logger.e(TAG, e, "获取小巴路线图失败");
// 重复请求小巴路线,直至成功
queryBusStationDelay();
}
@Override
public void onError( String message, int code ) {
super.onError( message, code );
Logger.e( TAG, "获取小巴路线失败 code: " + code + " msg: " + message );
public void onError(String message, int code) {
super.onError(message, code);
Logger.e(TAG, "获取小巴路线失败 code: " + code + " msg: " + message);
// 重复请求小巴路线,直至成功
queryBusStationDelay();
}
} );
});
}
/**