package com.doumee.keyCabinet.ui.keyCabinet; import android.app.Application; import android.text.TextUtils; import androidx.annotation.NonNull; import androidx.hilt.lifecycle.ViewModelInject; import androidx.lifecycle.MutableLiveData; import com.doumee.keyCabinet.MApplication; import com.doumee.keyCabinet.bean.FaceUserBean; import com.doumee.keyCabinet.bean.KeyCabinetBean; import com.doumee.keyCabinet.bean.LoginBean; import com.doumee.keyCabinet.dao.CabinetGridDo; import com.doumee.keyCabinet.event.HttpEvent; import com.doumee.keyCabinet.http.Apis; import com.doumee.keyCabinet.http.param.BaseResponse; import com.doumee.keyCabinet.http.param.CloseGridParam; import com.doumee.keyCabinet.http.param.GetDriverGridParam; import com.doumee.keyCabinet.http.param.OpenGridDriverParam; import com.doumee.keyCabinet.utils.ParamsUtil; import com.doumee.lib_coremodel.base.BaseModel; import com.doumee.lib_coremodel.base.DataViewModel; import com.doumee.lib_coremodel.http.rxJava.SimpleObserver; import com.doumee.lib_coremodel.http.utils.RxUtils; import org.checkerframework.checker.units.qual.A; import org.greenrobot.eventbus.EventBus; import java.util.ArrayList; import java.util.List; import java.util.Random; public class KeyCabinetVM extends DataViewModel { private MutableLiveData> datasLD = new MutableLiveData<>(); @ViewModelInject public KeyCabinetVM(@NonNull Application application, BaseModel model) { super(application, model); } @Override protected void clickByTypeCommand(int type) { doAction(type); } public void getDatas(){ /*List list = new ArrayList<>(); KeyCabinetBean b1 = new KeyCabinetBean(); b1.setCabinetName("A01"); b1.setBoardCode("1"); b1.setChannelCode("1"); b1.setKeyCode("C97B092F"); b1.setCarCode("苏A18829"); list.add(b1); KeyCabinetBean b2 = new KeyCabinetBean(); b2.setCabinetName("A02"); b2.setBoardCode("1"); b2.setChannelCode("2"); b2.setKeyCode("000000"); b2.setCarCode("苏A18820"); list.add(b2); datasLD.setValue(list);*/ GetDriverGridParam param = new GetDriverGridParam(); param.setType(MApplication.getLoginBean().getFlag()); param.setCabinetId(MApplication.getConfigBean().getId()); param.setMemberId(MApplication.getLoginBean().getMemberId()); param.setAutoMemberId(MApplication.getLoginBean().getAutoMemberId()); showLoading(true); getRetrofitService(Apis.class).getDriverGrid(ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver>>(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse> response) { if(200==response.getCode()){ //查询数据 if(response.getData()!=null&&response.getData().size()>0){ datasLD.setValue(response.getData()); } }else { toast(response.getMessage()); } } @Override public void onError(@NonNull Throwable e) { toast(e.getMessage()); } @Override public void onComplete() { hideLoading(); } }); } public void openGridDriver(KeyCabinetBean selectBean){ doAction(2); OpenGridDriverParam param = new OpenGridDriverParam(); param.setCabinetId(selectBean.getCabinetId()); param.setGridId(selectBean.getId()); param.setMemberId(MApplication.getLoginBean().getMemberId()); param.setAuthType(MApplication.getLoginBean().getAuthType()); showLoading(true); getRetrofitService(Apis.class).openGridDriver(ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ //开门 EventBus.getDefault().post(new HttpEvent("开门接口成功")); doAction(2); }else { toast(response.getMessage()); } } @Override public void onError(@NonNull Throwable e) { toast(e.getMessage()); } @Override public void onComplete() { hideLoading(); } }); } /** * 关门 * @param gridDo */ public void closeGrid(CabinetGridDo gridDo){ CloseGridParam param = new CloseGridParam(); LoginBean loginBean = MApplication.getLoginBean(); param.setCabinetId(MApplication.getConfigBean().getId()); param.setAuthType(loginBean.getAuthType()); param.setMemberId(loginBean.getMemberId()); param.setGridId(gridDo.getGridId()); param.setKeyStatus(!TextUtils.isEmpty(gridDo.getCurKeyCode())?1:2); getRetrofitService(Apis.class).closeGrid(ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { EventBus.getDefault().post(new HttpEvent("关闭柜格接口调用成功")); } @Override public void onError(@NonNull Throwable e) { } @Override public void onComplete() { } }); } public MutableLiveData> getDatasLD() { return datasLD; } }