add bindingcar and opt

This commit is contained in:
lixiaopeng
2022-03-18 11:39:53 +08:00
parent 7a31814b5f
commit a10e553f6a
19 changed files with 486 additions and 27 deletions

View File

@@ -4,6 +4,7 @@ import android.content.Context;
import com.alibaba.android.arouter.facade.annotation.Route;
import com.mogo.eagle.core.data.constants.MogoServicePaths;
import com.mogo.eagle.core.function.api.bindingcar.BindingcarCallBack;
import com.mogo.eagle.core.function.api.bindingcar.IMoGoBindingcarProvider;
import com.mogo.eagle.core.function.bindingcar.network.BindingcarNetWorkManager;
@@ -30,11 +31,14 @@ public class BindingcarProvider implements IMoGoBindingcarProvider {
@Override
public void init(Context context) {
}
@Override
public void modifyCarInfo() {
BindingcarNetWorkManager.getInstance().requestAccidentInfo("");
public void modifyCarInfo(BindingcarCallBack callBack) {
BindingcarNetWorkManager.getInstance().getBindingcarInfo("");
// BindingcarNetWorkManager.getInstance().modifyBindingcar(callBack);
}
}

View File

@@ -1,5 +1,7 @@
package com.mogo.eagle.core.function.bindingcar.network;
import com.mogo.eagle.core.data.bindingcar.BindingcarInfo;
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo;
import com.mogo.eagle.core.data.notice.NoticeTrafficStyleInfo;
import io.reactivex.Observable;
@@ -15,14 +17,21 @@ import retrofit2.http.POST;
*/
public interface BindingcarApiService {
/**
* 获取道路事故详情
* 获取绑定车辆的信息
*
* @param requestBody 请求体(infoId 交警任务id)
* @return {@link NoticeTrafficStyleInfo}
* @return {@link BindingcarInfo}
*/
@Headers("Content-Type:application/json;charset=UTF-8")
@POST("/deva/accidentInfoManage/queryMyAccidentHandleInfo/server/v1")
Observable<NoticeTrafficStyleInfo> getAccidentInfo(@Body RequestBody requestBody);
@POST("/pad/selectPadByMac")
Observable<BindingcarInfo> getBindingcarInfo(@Body RequestBody requestBody);
/**
* 绑定和修改绑定车机
*
* @return {@link ModifyBindingcarInfo}
*/
@Headers("Content-Type:application/json;charset=UTF-8")
@POST("/pad/updatePadByMac")
Observable<ModifyBindingcarInfo> modifyBindingcarInfo(@Body RequestBody requestBody);
}

View File

@@ -1,9 +1,21 @@
package com.mogo.eagle.core.function.bindingcar.network;
import com.mogo.cloud.network.NetConstants;
import com.mogo.cloud.network.RetrofitFactory;
import android.util.Log;
import com.mogo.eagle.core.function.api.notice.NoticeNetCallBack;
import com.mogo.cloud.network.RetrofitFactory;
import com.mogo.cloud.passport.MoGoAiCloudClientConfig;
import com.mogo.eagle.core.data.bindingcar.BindingcarInfo;
import com.mogo.eagle.core.data.bindingcar.ModifyBindingcarInfo;
import com.mogo.eagle.core.function.api.bindingcar.BindingcarCallBack;
import com.mogo.eagle.core.network.utils.GsonUtil;
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;
import okhttp3.MediaType;
import okhttp3.RequestBody;
/**
* @author Jing
@@ -14,8 +26,11 @@ public class BindingcarNetWorkManager {
private static volatile BindingcarNetWorkManager requestNoticeManager;
private final BindingcarApiService mBindingcarApiService;
private BindingcarNetWorkManager() {
mBindingcarApiService = RetrofitFactory.INSTANCE.getInstance(NetConstants.DEVA_HOST)
private BindingcarNetWorkManager() { //TODO
// mBindingcarApiService = RetrofitFactory.INSTANCE.getInstance(NetConstants.DEVA_HOST)
// .create(BindingcarApiService.class);
mBindingcarApiService = RetrofitFactory.INSTANCE.getInstance("http://cmdb.ee-private-dev.myghost.zhidaoauto.com/")
.create(BindingcarApiService.class);
}
@@ -31,15 +46,77 @@ public class BindingcarNetWorkManager {
}
/**
* 获取事故详细信息
* 获取绑定的车辆信息
*
* @param macAddress mac地址 TODO
*
* @param macAddress mac地址
* @param callBack 回调
*/
public void requestAccidentInfo(String macAddress) {
public void getBindingcarInfo(String macAddress) {
String sn = MoGoAiCloudClientConfig.getInstance().getSn();
BindingcarRequest request = new BindingcarRequest(sn, "48:b0:2d:3a:9c:19");
RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request));
mBindingcarApiService.getBindingcarInfo(requestBody)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BindingcarInfo>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.d("liyz", "getBindingcarInfo onSubscribe -----> ");
}
@Override
public void onNext(@NonNull BindingcarInfo info) {
Log.d("liyz", "getBindingcarInfo onNext info =" + info.toString());
}
@Override
public void onError(@NonNull Throwable e) {
Log.d("liyz", "getBindingcarInfo onError e = " + e.toString() + "---e.getMessage = " + e.getMessage());
}
@Override
public void onComplete() {
Log.d("liyz", "getBindingcarInfo onComplete");
}
});
}
/**
* 绑定和修改绑定车辆
*/
public void modifyBindingcar(BindingcarCallBack callBack) {
String sn = MoGoAiCloudClientConfig.getInstance().getSn();
BindingcarRequest request = new BindingcarRequest(sn, "48:b0:2d:3a:9c:19");
RequestBody requestBody = RequestBody.create(MediaType.get("application/json;charset=UTF-8"), GsonUtil.jsonFromObject(request));
mBindingcarApiService.modifyBindingcarInfo(requestBody)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<ModifyBindingcarInfo>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
Log.d("liyz", "modifyBindingcar onSubscribe -----> ");
}
@Override
public void onNext(@NonNull ModifyBindingcarInfo info) {
if (info.getData() != null) {
callBack.callBackResult(info);
}
Log.d("liyz", "modifyBindingcar onNext info " + info.toString());
}
@Override
public void onError(@NonNull Throwable e) {
Log.d("liyz", "modifyBindingcar onError e = " + e.toString() + "---e.getMessage = " + e.getMessage());
}
@Override
public void onComplete() {
Log.d("liyz", "modifyBindingcar onComplete ");
}
});
}
}

View File

@@ -6,17 +6,35 @@ package com.mogo.eagle.core.function.bindingcar.network;
* @since: 11/15/21
*/
public class BindingcarRequest {
private String infoId;
private String mac;
private String sn;
public BindingcarRequest(String infoId) {
this.infoId = infoId;
public BindingcarRequest(String mac, String sn) {
this.mac = mac;
this.sn = sn;
}
public String getInfoId() {
return infoId;
public String getMac() {
return mac;
}
public void setInfoId(String infoId) {
this.infoId = infoId;
public void setMac(String mac) {
this.mac = mac;
}
public String getSn() {
return sn;
}
public void setSn(String sn) {
this.sn = sn;
}
@Override
public String toString() {
return "BindingcarRequest{" +
"mac='" + mac + '\'' +
", sn='" + sn + '\'' +
'}';
}
}