diff --git a/.idea/misc.xml b/.idea/misc.xml
index 32e44eb..42fab5f 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java b/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java
index fad6094..94db157 100644
--- a/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java
+++ b/app/src/main/java/com/mogo/cloud/network/NetworkActivity.java
@@ -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 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);
}
});
}
diff --git a/config.gradle b/config.gradle
index 28a1aaf..034ddc8 100644
--- a/config.gradle
+++ b/config.gradle
@@ -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",
]
diff --git a/modules/mogo-tanlu/build.gradle b/modules/mogo-tanlu/build.gradle
index a40e578..638e2b1 100644
--- a/modules/mogo-tanlu/build.gradle
+++ b/modules/mogo-tanlu/build.gradle
@@ -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 {
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/CosUpload.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/CosUpload.java
new file mode 100644
index 0000000..7db7839
--- /dev/null
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/CosUpload.java
@@ -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;
+ }
+
+}
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java
new file mode 100644
index 0000000..d55b929
--- /dev/null
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoRoadSearchManager.java
@@ -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 map = new HashMap<>();
+ map.put("sn", "F803EB2046PZD00228");
+ map.put("data", GsonUtil.jsonFromObject(request));
+
+// Map 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() {
+ @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 ");
+ }
+ });
+ }
+
+
+}
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoUploadManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoUploadManager.java
new file mode 100644
index 0000000..3be608d
--- /dev/null
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/MogoUploadManager.java
@@ -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);
+ }
+
+}
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java
index 4e69055..9a231e7 100644
--- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/UploadManager.java
@@ -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 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 map = new HashMap<>();
- map.put("sn", "F803EB2046PZD00228");
- map.put("data", GsonUtil.jsonFromObject(request));
-
-// Map 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() {
- @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 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() {
-// @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() {
-// @Override
-// public void subscribe(ObservableEmitter 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>>() {
-// @Override
-// public Observable> 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 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>(RequestOptions.create(mContext)) {
-// @Override
-// public void onError(Throwable e) {
-// super.onError(e);
-// callback.onQueryRoadInfoFail(e.getMessage(), -1);
-// }
-//
-// @Override
-// public void onSuccess(BaseDataCompat 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);
-// }
-// });
-// }
-// }
-
-
-
}
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/api/IRoadInfoSearchCallback.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/api/IRoadInfoSearchCallback.java
index 254d6f7..1d0c1a3 100644
--- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/api/IRoadInfoSearchCallback.java
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/api/IRoadInfoSearchCallback.java
@@ -4,7 +4,7 @@ import com.mogo.cloud.tanlu.bean.RoadInfos;
/**
* @author lixiaopeng
- * @description
+ * @description 道路情报查询
* @since 2021/1/20
*/
public interface IRoadInfoSearchCallback {
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/InformationBody.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/InformationBody.java
index d019f30..b9f79ab 100644
--- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/InformationBody.java
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/InformationBody.java
@@ -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; //上报触发来源
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/UploadInfo.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/UploadInfo.java
new file mode 100644
index 0000000..2de9f00
--- /dev/null
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/UploadInfo.java
@@ -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 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 getFilePath() {
+ return filePath;
+ }
+
+ public void setFilePath(List 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 +
+ '}';
+ }
+}
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/location/Location.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/location/Location.java
index 8e08139..353bd5e 100644
--- a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/location/Location.java
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/bean/location/Location.java
@@ -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;
}
}
diff --git a/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/TanluUtils.java b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/TanluUtils.java
new file mode 100644
index 0000000..98d7846
--- /dev/null
+++ b/modules/mogo-tanlu/src/main/java/com/mogo/cloud/tanlu/utils/TanluUtils.java
@@ -0,0 +1,10 @@
+package com.mogo.cloud.tanlu.utils;
+
+/**
+ * @author lixiaopeng
+ * @description
+ * @since 2021/1/26
+ */
+public class TanluUtils {
+
+}