Merge dev_mogo_httpdns

there are some conflicts:
 both modified:   foudations/mogo-commons/src/main/java/com/mogo/commons/AbsMogoApplication.java
        both modified:   gradle.properties
        both modified:   modules/mogo-module-share/consumer-rules.pro
        both modified:   modules/mogo-module-share/src/main/java/com/mogo/module/share/strategyreceiver/BlockStrategy.kt
This commit is contained in:
tongchenfei
2021-01-14 14:45:53 +08:00
43 changed files with 800 additions and 703 deletions

View File

@@ -1,23 +0,0 @@
package com.mogo.module.v2x.network
import com.mogo.commons.debug.DebugConfig
class HttpConstant {
companion object {
const val HOST_DEV = "http://dzt-test.zhidaozhixing.com"
const val HOST_TEST = "http://dzt-test.zhidaozhixing.com"
const val HOST_DEMO = "http://dzt-show.zhidaozhixing.com"
const val HOST_PRODUCT = "http://dzt.zhidaozhixing.com"
fun getNetHost(): String {
return when (DebugConfig.getNetMode()) {
DebugConfig.NET_MODE_DEV -> HOST_DEV
DebugConfig.NET_MODE_QA -> HOST_TEST
DebugConfig.NET_MODE_DEMO -> HOST_DEMO
else -> HOST_PRODUCT
}
}
}
}

View File

@@ -0,0 +1,107 @@
package com.mogo.module.v2x.network;
import android.content.Context;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.module.common.constants.HostConst;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.network.IMogoNetwork;
/**
* 应对不同接口对应不同服务域名的工厂累
*/
public class V2XApiServiceFactory {
private static V2XApiService mDevaApiService;
private static V2XApiService mDataApiService;
private static V2XApiService mLauncherSnapshotApiService;
private static V2XApiService mGeoFenceCarServiceApiService;
private static V2XApiService mRealtimeLocationApiService;
private static V2XApiService mDataServiceApiService;
/**
* 获取指定域名下的 API 服务
*/
public static V2XApiService getApiService(Context context, String netHost) {
IMogoNetwork network = (IMogoNetwork) ARouter.getInstance()
.build(MogoServicePaths.PATH_SERVICES_NETWORK)
.navigation(context);
return network.create(V2XApiService.class, netHost);
}
public static V2XApiService getDevaApiService(Context context) {
if (mDevaApiService == null) {
synchronized (V2XApiServiceFactory.class) {
if (mDevaApiService == null) {
mDevaApiService = getApiService(context, HostConst.DEVA_HOST);
}
}
}
return mDevaApiService;
}
public static V2XApiService getDataApiService(Context context) {
if (mDataApiService == null) {
synchronized (V2XApiServiceFactory.class) {
if (mDataApiService == null) {
mDataApiService = getApiService(context, HostConst.DATA_SERVICE_HOST);
}
}
}
return mDataApiService;
}
public static V2XApiService getLauncherSnapshotApiService(Context context) {
if (mLauncherSnapshotApiService == null) {
synchronized (V2XApiServiceFactory.class) {
if (mLauncherSnapshotApiService == null) {
mLauncherSnapshotApiService = getApiService(context, HostConst.LAUNCHER_SNAPSHOT_HOST);
}
}
}
return mLauncherSnapshotApiService;
}
public static V2XApiService getGeoFenceCarServiceApiService(Context context) {
if (mGeoFenceCarServiceApiService == null) {
synchronized (V2XApiServiceFactory.class) {
if (mGeoFenceCarServiceApiService == null) {
mGeoFenceCarServiceApiService = getApiService(context, HostConst.GEOFENCE_HOST);
}
}
}
return mGeoFenceCarServiceApiService;
}
public static V2XApiService getRealtimeLocationApiService(Context context) {
if (mRealtimeLocationApiService == null) {
synchronized (V2XApiServiceFactory.class) {
if (mRealtimeLocationApiService == null) {
mRealtimeLocationApiService = getApiService(context, HostConst.REALTIME_LOCATION_HOST);
}
}
}
return mRealtimeLocationApiService;
}
public static V2XApiService getDataServiceApiService(Context context) {
if (mDataServiceApiService == null) {
synchronized (V2XApiServiceFactory.class) {
if (mDataServiceApiService == null) {
mDataServiceApiService = getApiService(context, HostConst.DATA_SERVICE_HOST);
}
}
}
return mDataServiceApiService;
}
public static V2XApiService getStrategyPushApiService(Context context) {
if (mDataServiceApiService == null) {
synchronized (V2XApiServiceFactory.class) {
if (mDataServiceApiService == null) {
mDataServiceApiService = getApiService(context, HostConst.STRATEGY_PUSH_HOST);
}
}
}
return mDataServiceApiService;
}
}

View File

@@ -85,74 +85,70 @@ public class V2XRefreshModel {
private void init(Context context) {
this.mContext = context;
IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(context);
this.mV2XApiService = network.create(V2XApiService.class, HttpConstant.Companion.getNetHost());
// IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(context);
// this.mV2XApiService = network.create(V2XApiService.class, HttpConstant.Companion.getNetHost());
}
/**
* 刷新地图点数据,同步获取
*/
public void querySnapshotAsync(MogoLatLng latLng, int radius, int limit) {
if (mV2XApiService != null) {
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
final RefreshBody refreshBody = new RefreshBody();
refreshBody.limit = limit;
refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lon);
refreshBody.radius = radius;
refreshBody.dataType.add(ServiceConst.CARD_TYPE_ROAD_CONDITION);
refreshBody.viewPush = true;
query.put("data", GsonUtil.jsonFromObject(refreshBody));
mV2XApiService.querySnapshotAsync(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
}
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
final RefreshBody refreshBody = new RefreshBody();
refreshBody.limit = limit;
refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lon);
refreshBody.radius = radius;
refreshBody.dataType.add(ServiceConst.CARD_TYPE_ROAD_CONDITION);
refreshBody.viewPush = true;
query.put("data", GsonUtil.jsonFromObject(refreshBody));
V2XApiServiceFactory.getLauncherSnapshotApiService(mContext).querySnapshotAsync(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
}
});
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
}
});
}
/**
* 刷新地图点数据,同步获取
*/
public void querySnapshotSync(MogoLatLng latLng, int radius, int limit, final V2XRefreshCallback<MarkerResponse> callback) {
if (mV2XApiService != null) {
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
final RefreshBody refreshBody = new RefreshBody();
refreshBody.limit = limit;
refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lon);
refreshBody.radius = radius;
refreshBody.dataType.add(ServiceConst.CARD_TYPE_ROAD_CONDITION);
refreshBody.viewPush = true;
query.put("data", GsonUtil.jsonFromObject(refreshBody));
mV2XApiService.querySnapshotSync(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<MarkerResponse>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(MarkerResponse o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
final RefreshBody refreshBody = new RefreshBody();
refreshBody.limit = limit;
refreshBody.location = new RefreshBody.LatLon(latLng.lat, latLng.lon);
refreshBody.radius = radius;
refreshBody.dataType.add(ServiceConst.CARD_TYPE_ROAD_CONDITION);
refreshBody.viewPush = true;
query.put("data", GsonUtil.jsonFromObject(refreshBody));
V2XApiServiceFactory.getLauncherSnapshotApiService(mContext).querySnapshotSync(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<MarkerResponse>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(MarkerResponse o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
callback.onFail(message);
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -163,34 +159,32 @@ public class V2XRefreshModel {
* @param callback 回调
*/
public void refreshHeartBeat(String sn, String videoChannel, final V2XRefreshCallback callback) {
if (mV2XApiService != null) {
final Map<String, Object> liveBroadcast = new ParamsProvider.Builder(mContext).build();
liveBroadcast.put("sn", sn);
liveBroadcast.put("data", GsonUtil.getGson().toJson(new V2XLiveCarBroadcastReq(sn, videoChannel)));
mV2XApiService.refreshHeartBeat(liveBroadcast)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
final Map<String, Object> liveBroadcast = new ParamsProvider.Builder(mContext).build();
liveBroadcast.put("sn", sn);
liveBroadcast.put("data", GsonUtil.getGson().toJson(new V2XLiveCarBroadcastReq(sn, videoChannel)));
V2XApiServiceFactory.getDataApiService(mContext).refreshHeartBeat(liveBroadcast)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
@@ -200,34 +194,32 @@ public class V2XRefreshModel {
* @param callback 回调
*/
public void giveLikeLiveVideo(final V2XRefreshCallback callback, String snStr) {
if (mV2XApiService != null) {
Logger.d(V2XConst.MODULE_NAME, "点赞车机:" + snStr);
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
query.put("data", "{\"sn\":" + snStr + "}");
mV2XApiService.giveLikeLiveVideo(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
Logger.d(V2XConst.MODULE_NAME, "点赞车机:" + snStr);
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
query.put("data", "{\"sn\":" + snStr + "}");
V2XApiServiceFactory.getGeoFenceCarServiceApiService(mContext).giveLikeLiveVideo(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -236,35 +228,33 @@ public class V2XRefreshModel {
* @param sn 目标车机SN
*/
public void queryUserInfoBySn(String sn, final V2XRefreshCallback<V2XUserInfoRes> callback) {
if (mV2XApiService != null) {
RequestBody body = RequestBody.create(
okhttp3.MediaType.parse("application/json; charset=utf-8"),
"{\"sn\":\"" + sn + "\"}");
RequestBody body = RequestBody.create(
okhttp3.MediaType.parse("application/json; charset=utf-8"),
"{\"sn\":\"" + sn + "\"}");
mV2XApiService.queryUserInfoBySn(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XUserInfoRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XUserInfoRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
V2XApiServiceFactory.getRealtimeLocationApiService(mContext).queryUserInfoBySn(body)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XUserInfoRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XUserInfoRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -274,49 +264,47 @@ public class V2XRefreshModel {
*/
public void queryNearbyVehicleLiveByLocation(
V2XRefreshCallback<V2XLiveCarRes> callback, double lon, double lat) {
if (mV2XApiService != null) {
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
StringBuffer dataStr = new StringBuffer();
dataStr.append("{");
dataStr.append("\"lon\":");
dataStr.append(lon);
dataStr.append(",");
dataStr.append("\"lat\":");
dataStr.append(lat);
dataStr.append(",");
dataStr.append("\"radius\":");
dataStr.append(0.5);
dataStr.append(",");
dataStr.append("\"size\":");
dataStr.append(5);
dataStr.append("}");
StringBuffer dataStr = new StringBuffer();
dataStr.append("{");
dataStr.append("\"lon\":");
dataStr.append(lon);
dataStr.append(",");
dataStr.append("\"lat\":");
dataStr.append(lat);
dataStr.append(",");
dataStr.append("\"radius\":");
dataStr.append(0.5);
dataStr.append(",");
dataStr.append("\"size\":");
dataStr.append(5);
dataStr.append("}");
query.put("data", dataStr.toString());
mV2XApiService.queryNearbyVehicleLiveByLocation(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XLiveCarRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XLiveCarRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
query.put("data", dataStr.toString());
V2XApiServiceFactory.getRealtimeLocationApiService(mContext).queryNearbyVehicleLiveByLocation(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XLiveCarRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XLiveCarRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -325,38 +313,36 @@ public class V2XRefreshModel {
* @param callback 回调
*/
public void livePush(V2XRefreshCallback<V2XLivePushVoRes> callback, String sn, int playType) {
if (mV2XApiService != null) {
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
query.put("data", "{" +
"\"eventId\": \"yycp\"," +
"\"sn\": \"" + sn + "\"," +
"\"type\": \"" + playType + "\"," +
"\"videoChannel\": \"C_1\"" +
"}");
mV2XApiService.livePush(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XLivePushVoRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XLivePushVoRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
final Map<String, Object> query = new ParamsProvider.Builder(mContext).build();
query.put("data", "{" +
"\"eventId\": \"yycp\"," +
"\"sn\": \"" + sn + "\"," +
"\"type\": \"" + playType + "\"," +
"\"videoChannel\": \"C_1\"" +
"}");
V2XApiServiceFactory.getDataApiService(mContext).livePush(query)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XLivePushVoRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XLivePushVoRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -365,40 +351,37 @@ public class V2XRefreshModel {
* @param callback
*/
public void cancelHelpSignal(V2XRefreshCallback<BaseData> callback) {
if (mV2XApiService != null) {
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = new StringBuilder()
.append("{")
.append("\"sn\":").append(Utils.getSn())
.append(",")
.append("\"vehicleType\":")
.append(0)
.append("}").toString();
map.put("data", json);
mV2XApiService.sendHelpSignal(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = new StringBuilder()
.append("{")
.append("\"sn\":").append(Utils.getSn())
.append(",")
.append("\"vehicleType\":")
.append(0)
.append("}").toString();
map.put("data", json);
V2XApiServiceFactory.getRealtimeLocationApiService(mContext).sendHelpSignal(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -407,33 +390,30 @@ public class V2XRefreshModel {
* @param callback
*/
public void getHelpSignal(V2XRefreshCallback<V2XSeekHelpRes> callback) {
if (mV2XApiService != null) {
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
map.put("sn", Utils.getSn());
mV2XApiService.queryHelpSignal(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XSeekHelpRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XSeekHelpRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
map.put("sn", Utils.getSn());
V2XApiServiceFactory.getRealtimeLocationApiService(mContext).queryHelpSignal(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XSeekHelpRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XSeekHelpRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -442,94 +422,88 @@ public class V2XRefreshModel {
* @param callback
*/
public void getMockUserInfos(V2XRefreshCallback<V2XDemoUserInfoRes> callback) {
if (mV2XApiService != null) {
mV2XApiService.getMockUserInfos().subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XDemoUserInfoRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XDemoUserInfoRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
V2XApiServiceFactory.getLauncherSnapshotApiService(mContext).getMockUserInfos().subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XDemoUserInfoRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XDemoUserInfoRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
* 根据名称获取策略详情
*/
public void getStrategyPush(V2XRefreshCallback<V2XStrategyPushRes> callback) {
if (mV2XApiService != null) {
mV2XApiService.getStrategyPush().subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XStrategyPushRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XStrategyPushRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
V2XApiServiceFactory.getStrategyPushApiService(mContext).getStrategyPush().subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XStrategyPushRes>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XStrategyPushRes o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
* 违章地段查询接口
*/
public void queryIllegalPark(V2XRefreshCallback<MarkerResponse> callback, double lon, double lat) {
if (mV2XApiService != null) {
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = "{\"location\":{\"lat\":" + lat + ",\"lon\":" + lon + "},\"radius\":50}";
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = "{\"location\":{\"lat\":" + lat + ",\"lon\":" + lon + "},\"radius\":50}";
// String json = "{\"location\":{\"lat\":39.968139,\"lon\":116.380476},\"radius\":1000}";
map.put("data", json);
mV2XApiService.queryIllegalPark(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<MarkerResponse>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(MarkerResponse o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
map.put("data", json);
V2XApiServiceFactory.getLauncherSnapshotApiService(mContext).queryIllegalPark(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<MarkerResponse>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(MarkerResponse o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -539,42 +513,40 @@ public class V2XRefreshModel {
String infoId,
String poiType,
int likeOrDislike) {
if (mV2XApiService != null) {
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = new StringBuilder()
.append("{")
.append("\"infoId\":").append(infoId)
.append(",")
.append("\"poiType\":").append(poiType)
.append(",")
.append("\"likeOrdislike\":").append(likeOrDislike)
.append(",")
.append("\"sn\":").append(Utils.getSn())
.append("}").toString();
map.put("data", json);
mV2XApiService.addPoiInfoFabulous(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = new StringBuilder()
.append("{")
.append("\"infoId\":").append(infoId)
.append(",")
.append("\"poiType\":").append(poiType)
.append(",")
.append("\"likeOrdislike\":").append(likeOrDislike)
.append(",")
.append("\"sn\":").append(Utils.getSn())
.append("}").toString();
map.put("data", json);
V2XApiServiceFactory.getDevaApiService(mContext).addPoiInfoFabulous(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}
/**
@@ -583,29 +555,27 @@ public class V2XRefreshModel {
* "enthusiasticSn":"testSn02",响应求助SN
*/
public void respondingToHelp(String seekHelpSn) {
if (mV2XApiService != null) {
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = new StringBuilder()
.append("{")
.append("\"seekHelpSn\":").append(seekHelpSn)
.append(",")
.append("\"enthusiasticSn\":").append(Utils.getSn())
.append("}").toString();
map.put("data", json);
mV2XApiService.respondingToHelp(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
}
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = new StringBuilder()
.append("{")
.append("\"seekHelpSn\":").append(seekHelpSn)
.append(",")
.append("\"enthusiasticSn\":").append(Utils.getSn())
.append("}").toString();
map.put("data", json);
V2XApiServiceFactory.getDevaApiService(mContext).respondingToHelp(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
}
});
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
}
});
}
/**
@@ -617,62 +587,58 @@ public class V2XRefreshModel {
public void manualMarkingTrafficJam(String id,
int status,
String helpId) {
if (mV2XApiService != null) {
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = "{" + "\"id\":\"" + id + "\"," + "\"sn\":\"" + Utils.getSn() + "\"," + "\"status\":" + status + "," + "\"helpId\":\"" + helpId + "\"}";
map.put("data", json);
mV2XApiService.manualMarkingTrafficJam(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
}
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
String json = "{" + "\"id\":\"" + id + "\"," + "\"sn\":\"" + Utils.getSn() + "\"," + "\"status\":" + status + "," + "\"helpId\":\"" + helpId + "\"}";
map.put("data", json);
V2XApiServiceFactory.getDevaApiService(mContext).manualMarkingTrafficJam(map).subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(BaseData o) {
super.onSuccess(o);
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
}
});
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
}
});
}
public void queryCrossRoadsLive(V2XRefreshCallback<V2XLiveCrossRoad> callback) {
if (mV2XApiService != null) {
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
MogoLocation lastKnowLocation = V2XServiceManager.getMapService().getSingletonLocationClient(AbsMogoApplication.getApp()).getLastKnowLocation();
double lat = lastKnowLocation.getLatitude();
double lon = lastKnowLocation.getLongitude();
String tmpLat = String.valueOf(lat);
String tmpLon = String.valueOf(lon);
float bearing = lastKnowLocation.getBearing();
String json = "{\"lat\":" + tmpLat + ",\"lon\":" + tmpLon + ",\"direction\":" + bearing + "}";
map.put("sn", Utils.getSn());
map.put("data", json);
mV2XApiService.queryCrossRoadsLive(map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XLiveCrossRoad>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XLiveCrossRoad o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
final Map<String, Object> map = new ParamsProvider.Builder(mContext).build();
MogoLocation lastKnowLocation = V2XServiceManager.getMapService().getSingletonLocationClient(AbsMogoApplication.getApp()).getLastKnowLocation();
double lat = lastKnowLocation.getLatitude();
double lon = lastKnowLocation.getLongitude();
String tmpLat = String.valueOf(lat);
String tmpLon = String.valueOf(lon);
float bearing = lastKnowLocation.getBearing();
String json = "{\"lat\":" + tmpLat + ",\"lon\":" + tmpLon + ",\"direction\":" + bearing + "}";
map.put("sn", Utils.getSn());
map.put("data", json);
V2XApiServiceFactory.getGeoFenceCarServiceApiService(mContext).queryCrossRoadsLive(map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<V2XLiveCrossRoad>(RequestOptions.create(mContext)) {
@Override
public void onSuccess(V2XLiveCrossRoad o) {
super.onSuccess(o);
if (callback != null) {
callback.onSuccess(o);
}
}
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
@Override
public void onError(String message, int code) {
super.onError(message, code);
if (callback != null) {
if (TextUtils.isEmpty(message)) {
message = "网络错误,请稍后重试";
}
callback.onFail(message);
}
});
}
}
});
}

View File

@@ -2,13 +2,10 @@ package com.mogo.module.v2x.network;
import android.content.Context;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.data.BaseData;
import com.mogo.commons.network.ParamsProvider;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.commons.network.Utils;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.network.IMogoNetwork;
import com.mogo.utils.network.RequestOptions;
import com.mogo.utils.network.utils.GsonUtil;
@@ -26,21 +23,18 @@ import io.reactivex.functions.Function;
import io.reactivex.schedulers.Schedulers;
public class V2XShareNetworkModel {
private final Context mContext;
private V2XApiService mRefreshApiService;
private static final String TAG = "V2XShareNetworkModel";
private final Context mContext;
public V2XShareNetworkModel(Context context) {
this.mContext = context;
IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(context);
this.mRefreshApiService = network.create(V2XApiService.class, HttpConstant.Companion.getNetHost());
}
/*
/**
* 两个任务串行
* 1.分享次数,热心指数
* 2.分享列表
* */
*/
public void getShareEventResponse(int page, int size, V2XRefreshCallback callback) {
Observable<String> indexObservable = Observable.create(new ObservableOnSubscribe<String>() {
@@ -99,9 +93,9 @@ public class V2XShareNetworkModel {
});
}
/*
/**
* 热心指数
* */
*/
public void getShareIndex(V2XRefreshCallback callback) {
final ParamsProvider.Builder builder = new ParamsProvider.Builder(mContext);
HashMap<String, Object> hashMap = new HashMap<>();
@@ -109,7 +103,7 @@ public class V2XShareNetworkModel {
builder.append("data", GsonUtil.jsonFromObject(hashMap));
Map<String, Object> parameters = builder.build();
//热心指数
mRefreshApiService.getEnthusiasmIndex(parameters)
V2XApiServiceFactory.getDevaApiService(mContext).getEnthusiasmIndex(parameters)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create((mContext))) {
@@ -140,9 +134,9 @@ public class V2XShareNetworkModel {
}
/*
/**
* 分享列表
* */
*/
public void getShareEventList(int page, int size, V2XRefreshCallback callback) {
final ParamsProvider.Builder builder = new ParamsProvider.Builder(mContext);
@@ -153,7 +147,7 @@ public class V2XShareNetworkModel {
builder.append("data", GsonUtil.jsonFromObject(hashMap));
Map<String, Object> parameters = builder.build();
mRefreshApiService.getShareEventList(parameters)
V2XApiServiceFactory.getDevaApiService(mContext).getShareEventList(parameters)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<BaseData>(RequestOptions.create(mContext)) {

View File

@@ -12,11 +12,11 @@ import com.mogo.commons.mvp.Presenter;
import com.mogo.commons.network.SubscribeImpl;
import com.mogo.commons.network.Utils;
import com.mogo.map.location.MogoLocation;
import com.mogo.module.common.constants.HostConst;
import com.mogo.module.v2x.entity.panel.Center;
import com.mogo.module.v2x.entity.panel.SurroundingRequest;
import com.mogo.module.v2x.entity.panel.SurroundingResponse;
import com.mogo.module.v2x.network.HttpConstant;
import com.mogo.module.v2x.network.V2XApiService;
import com.mogo.module.v2x.network.V2XApiServiceFactory;
import com.mogo.module.v2x.view.SurroundingEventView;
import com.mogo.service.IMogoServiceApis;
import com.mogo.service.MogoServicePaths;
@@ -38,7 +38,6 @@ public class SurroundingEventPresenter extends Presenter<SurroundingEventView> {
private Context mContext;
private IMogoNetwork mNetWork;
private IMogoServiceApis mApis;
private V2XApiService eventApiService;
private static final String TAG = "V2XSurroundingFragment";
@@ -48,7 +47,6 @@ public class SurroundingEventPresenter extends Presenter<SurroundingEventView> {
mNetWork =
((IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(view.getContext())).getNetworkApi();
mApis = (IMogoServiceApis) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICE_APIS).navigation(getContext());
this.eventApiService = mNetWork.create(V2XApiService.class, HttpConstant.Companion.getNetHost());
}
@Override
@@ -65,7 +63,7 @@ public class SurroundingEventPresenter extends Presenter<SurroundingEventView> {
String[] poiTypes = {"10002", "10003", "10006", "10007", "10008", "10010", "10011", "10013", "10015"};
SurroundingRequest request = new SurroundingRequest(center, poiTypes, 5, 300);
eventApiService.getSurroundingEventList(Utils.getSn(), convert(GsonUtil.jsonFromObject(request)))
V2XApiServiceFactory.getDevaApiService(mContext).getSurroundingEventList(Utils.getSn(), convert(GsonUtil.jsonFromObject(request)))
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new SubscribeImpl<SurroundingResponse>(RequestOptions.create(getContext())) {