This commit is contained in:
lixiaopeng
2021-01-26 18:41:31 +08:00
parent dc096c6589
commit e4f41a3705
13 changed files with 694 additions and 196 deletions

2
.idea/misc.xml generated
View File

@@ -13,7 +13,7 @@
<option name="HEAP_SIZE" value="1024" />
<option name="LOCALE" value="zh_CN" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_12" default="true" project-jdk-name="12" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="12" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

View File

@@ -12,15 +12,20 @@ import com.google.gson.Gson;
import com.mogo.cloud.R;
import com.mogo.cloud.commons.network.BaseData;
import com.mogo.cloud.commons.network.RetrofitFactory;
import com.mogo.cloud.tanlu.MogoRoadSearchManager;
import com.mogo.cloud.tanlu.MogoUploadManager;
import com.mogo.cloud.tanlu.UploadManager;
import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback;
import com.mogo.cloud.tanlu.api.ITanluUploadCallback;
import com.mogo.cloud.tanlu.bean.InformationBody;
import com.mogo.cloud.tanlu.bean.RoadInfos;
import com.mogo.cloud.tanlu.bean.UploadInfo;
import com.mogo.cloud.tanlu.bean.UploadResult;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;
@@ -37,7 +42,7 @@ public class NetworkActivity extends AppCompatActivity {
private Button btn;
private TextView tvResult;
private ApiService apiService;
private static final String TAG = "NetworkActivity";
private static final String TAG = "liyz";
@Override
@@ -53,11 +58,11 @@ public class NetworkActivity extends AppCompatActivity {
@Override
public void onClick(View view) {
tvResult.setText("结果显示");
queryRoadData("ZD802C1938L10797");
// queryRoadData("ZD802C1938L10797");
// queryHelpSignal("ZD802C1938L10797");
//上报路况到服务端
// uploadRoadInfo();
uploadRoadInfo();
//查询路况
// queryRoad();
}
@@ -71,43 +76,80 @@ public class NetworkActivity extends AppCompatActivity {
}
public void queryRoad() {
UploadManager.getInstance(NetworkActivity.this).init();
UploadManager.getInstance(NetworkActivity.this).queryRoadInfoByLocationInfo(null , new IRoadInfoSearchCallback() {
MogoRoadSearchManager.getInstance(NetworkActivity.this).init();
MogoRoadSearchManager.getInstance(NetworkActivity.this).queryRoadInfo(null , new IRoadInfoSearchCallback() {
@Override
public void onSuccess(RoadInfos result) {
Log.d(TAG, "queryRoad size() = " + result.getData().size());
tvResult.setText(new Gson().toJson(result));
if (result != null && result.getData() != null) {
Log.d(TAG, "NetworkActivity queryRoad size() = " + result.getData().size());
tvResult.setText(new Gson().toJson(result));
}
}
@Override
public void onFailure(int code) {
Log.d(TAG, "queryRoad code = " + code);
Log.d(TAG, "NetworkActivity queryRoad code = " + code);
}
@Override
public void onError(Throwable e) {
Log.d(TAG, "queryRoad e = " + e);
Log.d(TAG, "NetworkActivity queryRoad e = " + e);
}
});
}
public void uploadRoadInfo() {
// MogoUploadManager.getInstance(NetworkActivity.this).init();
UploadInfo info = new UploadInfo();
List<String> filePath = new ArrayList<>();
filePath.add("/storage/emulated/0/Movies/compress_video_20210126174432.mp4");
filePath.add("/data/user/0/com.mogo.launcher.f/Thumbnail1611654285824.jpg");
info.setFilePath(filePath);
info.setAddr("北京市东城区小黄庄北街2号靠近中国银行");
info.setLongitude(116.410892);
info.setLatitude(39.968317);
info.setPoiType("10007");
info.setDirection(0);
info.setAreaCode("110101");
info.setCityCode("010");
// MogoUploadManager.getInstance(NetworkActivity.this).uploadInfo(info, new ITanluUploadCallback() {
// @Override
// public void onSuccess(UploadResult result) {
// Log.d(TAG, "NetworkActivity uploadRoadInfo result.id = " + result.id);
// tvResult.setText("onSuccess - " + result.id + "");
// }
//
// @Override
// public void onFailure(int code) {
// Log.d(TAG, "NetworkActivity uploadRoadInfo code = " + code);
// }
//
// @Override
// public void onError(Throwable e) {
// Log.d(TAG, "NetworkActivity uploadRoadInfo onError e = " + e);
// }
// });
UploadManager.getInstance(NetworkActivity.this).init();
UploadManager.getInstance(NetworkActivity.this).loadUpload(new InformationBody(), new ITanluUploadCallback() {
UploadManager.getInstance(NetworkActivity.this).loadUpload(null,new ITanluUploadCallback() {
@Override
public void onSuccess(UploadResult result) {
Log.d(TAG, "uploadRoadInfo result.id = " + result.id);
Log.d(TAG, "NetworkActivity uploadRoadInfo result.id = " + result.id);
tvResult.setText("onSuccess - " + result.id + "");
}
@Override
public void onFailure(int code) {
Log.d(TAG, " uploadRoadInfo code = " + code);
Log.d(TAG, "NetworkActivity uploadRoadInfo code = " + code);
}
@Override
public void onError(Throwable e) {
Log.d(TAG, "uploadRoadInfo onError e = " + e);
Log.d(TAG, "NetworkActivity uploadRoadInfo onError e = " + e);
}
});
}

View File

@@ -118,7 +118,7 @@ ext {
androidxroomktx : "androidx.room:room-ktx:2.2.3",
mogoutils : "com.mogo.commons:mogo-utils:2.0.12",
cossdk : "com.zhidao.cosupload:cosuploadsdk:1.1.6",
]

View File

@@ -36,6 +36,11 @@ dependencies {
implementation rootProject.ext.dependencies.rxjava
implementation rootProject.ext.dependencies.rxandroid
implementation rootProject.ext.dependencies.cossdk, {
exclude group: 'com.zhidao.utils', module: 'utils'
}
implementation rootProject.ext.dependencies.videoprocessor
if (Boolean.valueOf(RELEASE)) {
implementation "com.mogo.cloud:commons:${MOGO_COMMONS_VERSION}"
} else {

View File

@@ -0,0 +1,163 @@
package com.mogo.cloud.tanlu;
import android.content.Context;
import android.util.Log;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.mogo.cloud.tanlu.api.ITanluUploadCallback;
import com.mogo.cloud.tanlu.bean.InformationBody;
import com.mogo.cloud.tanlu.bean.UploadInfo;
import com.mogo.cloud.tanlu.bean.UploadResult;
import com.zhidao.cosupload.DbPriorityConfig;
import com.zhidao.cosupload.callback.CosStatusCallback;
import com.zhidao.cosupload.callback.CosStatusCallbackManager;
import com.zhidao.cosupload.manager.CosUploadManagerImpl;
/**
* @author lixiaopeng
* @description
* @since 2021/1/21
*/
public class CosUpload implements CosStatusCallback {
private static final String TAG = "liyz";
private static CosUpload sInstance;
private Context mContext;
private String mPicEventId;
private ITanluUploadCallback mCallback;
private UploadInfo mUploadInfo;
private String mCosVideoUrl;
private String mCosPicUrl;
private CosUpload(Context context) {
mContext = context;
}
public static CosUpload getInstance(Context context) {
if (sInstance == null) {
synchronized (CosUpload.class) {
sInstance = new CosUpload(context);
}
}
return sInstance;
}
public void init () {
CosStatusCallbackManager.getInstance().register(this);
mPicEventId =
CosUploadManagerImpl.getInstance(mContext.getApplicationContext()).getEventId();
UploadManager.getInstance(mContext.getApplicationContext()).init();
}
public void uploadInfo(UploadInfo info, ITanluUploadCallback callback) {
Log.d(TAG, "info.getFilePath() = " + info.getFilePath().toString());
CosUploadManagerImpl.getInstance(mContext.getApplicationContext())
.upload(info.getFilePath(), mPicEventId, DbPriorityConfig.PRIORITY_HIGH);
mCallback = callback;
mUploadInfo = info;
}
@Override
public void onStartUpload(String eventId, String localPath) {
Log.d(TAG, "onStartUpload ----> ");
}
@Override
public void uploadCosCompleted(String cosPath, String eventId, String downloadUrl, String localPath) {
Log.d(TAG, "uploadCosCompleted ----> cosPath =" + cosPath + "--eventId =" + eventId);
Log.d(TAG, "uploadCosCompleted ----> downloadUrl =" + downloadUrl + "--localPath =" + localPath);
// if (localPath.endsWith("mp4")) { //如何判断视频图片
// //如果是视频文件或者缩略图文件
// if (localPath.endsWith("mp4")) {
// mCosVideoUrl = downloadUrl;
// } else {
// mCosPicUrl = downloadUrl;
// }
//
// if (mCosVideoUrl != null && mCosPicUrl != null) {
// //上传录像以及缩略图成功
// sendInformation();
// }
// } else {
// //上传图片成功, 如果是上报路况,直接上传
// Log.d(TAG, "uploadCosCompleted 分享成功 ---- mType = $mType");
// }
//TODO
mCosVideoUrl = downloadUrl;
sendInformation();
}
@Override
public void uploadCosFailed(String cosPath, String eventId, String localPath) {
Log.e(TAG, "uploadCosFailed ----> cosPath = " + cosPath + "--eventId =" + eventId + "--localPath =" + localPath);
sendInformation();
}
@Override
public void onProgress(String localPath, float progress) {
}
private void sendInformation() {
UploadManager.getInstance(mContext.getApplicationContext()).loadUpload(getInformation(), new ITanluUploadCallback() {
@Override
public void onSuccess(UploadResult result) {
Log.d(TAG, "uploadRoadInfo result.id = " + result.id);
mCallback.onSuccess(result);
}
@Override
public void onFailure(int code) {
Log.d(TAG, " uploadRoadInfo code = " + code);
mCallback.onFailure(code);
}
@Override
public void onError(Throwable e) {
Log.d(TAG, "uploadRoadInfo onError e = " + e);
mCallback.onError(e);
}
});
}
private InformationBody getInformation() {
InformationBody informationBody = new InformationBody();
JsonArray jsonArray = new JsonArray();
JsonObject jsonObject = new JsonObject();
jsonObject.addProperty("thumbnail", mCosVideoUrl);
jsonObject.addProperty("url", mCosPicUrl);
jsonArray.add(jsonObject);
Log.d(TAG, "mCosVideoUrl = " + mCosVideoUrl + "--mCosPicUrl =" + mCosPicUrl);
Log.d(TAG, "jsonArray.toString() = " + jsonArray.toString());
informationBody.setData(jsonArray.toString());
informationBody.setAddr(mUploadInfo.getAddr());
informationBody.setAreaCode(mUploadInfo.getAreaCode());
informationBody.setAreaName(mUploadInfo.getAreaName());
informationBody.setCityCode(mUploadInfo.getCityCode());
informationBody.setCityName(mUploadInfo.getCityName());
informationBody.setDirection(mUploadInfo.getDirection());
informationBody.setFromType(mUploadInfo.getFromType());
informationBody.setGenerateTime(mUploadInfo.getGenerateTime());
informationBody.setInfoTimeout(mUploadInfo.getInfoTimeout());
informationBody.setInfoType(mUploadInfo.getInfoType());
informationBody.setLat(mUploadInfo.getLatitude());
informationBody.setLon(mUploadInfo.getLongitude());
informationBody.setMainInfoId(mUploadInfo.getMainInfoId());
informationBody.setPoiType(mUploadInfo.getPoiType());
informationBody.setProvinceName(mUploadInfo.getProvinceName());
informationBody.setStreet(mUploadInfo.getStreet());
informationBody.setSn(mUploadInfo.getSn());
informationBody.setUid(mUploadInfo.getUid());
informationBody.setShare(mUploadInfo.isShare());
informationBody.setType(mUploadInfo.getType());
informationBody.setSpeed(mUploadInfo.getSpeed());
return informationBody;
}
}

View File

@@ -0,0 +1,113 @@
package com.mogo.cloud.tanlu;
import android.content.Context;
import android.util.Log;
import com.google.gson.Gson;
import com.mogo.cloud.commons.network.RetrofitFactory;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback;
import com.mogo.cloud.tanlu.api.ITanluUploadCallback;
import com.mogo.cloud.tanlu.bean.InformationBody;
import com.mogo.cloud.tanlu.bean.RoadInfoRequest;
import com.mogo.cloud.tanlu.bean.RoadInfos;
import com.mogo.cloud.tanlu.bean.UploadResult;
import com.mogo.cloud.tanlu.bean.location.Location;
import com.mogo.cloud.tanlu.net.TanluApiService;
import com.mogo.utils.network.utils.GsonUtil;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/**
* @author lixiaopeng
* @description 道路搜索
* @since 2021/1/21
*/
public class MogoRoadSearchManager {
private static final String TAG = "MogoRoadSearchManager";
private static MogoRoadSearchManager sInstance;
private Context mContext;
private TanluApiService apiService;
private MogoRoadSearchManager(Context context) {
mContext = context;
}
public static MogoRoadSearchManager getInstance(Context context) {
if (sInstance == null) {
synchronized (MogoRoadSearchManager.class) {
sInstance = new MogoRoadSearchManager(context);
}
}
return sInstance;
}
public void init () { //TODO
apiService = RetrofitFactory.INSTANCE.getInstance("http://dzt-test.zhidaozhixing.com")
.create(TanluApiService.class);
}
/**
* 通过经纬度信息查询 TanluModelData
* @param roadInfoRequest
* @param callback
*/
public void queryRoadInfo(RoadInfoRequest roadInfoRequest, IRoadInfoSearchCallback callback) {
ArrayList list = new ArrayList();
list.add("10007");
//北京市朝阳区小黄庄北街2号
Location location = new Location();
location.setLatitude(39.968139);
location.setLongitude(116.411468);
RoadInfoRequest request = new RoadInfoRequest(location, "", list, false, false);
Map<String, Object> map = new HashMap<>();
map.put("sn", "F803EB2046PZD00228");
map.put("data", GsonUtil.jsonFromObject(request));
// Map<String, Object> map = new HashMap<>();
// map.put("sn", MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn());
// map.put("data", GsonUtil.jsonFromObject(roadInfoRequest));
apiService.queryRoadInfos(map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<RoadInfos>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.d(TAG, "queryRoadInfos onSubscribe ");
}
@Override
public void onNext(@NonNull RoadInfos roadInfos) {
Log.d(TAG, "queryRoadInfos onNext roadInfos = " + roadInfos.getData());
callback.onSuccess(roadInfos);
}
@Override
public void onError(@NonNull Throwable e) {
Log.d(TAG, "queryRoadInfos onError ");
callback.onError(e);
}
@Override
public void onComplete() {
Log.d(TAG, "queryRoadInfos onComplete ");
}
});
}
}

View File

@@ -0,0 +1,66 @@
package com.mogo.cloud.tanlu;
import android.content.Context;
import android.util.Log;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonObject;
import com.mogo.cloud.commons.network.RetrofitFactory;
import com.mogo.cloud.passport.MoGoAiCloudClient;
import com.mogo.cloud.tanlu.api.IRoadInfoSearchCallback;
import com.mogo.cloud.tanlu.api.ITanluUploadCallback;
import com.mogo.cloud.tanlu.bean.InformationBody;
import com.mogo.cloud.tanlu.bean.RoadInfoRequest;
import com.mogo.cloud.tanlu.bean.RoadInfos;
import com.mogo.cloud.tanlu.bean.UploadInfo;
import com.mogo.cloud.tanlu.bean.UploadResult;
import com.mogo.cloud.tanlu.bean.location.Location;
import com.mogo.cloud.tanlu.net.TanluApiService;
import com.mogo.utils.network.utils.GsonUtil;
import com.zhidao.cosupload.DbPriorityConfig;
import com.zhidao.cosupload.callback.CosStatusCallback;
import com.zhidao.cosupload.manager.CosUploadManagerImpl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import io.reactivex.Observer;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.annotations.NonNull;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
/**
* @author lixiaopeng
* @description
* @since 2021/1/21
*/
public class MogoUploadManager {
private static final String TAG = "liyz";
private static MogoUploadManager sInstance;
private Context mContext;
private MogoUploadManager(Context context) {
mContext = context;
}
public static MogoUploadManager getInstance(Context context) {
if (sInstance == null) {
synchronized (MogoUploadManager.class) {
sInstance = new MogoUploadManager(context);
}
}
return sInstance;
}
public void uploadInfo(UploadInfo info, ITanluUploadCallback callback) {
CosUpload.getInstance(mContext).init();
CosUpload.getInstance(mContext).uploadInfo(info, callback);
}
}

View File

@@ -58,11 +58,12 @@ public class UploadManager {
return sInstance;
}
public void init () {
public void init () { //TODO
apiService = RetrofitFactory.INSTANCE.getInstance("http://dzt-test.zhidaozhixing.com")
.create(TanluApiService.class);
}
/**
*
* @param informationBody
@@ -73,9 +74,10 @@ public class UploadManager {
Gson gson = new Gson();
Map<String, String> map = new HashMap<>();
// map.put("sn", MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn()); //TODO
// map.put("sn", "F803EB2046PZD00228");
// map.put("data", gson.toJson(informationBody));
map.put("sn", "F803EB2046PZD00228");
// Log.d(TAG, "info = " + gson.toJson(informationBody));
map.put("sn", "ZD802C1938L10797");
map.put("data", "{\"addr\":\"北京市东城区小黄庄北街2号靠近中国银行(北京安贞桥支行)\",\"areaCode\":\"110101\",\"areaName\":\"东城区\",\"cityCode\":\"010\",\"cityName\":\"北京市\",\"data\":\"[{\\\"thumbnail\\\":\\\"http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/CarPad/com.zhidao.roadcondition/F803EB2046PZD00228/F803EB2046PZD00228_20210121165329/Thumbnail1611219200669.jpg\\\",\\\"url\\\":\\\"http://petchfile-1255510688.cos.ap-beijing.myqcloud.com/CarPad/com.zhidao.roadcondition/F803EB2046PZD00228/F803EB2046PZD00228_20210121165329/compress_video_20210121165307.mp4\\\"}]\",\"direction\":0.0,\"fromType\":\"2\",\"generateTime\":1611219213616,\"infoTimeout\":240,\"infoType\":1,\"isShare\":false,\"lat\":39.968317,\"lon\":116.410892,\"mainInfoId\":0,\"poiType\":\"10008\",\"provinceName\":\"北京市\",\"sn\":\"F803EB2046PZD00228\",\"speed\":0.0,\"street\":\"小黄庄北街\",\"trafficInfoType\":\"\",\"type\":1,\"uid\":0}");
Log.d(TAG, "sn = " + MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn());
@@ -107,165 +109,4 @@ public class UploadManager {
});
}
/**
* 通过经纬度信息查询 TanluModelData
* @param roadInfoRequest
* @param callback
*/
public void queryRoadInfoByLocationInfo(RoadInfoRequest roadInfoRequest, IRoadInfoSearchCallback callback) {
ArrayList list = new ArrayList();
list.add("10007");
Location location = new Location();
location.setLat(39.968317);
location.setLon(116.410892);
RoadInfoRequest request = new RoadInfoRequest(location, "中关村", list, false, false);
Map<String, Object> map = new HashMap<>();
map.put("sn", "F803EB2046PZD00228");
map.put("data", GsonUtil.jsonFromObject(request));
// Map<String, Object> map = new HashMap<>();
// map.put("sn", MoGoAiCloudClient.getInstance().getAiCloudClientConfig().getSn());
// map.put("data", GsonUtil.jsonFromObject(roadInfoRequest));
apiService.queryRoadInfos(map)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<RoadInfos>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.d(TAG, "queryRoadInfos onSubscribe ----");
}
@Override
public void onNext(@NonNull RoadInfos roadInfos) {
Log.d(TAG, "queryRoadInfos onNext roadInfos----" + roadInfos.getData());
callback.onSuccess(roadInfos);
}
@Override
public void onError(@NonNull Throwable e) {
Log.d(TAG, "queryRoadInfos onError ----");
callback.onError(e);
}
@Override
public void onComplete() {
Log.d(TAG, "queryRoadInfos onComplete ----");
}
});
}
// public void queryRoadInfoByCity(InformationBody informationBody, ITanluUploadCallback callback) {
//
// if (voiceCmdData.isHere()) { //TanluModelData
// // 搜索附近路况,只需要拿到当前位置信息,就可以请求服务端
// MogoLocation l = TanluServiceManager.getServiceApis().getMapServiceApi().getSingletonLocationClient(mContext).getLastKnowLocation();
// Location location = new Location(l.getLatitude(), l.getLongitude());
// RoadInfoRequest request;
// if (voiceCmdData.getObj().equals(TYPE_NAME_BLOCK)) {
// // 拥堵和路况同时查
// request = new RoadInfoRequest(location, new String[]{TANLU_ROAD_CONGESTION_COMPAT, TANLU_ROAD_CURRENT}, false, false);
// }else{
// request = new RoadInfoRequest(location, new String[]{voiceCmdData.getType()}, false, false);
// }
//
// Map<String, Object> map = new HashMap<>();
// map.put("sn", "F803EB2046PZD00228");
// map.put("data", "GsonUtil.jsonFromObject(request)");
//
// apiService.queryRoadInfos(map)
// .subscribeOn(Schedulers.io())
// .observeOn(AndroidSchedulers.mainThread())
// .subscribe(new Observer<RoadInfos>() {
// @Override
// public void onSubscribe(@NonNull Disposable d) {
// Log.d(TAG, "queryRoadInfos onSubscribe ----");
// }
//
// @Override
// public void onNext(@NonNull RoadInfos roadInfos) {
// Log.d(TAG, "queryRoadInfos onNext roadInfos----" + roadInfos.getData());
// }
//
// @Override
// public void onError(@NonNull Throwable e) {
// Log.d(TAG, "queryRoadInfos onError ----");
// }
//
// @Override
// public void onComplete() {
// Log.d(TAG, "queryRoadInfos onComplete ----");
// }
// });
// } else {
// // 查询的不是附近的信息,所以需要查询一下目标地址的经纬度,然后再请求服务端
// Observable.create(new ObservableOnSubscribe<MogoPoiResult>() {
// @Override
// public void subscribe(ObservableEmitter<MogoPoiResult> emitter) throws Exception {
// // 根据传入的地址,转成经纬度
// IMogoMapService mapService = TanluServiceManager.getServiceApis().getMapServiceApi();
// String cityCode = mapService.getSingletonLocationClient(mContext).getLastKnowLocation().getCityCode();
// MogoPoiSearchQuery poiSearchQuery = new MogoPoiSearchQuery(voiceCmdData.getLocation(), "", cityCode);
// IMogoPoiSearch poiSearch = mapService.getPoiSearch(mContext, poiSearchQuery);
// MogoPoiResult result = poiSearch.searchPOI();
// if (result != null && result.getPois() != null && result.getPois().size() > 0) {
// emitter.onNext(result);
// } else {
// emitter.onError(new IllegalArgumentException("没有根据地址查询到对应的经纬度"));
// }
// }
// }).subscribeOn(Schedulers.io()).observeOn(Schedulers.io())
// .flatMap(new Function<MogoPoiResult, Observable<BaseDataCompat<RoadInfos>>>() {
// @Override
// public Observable<BaseDataCompat<RoadInfos>> apply(MogoPoiResult mogoPoiResult) throws Exception {
// // 转成经纬度后,整理参数,进行接口请求
// Logger.d(TAG, "查询目标地址经纬度成功===" + Thread.currentThread().getName());
// MogoPoiItem poiItem = mogoPoiResult.getPois().get(0);
// Location location = new Location(poiItem.getPoint().lat, poiItem.getPoint().lon);
// callback.onLocatSuccess(location.getLat(), location.getLon());
// RoadInfoRequest request;
// if (voiceCmdData.getObj().equals(TYPE_NAME_BLOCK)) {
// // 拥堵和路况同时查
// request = new RoadInfoRequest(location, new String[]{TANLU_ROAD_CONGESTION_COMPAT, TANLU_ROAD_CURRENT}, false, false);
// }else{
// request = new RoadInfoRequest(location, new String[]{voiceCmdData.getType()}, false, false);
// }
//
// Map<String, Object> params = new ParamsProvider.Builder(mContext)
// .append("sn", Utils.getSn())
// .append("data", GsonUtil.jsonFromObject(request))
// .build();
// return mShareApiService.queryRoadInfos(params);
// }
// }).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
// .subscribe(new SubscribeImpl<BaseDataCompat<RoadInfos>>(RequestOptions.create(mContext)) {
// @Override
// public void onError(Throwable e) {
// super.onError(e);
// callback.onQueryRoadInfoFail(e.getMessage(), -1);
// }
//
// @Override
// public void onSuccess(BaseDataCompat<RoadInfos> o) {
// super.onSuccess(o);
// Logger.d(TAG, "当前线程为"+Thread.currentThread().getName()+" 搜索目标地址路况信息成功: " + o);
// callback.onQueryRoadInfoSuccess(o.getResult().getData());
// }
//
// @Override
// public void onError(String message, int code) {
// super.onError(message, code);
// callback.onQueryRoadInfoFail(message, code);
// }
// });
// }
// }
}

View File

@@ -4,7 +4,7 @@ import com.mogo.cloud.tanlu.bean.RoadInfos;
/**
* @author lixiaopeng
* @description
* @description 道路情报查询
* @since 2021/1/20
*/
public interface IRoadInfoSearchCallback {

View File

@@ -20,15 +20,15 @@ public class InformationBody implements Serializable {
private String provinceName;
private String sn;
private String street;
private int type;
private int uid;
private int infoType;
private int infoTimeout;
private int type; //图片视频
private int uid; //用户id可不传
private int infoType; //主被动
private int infoTimeout; //过期事件
private String trafficInfoType; // 上报情报类型
private boolean isShare; // 是否分享给附近车机
private float direction;
private float direction; //方向,车头角度
private String poiType; //类型分类
private long mainInfoId; //事件id
private long mainInfoId; //事件id,辅助上报
private float speed; //车速
private String fromType; //上报触发来源

View File

@@ -0,0 +1,258 @@
package com.mogo.cloud.tanlu.bean;
import java.util.List;
/**
* @author lixiaopeng
* @description 上报入参
* @since 2021/1/20
*/
public class UploadInfo {
private List<String> filePath; //文件路径
// String TYPE_TRAFFIC_CHECK = "10002"; //交通检查
// String TYPE_CLOSURE = "10003"; //封路
// String TYPE_ROAD_CONSTRUCTION = "10006";//道路施工
// String TYPE_BLOCK = "10007"; //拥堵
// String TYPE_STAGNANT_WATER = "10008";//道路积水
// String TYPE_DENSE_FOG = "10010"; //浓雾
// String TYPE_ROAD_ICY = "10011"; //道路结冰
// String TYPE_ACCIDENT = "10013"; //事故
// String TYPE_REAL_TIME_TRAFFIC = "10015"; //实时路况
private String poiType; //事件类型
// String UPLOAD_FROM_VOICE = "1"; //用户语音上报
// String UPLOAD_FROM_USER = "2"; //用户手点上报
// String UPLOAD_FROM_STRATEGY_BLOCK_AUTO = "3"; //数据策略:拥堵自动上报
// String UPLOAD_FROM_STRATEGY_CLOUD_CHECK = "4"; //数据策略:已有事件云端校验
// String UPLOAD_FROM_STRATEGY_ACCIDENT_AUTO = "5"; //数据策略:交通事故上报
// String UPLOAD_FROM_STRATEGY_UGC = "6"; //数据策略:UGC上报
private String fromType; //事件来源
private long mainInfoId; //触发点的事件id辅助上报可不传
private double longitude; //经度 1
private double latitude; //纬度 1
private float direction; //方向,车头角度 1
private String provinceName;
private String street;
private float speed; //速度
private String addr; //1
private String areaCode; //1
private String areaName;
private String cityCode; //1
private String cityName;
private long generateTime;
private String sn; //1
private int type; //图片0,视频1
private int uid; //用户id
private int infoType; //主被动
private int infoTimeout; //过期事件
private boolean isShare; // 是否分享给附近车机
public List<String> getFilePath() {
return filePath;
}
public void setFilePath(List<String> filePath) {
this.filePath = filePath;
}
public String getPoiType() {
return poiType;
}
public void setPoiType(String poiType) {
this.poiType = poiType;
}
public String getFromType() {
return fromType;
}
public void setFromType(String fromType) {
this.fromType = fromType;
}
public long getMainInfoId() {
return mainInfoId;
}
public void setMainInfoId(long mainInfoId) {
this.mainInfoId = mainInfoId;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(double longitude) {
this.longitude = longitude;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public float getDirection() {
return direction;
}
public void setDirection(float direction) {
this.direction = direction;
}
public String getProvinceName() {
return provinceName;
}
public void setProvinceName(String provinceName) {
this.provinceName = provinceName;
}
public String getStreet() {
return street;
}
public void setStreet(String street) {
this.street = street;
}
public float getSpeed() {
return speed;
}
public void setSpeed(float speed) {
this.speed = speed;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
public String getAreaCode() {
return areaCode;
}
public void setAreaCode(String areaCode) {
this.areaCode = areaCode;
}
public String getAreaName() {
return areaName;
}
public void setAreaName(String areaName) {
this.areaName = areaName;
}
public String getCityCode() {
return cityCode;
}
public void setCityCode(String cityCode) {
this.cityCode = cityCode;
}
public String getCityName() {
return cityName;
}
public void setCityName(String cityName) {
this.cityName = cityName;
}
public long getGenerateTime() {
return generateTime;
}
public void setGenerateTime(long generateTime) {
this.generateTime = generateTime;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
public int getType() {
return type;
}
public void setType(int type) {
this.type = type;
}
public int getUid() {
return uid;
}
public void setUid(int uid) {
this.uid = uid;
}
public int getInfoType() {
return infoType;
}
public void setInfoType(int infoType) {
this.infoType = infoType;
}
public int getInfoTimeout() {
return infoTimeout;
}
public void setInfoTimeout(int infoTimeout) {
this.infoTimeout = infoTimeout;
}
public boolean isShare() {
return isShare;
}
public void setShare(boolean share) {
isShare = share;
}
@Override
public String toString() {
return "UploadInfo{" +
"filePath=" + filePath +
", poiType='" + poiType + '\'' +
", fromType='" + fromType + '\'' +
", mainInfoId=" + mainInfoId +
", longitude=" + longitude +
", latitude=" + latitude +
", direction=" + direction +
", provinceName='" + provinceName + '\'' +
", street='" + street + '\'' +
", speed=" + speed +
", addr='" + addr + '\'' +
", areaCode='" + areaCode + '\'' +
", areaName='" + areaName + '\'' +
", cityCode='" + cityCode + '\'' +
", cityName='" + cityName + '\'' +
", generateTime=" + generateTime +
", sn='" + sn + '\'' +
", type=" + type +
", uid=" + uid +
", infoType=" + infoType +
", infoTimeout=" + infoTimeout +
", isShare=" + isShare +
'}';
}
}

View File

@@ -8,22 +8,22 @@ import java.io.Serializable;
* @since 2021/1/20
*/
public class Location implements Serializable {
private double lat;
private double lon;
private double latitude;
private double longitude;
public double getLat() {
return lat;
public double getLatitude() {
return latitude;
}
public void setLat(double lat) {
this.lat = lat;
public void setLatitude(double latitude) {
this.latitude = latitude;
}
public double getLon() {
return lon;
public double getLongitude() {
return longitude;
}
public void setLon(double lon) {
this.lon = lon;
public void setLongitude(double longitude) {
this.longitude = longitude;
}
}

View File

@@ -0,0 +1,10 @@
package com.mogo.cloud.tanlu.utils;
/**
* @author lixiaopeng
* @description
* @since 2021/1/26
*/
public class TanluUtils {
}