doum
5 天以前 6c12dd77bc481aeabec568bfed3dd68e81b80f8b
keyCabinet-android/app/src/main/java/com/doumee/keyCabinet/ui/keyCabinet/ManageCabinetVM.java
@@ -3,12 +3,32 @@
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);
@@ -18,4 +38,164 @@
    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;
    }
}