add TrafficModel

This commit is contained in:
unknown
2020-11-09 14:54:48 +08:00
parent bad16a2b20
commit 28d480d72e
5 changed files with 64 additions and 24 deletions

View File

@@ -93,14 +93,6 @@ public class TrafficSearchClient implements IMogoTrafficSearch, TrafficSearch.On
if (trafficStatusResult != null && i == 1000) {
Logger.d(TAG, "onRoadTrafficSearched result : " + GsonUtil.jsonFromObject(trafficStatusResult));
long startTime = System.currentTimeMillis();
TrafficStatusEvaluation evaluation = trafficStatusResult.getEvaluation();
MogoTrafficStatusEvaluation trafficEvaluation = new MogoTrafficStatusEvaluation();
trafficEvaluation.setBlocked(evaluation.getBlocked());
trafficEvaluation.setCongested(evaluation.getCongested());
trafficEvaluation.setDescription(evaluation.getDescription());
trafficEvaluation.setExpedite(evaluation.getExpedite());
trafficEvaluation.setStatus(evaluation.getStatus());
trafficEvaluation.setUnKnown(evaluation.getUnknown());
List<MogoTrafficStatusInfo> trafficStatusInfoList = new ArrayList<>();
List<TrafficStatusInfo> statusInfo = trafficStatusResult.getRoads();
@@ -108,7 +100,6 @@ public class TrafficSearchClient implements IMogoTrafficSearch, TrafficSearch.On
MogoTrafficStatusInfo mogoTrafficStatusInfo = new MogoTrafficStatusInfo();
mogoTrafficStatusInfo.setAngle(info.getAngle());
mogoTrafficStatusInfo.setDirection(info.getDirection());
mogoTrafficStatusInfo.setLcodes(info.getLcodes());
mogoTrafficStatusInfo.setName(info.getName());
mogoTrafficStatusInfo.setStatus(info.getStatus());
List<MogoLatLng> mogoLatLngs = new ArrayList<>();
@@ -118,7 +109,6 @@ public class TrafficSearchClient implements IMogoTrafficSearch, TrafficSearch.On
});
MogoTrafficResult mogoTrafficResult = new MogoTrafficResult();
mogoTrafficResult.setDescription(trafficStatusResult.getDescription());
mogoTrafficResult.setEvaluation(trafficEvaluation);
mogoTrafficResult.setTrafficStatusInfos(trafficStatusInfoList);
long endTime = System.currentTimeMillis();
Logger.d(TAG, "onRoadTrafficSearched MogoTrafficResult : " + GsonUtil.jsonFromObject(mogoTrafficResult));

View File

@@ -10,6 +10,7 @@ class HttpConstant {
const val HOST_DEMO = "http://dzt-show.zhidaohulian.com"
const val HOST_PRODUCT = "https://dzt.zhidaohulian.com"
@JvmStatic
fun getNetHost(): String {
return when (DebugConfig.getNetMode()) {
DebugConfig.NET_MODE_DEV -> HOST_DEV

View File

@@ -3,8 +3,12 @@ package com.mogo.module.share.manager
import com.mogo.map.MogoLatLng
import com.mogo.map.search.traffic.IMogoTrafficSearchListener
import com.mogo.map.search.traffic.MogoTrafficResult
import com.mogo.module.common.entity.RoadTrafficStatus
import com.mogo.module.common.entity.UploadTrafficEntity
import com.mogo.module.share.TanluServiceManager
import com.mogo.module.share.net.TrafficModelData
import com.mogo.utils.logger.Logger
import java.util.*
class TrafficUploadManager : IMogoTrafficSearchListener {
@@ -18,24 +22,14 @@ class TrafficUploadManager : IMogoTrafficSearchListener {
}
}
private val trafficModelData = TrafficModelData()
fun verityTrafficStatus() {
val trafficSearchApi = TanluServiceManager.getMapService().trafficSearchApi
val location = TanluServiceManager.getLocationClient().lastKnowLocation
// val adCode = location.adCode
// var street = location.address
// if (!location.street.isNullOrEmpty()) {
// Logger.d(TAG,"verityTrafficStatus street : $street")
// street = location.street
// }
// Logger.d(TAG,"verityTrafficStatus adCode : $adCode , street : $street")
trafficSearchApi.registerTrafficSearchListener(this)
// if (!adCode.isNullOrEmpty() && !street.isNullOrEmpty()) {
// Logger.d(TAG,"verityTrafficStatus searchTrafficByRoad")
// trafficSearchApi.searchTrafficByRoad(adCode, street)
// } else {
Logger.d(TAG,"verityTrafficStatus searchTrafficByCircleArea")
trafficSearchApi.searchTrafficByCircleArea(MogoLatLng(location.latitude, location.longitude), TRAFFIC_SEARCH_AREA)
// }
Logger.d(TAG, "verityTrafficStatus searchTrafficByCircleArea")
trafficSearchApi.searchTrafficByCircleArea(MogoLatLng(location.latitude, location.longitude), TRAFFIC_SEARCH_AREA)
}
override fun onTrafficSearchError(errorMsg: String?) {
@@ -47,5 +41,23 @@ class TrafficUploadManager : IMogoTrafficSearchListener {
override fun onTrafficSearchInfo(trafficResult: MogoTrafficResult?) {
//todo Upload 打点
trafficResult?.let { trafficResult ->
val uploadTrafficEntity = UploadTrafficEntity()
val roadTrafficStatusList: MutableList<RoadTrafficStatus> = ArrayList()
val trafficStatusInfoList = trafficResult.trafficStatusInfos
trafficStatusInfoList.forEach {
val roadTrafficStatus = RoadTrafficStatus()
roadTrafficStatus.angle = it.angle
roadTrafficStatus.direction = it.direction
roadTrafficStatus.isSegment = false
roadTrafficStatus.length = 0
roadTrafficStatus.roadName = it.name
roadTrafficStatus.status = it.status.toInt()
roadTrafficStatus.mogoLatLngList = it.mogoLatLngs
roadTrafficStatusList.add(roadTrafficStatus)
}
uploadTrafficEntity.roadTrafficStatuses = roadTrafficStatusList
trafficModelData.uploadTrafficInfo(uploadTrafficEntity)
}
}
}

View File

@@ -0,0 +1,4 @@
package com.mogo.module.share.net;
public interface TrafficApiService {
}

View File

@@ -0,0 +1,33 @@
package com.mogo.module.share.net;
import com.alibaba.android.arouter.launcher.ARouter;
import com.mogo.commons.AbsMogoApplication;
import com.mogo.commons.network.ParamsProvider;
import com.mogo.commons.network.Utils;
import com.mogo.module.common.entity.UploadTrafficEntity;
import com.mogo.module.share.constant.HttpConstant;
import com.mogo.service.MogoServicePaths;
import com.mogo.service.network.IMogoNetwork;
import com.mogo.utils.network.utils.GsonUtil;
import java.util.Map;
public class TrafficModelData {
private static final String TAG = "TrafficModelData";
private TrafficApiService mTrafficApiService;
public TrafficModelData() {
IMogoNetwork network = (IMogoNetwork) ARouter.getInstance().build(MogoServicePaths.PATH_SERVICES_NETWORK).navigation(AbsMogoApplication.
getApp().getApplicationContext());
mTrafficApiService = network.create(TrafficApiService.class, HttpConstant.getNetHost());
}
public void uploadTrafficInfo(UploadTrafficEntity uploadTrafficEntity) {
Map<String, Object> params = new ParamsProvider.Builder(AbsMogoApplication.
getApp().getApplicationContext())
.append("sn", Utils.getSn())
.append("data", GsonUtil.jsonFromObject(uploadTrafficEntity))
.build();
}
}