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<CabinetDetailBean> dataOb = new ObservableField<>();
|
private MutableLiveData<List<ManageKeyCabinetBean>> 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<BaseResponse<CabinetDetailBean>>(rxJavaGcManager) {
|
@Override
|
public void onNext(@NonNull BaseResponse<CabinetDetailBean> 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<Integer> 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<BaseResponse>(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<Integer> 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<BaseResponse>(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<Integer> 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<BaseResponse>(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<Integer> 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<BaseResponse>(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<List<ManageKeyCabinetBean>> getDatasLD() {
|
return datasLD;
|
}
|
}
|