diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 6249850d4f..1f3d18c759 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -74,6 +74,7 @@ diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java index fb6d339554..78aa40001d 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/entrance/EntrancePresenter.java @@ -120,9 +120,6 @@ public class EntrancePresenter extends Presenter implements Weathe // 相当于每次onResume都会请求一下个人信息,目的是能够相对及时的同步手机端的个人信息修改 requestUserInfo(); } - if(DebugConfig.isMapBased()) { - requestCarModelList(); - } getCommonConfig(); } @@ -242,38 +239,4 @@ public class EntrancePresenter extends Presenter implements Weathe return ""; } } - - private void requestCarModelList() { - Map params = new HashMap<>(8); - params.put("sn", Utils.getSn()); -// params.put("sn", "ZD802B1932L00617"); - mNetWork.create(UserInfoNetApiServices.class, DztHttpConstant.getBaseUrl()). - requestCarModelList(params). - subscribeOn(Schedulers.io()). - observeOn(Schedulers.io()). - subscribe(new SubscribeImpl(RequestOptions.create(context)) { - @Override - public void onSuccess(CarModelListResponse o) { - super.onSuccess(o); - Logger.d(TAG, "请求车模列表成功: " + o); - // todo 保存到sp中 - SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST", - GsonUtil.jsonFromObject(o.getResult())); - } - - @Override - public void onError(Throwable e) { - super.onError(e); - Logger.e(TAG, e, "请求自车模型失败"); - } - - @Override - public void onError(String message, int code) { - super.onError(message, code); - Logger.e(TAG, "请求自车模型失败: " + message); - } - }); - - } - } diff --git a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java index ef6b3bd04c..e8afa9f17b 100644 --- a/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java +++ b/modules/mogo-module-extensions/src/main/java/com/mogo/module/extensions/net/UserInfoNetApiServices.java @@ -23,7 +23,4 @@ public interface UserInfoNetApiServices { */ @GET("carlife/carMachine/getAccountInfo") Single requestUserInfo(@QueryMap Map params); - - @GET("yycp-userDataService/app/enthusiasm/getEnthusiasmInfo/v1") - Observable requestCarModelList(@QueryMap Map params); } diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelInfoNetApiServices.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelInfoNetApiServices.java new file mode 100644 index 0000000000..a23e8553bc --- /dev/null +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelInfoNetApiServices.java @@ -0,0 +1,34 @@ +package com.mogo.service.impl.adas; + +import com.mogo.commons.debug.DebugConfig; + +import java.util.Map; + +import io.reactivex.Observable; +import retrofit2.http.GET; +import retrofit2.http.QueryMap; + +interface CarModelInfoNetApiServices { + String HOST_DEV = "http://dzt-test.zhidaozhixing.com"; + String HOST_TEST = "http://dzt-test.zhidaozhixing.com"; + String HOST_DEMO = "http://dzt-show.zhidaozhixing.com"; + String HOST_PRODUCT = "http://dzt.zhidaozhixing.com"; + + static String getBaseUrl(){ + switch ( DebugConfig.getNetMode() ) { + case DebugConfig.NET_MODE_DEV: + return HOST_DEV; + case DebugConfig.NET_MODE_QA: + return HOST_TEST; + case DebugConfig.NET_MODE_DEMO: + return HOST_DEMO; + default: + return HOST_PRODUCT; + } + } + + @GET("yycp-userDataService/app/enthusiasm/getEnthusiasmInfo/v1") + Observable requestCarModelList(@QueryMap Map params); + + +} diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListInfo.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListInfo.java new file mode 100644 index 0000000000..f30cc75145 --- /dev/null +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListInfo.java @@ -0,0 +1,47 @@ +package com.mogo.service.impl.adas; + +import com.mogo.module.common.entity.OwnCarModelEntity; + +import java.util.List; + +public class CarModelListInfo { + private String sn; + /** + * 热心指数 eg: 1 1.5 2 2.5 + */ + private float enthusiasmIndex; + private List imageData; + + public String getSn() { + return sn; + } + + public void setSn(String sn) { + this.sn = sn; + } + + public float getEnthusiasmIndex() { + return enthusiasmIndex; + } + + public void setEnthusiasmIndex(float enthusiasmIndex) { + this.enthusiasmIndex = enthusiasmIndex; + } + + public List getImageData() { + return imageData; + } + + public void setImageData(List imageData) { + this.imageData = imageData; + } + + @Override + public String toString() { + return "CarModelListInfo{" + + "sn='" + sn + '\'' + + ", enthusiasmIndex=" + enthusiasmIndex + + ", imageData=" + imageData + + '}'; + } +} diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListResponse.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListResponse.java new file mode 100644 index 0000000000..8775e4bbd5 --- /dev/null +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/CarModelListResponse.java @@ -0,0 +1,29 @@ +package com.mogo.service.impl.adas; + +import com.mogo.commons.data.BaseData; + +/** + * 请求根据热心指数获取自车图标列表的响应类 + * + * @author tongchenfei + */ +public class CarModelListResponse extends BaseData { + private CarModelListInfo result; + + public CarModelListInfo getResult() { + return result; + } + + public void setResult(CarModelListInfo result) { + this.result = result; + } + + @Override + public String toString() { + return "CarModelListResponse{" + + "result=" + result + + ", code=" + code + + ", msg='" + msg + '\'' + + '}'; + } +} diff --git a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java index a82f54b337..277461c9d8 100644 --- a/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java +++ b/services/mogo-service/src/main/java/com/mogo/service/impl/adas/MogoADASController.java @@ -8,6 +8,8 @@ import com.alibaba.android.arouter.facade.annotation.Route; import com.mogo.commons.AbsMogoApplication; import com.mogo.commons.context.ContextHolderUtil; import com.mogo.commons.debug.DebugConfig; +import com.mogo.commons.network.SubscribeImpl; +import com.mogo.commons.network.Utils; import com.mogo.map.uicontroller.EnumMapUI; import com.mogo.module.common.MogoApisHandler; import com.mogo.module.common.MogoModule; @@ -22,6 +24,8 @@ import com.mogo.service.statusmanager.IMogoStatusManager; import com.mogo.utils.TipToast; import com.mogo.utils.UiThreadHandler; import com.mogo.utils.logger.Logger; +import com.mogo.utils.network.RequestOptions; +import com.mogo.utils.network.utils.GsonUtil; import com.mogo.utils.storage.SharedPrefsMgr; import com.zhidao.adasconfig.api.AdasConfigApiController; import com.zhidao.adasconfig.common.config.EnumCarChatIncognitoMode; @@ -34,7 +38,11 @@ import com.zhidao.autopilot.support.api.IAutopolitDataCallBack; import org.json.JSONObject; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; + +import io.reactivex.schedulers.Schedulers; import static com.mogo.module.common.utils.SPConst.getSpGuide; @@ -132,10 +140,17 @@ public class MogoADASController implements IMogoADASController { @Override public void requestGetCarModelListInfo() { - Logger.d( TAG, "requestGetCarModelListInfo" ); - // 向adas发送车模list - AutopilotServiceManage.getInstance().settingCarModelListInfo( SharedPrefsMgr.getInstance( context ).getString( - "CAR_MODEL_LIST", "default-value" ) ); + if (DebugConfig.isMapBased()) { + Logger.d(TAG, "requestGetCarModelListInfo"); + // 向adas发送车模list + String carModelList = SharedPrefsMgr.getInstance(context).getString( + "CAR_MODEL_LIST", ""); + if (carModelList != null && !carModelList.isEmpty()) { + AutopilotServiceManage.getInstance().settingCarModelListInfo(carModelList); + } + // 此处进行网络请求,请求成功后再通知一次adas + requestCarModelList(); + } } @Override @@ -144,6 +159,8 @@ public class MogoADASController implements IMogoADASController { MyLocationUtil.emphasizeMyLocation(); } needEmphasizeMyLocation = false; + + useTestSn = !useTestSn; } @Override @@ -155,6 +172,8 @@ public class MogoADASController implements IMogoADASController { } } + private boolean useTestSn = false; + private void invokeShowADASOperation() { int delay = CarSeries.isF8xxSeries() ? 0 : 100; @@ -303,6 +322,47 @@ public class MogoADASController implements IMogoADASController { adasDataCallbackList.remove(callback); } + private static final String TEST_SN = "ZD802B1932L00617"; + private String currentSn = TEST_SN; + + private void requestCarModelList() { + Map params = new HashMap<>(8); + params.put("sn", Utils.getSn()); +// currentSn = useTestSn ? TEST_SN : Utils.getSn(); +// params.put("sn", currentSn); + MogoApisHandler.getInstance().getApis().getNetworkApi().create(CarModelInfoNetApiServices.class, CarModelInfoNetApiServices.getBaseUrl()). + requestCarModelList(params). + subscribeOn(Schedulers.io()). + observeOn(Schedulers.io()). + subscribe(new SubscribeImpl(RequestOptions.create(context)) { + @Override + public void onSuccess(CarModelListResponse o) { + super.onSuccess(o); + Logger.d(TAG, "请求车模列表成功: " + o); + // 保存到sp中 + String value = GsonUtil.jsonFromObject(o.getResult()); + SharedPrefsMgr.getInstance(context).putString("CAR_MODEL_LIST", + value); + if(value != null && !value.isEmpty()){ + AutopilotServiceManage.getInstance().settingCarModelListInfo(value); + } + } + + @Override + public void onError(Throwable e) { + super.onError(e); + Logger.e(TAG, e, "请求自车模型失败"); + } + + @Override + public void onError(String message, int code) { + super.onError(message, code); + Logger.e(TAG, "请求自车模型失败: " + message); + } + }); + + } + @Override public void release() { AutopilotServiceManage.getInstance().release();