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

@@ -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();
}
}