package com.github.hunter0x7c7.sync.model.data.result.consumer;
|
/*
|
* @Auther: Hunter
|
* @Date: 2022/12/02/18:03
|
* @Description:
|
*/
|
import com.github.hunter0x7c7.sync.model.data.result.ResultEntity;
|
import com.github.hunter0x7c7.sync.model.interfaces.KvCallback;
|
import io.reactivex.functions.Consumer;
|
|
public abstract class BaseConsumer<T> implements Consumer<ResultEntity<T>> {
|
private ResultEntity<T> mResultEntity;
|
|
public BaseConsumer() {
|
}
|
|
public void accept(ResultEntity<T> t) {
|
this.setResultEntity(t);
|
this.onAccept(t);
|
}
|
|
public abstract void onAccept(ResultEntity<T> var1);
|
|
public abstract void onSuccess(String var1, T var2);
|
|
public abstract void onResult(int var1, String var2);
|
|
protected void onReLogin(int code, String msg) {
|
// ToastUtil.showPrompt(string.login_disable_relogin);
|
this.onResult(-1, msg);
|
}
|
|
protected void onTimeout(int code, String msg) {
|
// ToastUtil.showPrompt(string.request_timeout);
|
this.onResult(-1, msg);
|
}
|
|
protected void onSystemError(int code, String msg) {
|
// ToastUtil.showPrompt(string.request_system_error);
|
this.onResult(-1, msg);
|
}
|
|
protected void onDeviceOffline(int code, String msg) {
|
// ToastUtil.showPrompt(string.device_offline);
|
this.onResult(-1, msg);
|
}
|
|
public void getDataResult(ResultEntity<T> result) {
|
// LogUtil.d("getDataResult... result:" + JsonUtil.toJson(result));
|
if (result != null) {
|
switch (result.getCode()) {
|
case 0:
|
if ("ok".equals(result.getMsg())) {
|
this.onSuccess(result.getMsg(), result.getData());
|
}
|
break;
|
case 200:
|
this.onSuccess(result.getMsg(), result.getData());
|
break;
|
default:
|
this.onResult(result.getCode(), result.getMsg());
|
}
|
} else {
|
this.onResult(-2, (String) null);
|
}
|
|
}
|
|
public void getDataResultMsg(ResultEntity<T> result) {
|
if (result != null) {
|
switch (result.getCode()) {
|
case 200:
|
this.onSuccess(result.getMsg(), result.getData());
|
break;
|
default:
|
this.onResult(result.getCode(), result.getMsg());
|
}
|
} else {
|
this.onResult(-2, (String) null);
|
}
|
|
}
|
|
public static <K> void getDataResultMsg(ResultEntity<K> result, KvCallback<K, String> callback) {
|
if (result != null) {
|
switch (result.getCode()) {
|
case 200:
|
if (callback != null) {
|
callback.onSuccess(result.getData());
|
}
|
break;
|
default:
|
if (callback != null) {
|
callback.onResult(result.getCode(), result.getMsg());
|
}
|
}
|
} else if (callback != null) {
|
callback.onResult(-1, null);
|
}
|
|
}
|
|
public static boolean getDataResultEnable(ResultEntity data) {
|
return data != null && data.getCode() == 200;
|
}
|
|
public ResultEntity<T> getResultEntity() {
|
return this.mResultEntity;
|
}
|
|
public void setResultEntity(ResultEntity<T> t) {
|
this.mResultEntity = t;
|
}
|
}
|