From 28d480d72ead2d9e44d587685f1509f7c995e2c3 Mon Sep 17 00:00:00 2001 From: unknown Date: Mon, 9 Nov 2020 14:54:48 +0800 Subject: [PATCH] add TrafficModel --- .../impl/amap/search/TrafficSearchClient.java | 10 ----- .../module/share/constant/HttpConstant.kt | 1 + .../share/manager/TrafficUploadManager.kt | 40 ++++++++++++------- .../module/share/net/TrafficApiService.java | 4 ++ .../module/share/net/TrafficModelData.java | 33 +++++++++++++++ 5 files changed, 64 insertions(+), 24 deletions(-) create mode 100644 modules/mogo-module-share/src/main/java/com/mogo/module/share/net/TrafficApiService.java create mode 100644 modules/mogo-module-share/src/main/java/com/mogo/module/share/net/TrafficModelData.java diff --git a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/search/TrafficSearchClient.java b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/search/TrafficSearchClient.java index 1bc5961f1a..c09b514f2d 100644 --- a/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/search/TrafficSearchClient.java +++ b/libraries/map-amap/src/main/java/com/mogo/map/impl/amap/search/TrafficSearchClient.java @@ -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 trafficStatusInfoList = new ArrayList<>(); List 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 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)); diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/HttpConstant.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/HttpConstant.kt index 5307935379..6e5e7aed7c 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/HttpConstant.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/constant/HttpConstant.kt @@ -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 diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/TrafficUploadManager.kt b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/TrafficUploadManager.kt index dd1a140b4c..90834b2bdf 100644 --- a/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/TrafficUploadManager.kt +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/manager/TrafficUploadManager.kt @@ -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 = 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) + } } } \ No newline at end of file diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/net/TrafficApiService.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/net/TrafficApiService.java new file mode 100644 index 0000000000..2bb369a704 --- /dev/null +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/net/TrafficApiService.java @@ -0,0 +1,4 @@ +package com.mogo.module.share.net; + +public interface TrafficApiService { +} diff --git a/modules/mogo-module-share/src/main/java/com/mogo/module/share/net/TrafficModelData.java b/modules/mogo-module-share/src/main/java/com/mogo/module/share/net/TrafficModelData.java new file mode 100644 index 0000000000..2326b804de --- /dev/null +++ b/modules/mogo-module-share/src/main/java/com/mogo/module/share/net/TrafficModelData.java @@ -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 params = new ParamsProvider.Builder(AbsMogoApplication. + getApp().getApplicationContext()) + .append("sn", Utils.getSn()) + .append("data", GsonUtil.jsonFromObject(uploadTrafficEntity)) + .build(); + } +}