package com.doumee.keyCabinet.ui.keyCabinet; import android.app.Application; import androidx.annotation.NonNull; import androidx.databinding.ObservableField; import androidx.hilt.lifecycle.ViewModelInject; import androidx.lifecycle.MutableLiveData; import com.doumee.keyCabinet.MApplication; import com.doumee.keyCabinet.bean.CabinetDetailBean; import com.doumee.keyCabinet.bean.ManageKeyCabinetBean; import com.doumee.keyCabinet.http.Apis; import com.doumee.keyCabinet.http.param.BaseResponse; import com.doumee.keyCabinet.http.param.BatchOpenGridAdminParam; import com.doumee.keyCabinet.http.param.CancelFaultParam; import com.doumee.keyCabinet.http.param.MarkFaultParam; import com.doumee.keyCabinet.http.param.MarkRepairParam; 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 java.util.ArrayList; import java.util.List; public class ManageCabinetVM extends DataViewModel { public ObservableField dataOb = new ObservableField<>(); private MutableLiveData> datasLD = new MutableLiveData<>(); @ViewModelInject public ManageCabinetVM(@NonNull Application application, BaseModel model) { super(application, model); } @Override protected void clickByTypeCommand(int type) { doAction(type); } public void getCabinetDetail(){ showLoading(true); getRetrofitService(Apis.class).getCabinetDetail(MApplication.getLoginBean().getToken(), MApplication.getConfigBean().getId()) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver>(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ dataOb.set(response.getData()); if(response.getData()!=null){ if(response.getData().getCabinetGridInfoVOList()!=null){ datasLD.setValue(response.getData().getCabinetGridInfoVOList()); }else { datasLD.setValue(new ArrayList<>()); } }else { datasLD.setValue(new ArrayList<>()); } }else { toast(response.getMessage()); } } @Override public void onError(@NonNull Throwable e) { toast(e.getMessage()); } @Override public void onComplete() { hideLoading(); } }); } public void batchOpenGridAdmin(List gridIdList){ showLoading(true); BatchOpenGridAdminParam param = new BatchOpenGridAdminParam(); param.setCabinetId(MApplication.getConfigBean().getId()); param.setGridIdList(gridIdList); getRetrofitService(Apis.class).batchOpenGridAdmin(MApplication.getLoginBean().getToken(), ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ doAction(8); }else { toast(response.getMessage()); } } @Override public void onError(@NonNull Throwable e) { toast(e.getMessage()); } @Override public void onComplete() { hideLoading(); } }); } public void cancelFault(List gridIdList){ showLoading(true); CancelFaultParam param = new CancelFaultParam(); param.setCabinetId(MApplication.getConfigBean().getId()); param.setGridIdList(gridIdList); getRetrofitService(Apis.class).cancelFault(MApplication.getLoginBean().getToken(), ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ getCabinetDetail(); }else { toast(response.getMessage()); } } @Override public void onError(@NonNull Throwable e) { toast(e.getMessage()); } @Override public void onComplete() { hideLoading(); } }); } public void markFault(List gridIdList){ showLoading(true); MarkFaultParam param = new MarkFaultParam(); param.setCabinetId(MApplication.getConfigBean().getId()); param.setGridIdList(gridIdList); getRetrofitService(Apis.class).markFault(MApplication.getLoginBean().getToken(), ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ getCabinetDetail(); }else { toast(response.getMessage()); } } @Override public void onError(@NonNull Throwable e) { toast(e.getMessage()); } @Override public void onComplete() { hideLoading(); } }); } public void markRepair(List gridIdList){ showLoading(true); MarkRepairParam param = new MarkRepairParam(); param.setCabinetId(MApplication.getConfigBean().getId()); param.setGridIdList(gridIdList); getRetrofitService(Apis.class).markRepair(MApplication.getLoginBean().getToken(), ParamsUtil.encodeRequestBody(param)) .compose(RxUtils.schedulersTransformer()) .subscribe(new SimpleObserver(rxJavaGcManager) { @Override public void onNext(@NonNull BaseResponse response) { if(200==response.getCode()){ getCabinetDetail(); }else { toast(response.getMessage()); } } @Override public void onError(@NonNull Throwable e) { toast(e.getMessage()); } @Override public void onComplete() { hideLoading(); } }); } public MutableLiveData> getDatasLD() { return datasLD; } }