修改设备信息/解绑设备

This commit is contained in:
fengjignqi
2026-05-20 16:54:41 +08:00
parent dcce26edf2
commit c90d26afc1
10 changed files with 82 additions and 14 deletions

View File

@@ -47,7 +47,8 @@ public class ConstantUtil {
public static final int CAMERA_AUTH_CODE = 1003; public static final int CAMERA_AUTH_CODE = 1003;
//快速下单,下载模板到手机 //快速下单,下载模板到手机
public static final int DOWN_TEMPLATE_CODE = 1004; public static final int DOWN_TEMPLATE_CODE = 1004;
/***************设备相关*******************/
//设备解绑成功广播
public static final String DEVICE_UNBIND_SUCCESS = "device_unbind_success";
} }

View File

@@ -10,6 +10,7 @@ public class EventMessage {
public static final String DATA_REFRESH_EVENT = "data_refresh_event"; public static final String DATA_REFRESH_EVENT = "data_refresh_event";
public static final String USER_LOGIN_LOST = "user_login_lost"; public static final String USER_LOGIN_LOST = "user_login_lost";
public static final String CODE_LOGIN_LOST = "code_login_lost"; public static final String CODE_LOGIN_LOST = "code_login_lost";
public static final String ACTIVITY_FINISH = "activity_finish";
public static final String WX_PAY_SUCCESS = "wx_pay_success"; public static final String WX_PAY_SUCCESS = "wx_pay_success";
public static final String USER_LOGIN_SUCCESS = "user_login_success"; public static final String USER_LOGIN_SUCCESS = "user_login_success";
public static final String HISTORY_SESSIONID_DELETE_SUCCESS = "history_sessionid_delete_success"; public static final String HISTORY_SESSIONID_DELETE_SUCCESS = "history_sessionid_delete_success";

View File

@@ -7,6 +7,7 @@ import android.view.View;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ckkj.water.EventMessage;
import com.ckkj.water.R; import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity; import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.custom.GridSpacingItemDecoration; import com.ckkj.water.custom.GridSpacingItemDecoration;
@@ -27,6 +28,9 @@ import com.lxj.xpopup.core.BasePopupView;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import de.greenrobot.event.Subscribe;
import de.greenrobot.event.ThreadMode;
/** /**
* 设备控制页面 * 设备控制页面
*/ */
@@ -147,6 +151,15 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
} }
} }
@Subscribe(threadMode = ThreadMode.MainThread)
public void onGetMessage(EventMessage message) {
switch (message.msg){
case EventMessage.ACTIVITY_FINISH:
finish();
break;
}
}
/** /**
* 获取设备详情成功 * 获取设备详情成功
* @param bean * @param bean

View File

@@ -2,11 +2,13 @@ package com.ckkj.water.device;
import android.content.Intent; import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.os.Handler;
import android.view.View; import android.view.View;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import com.ckkj.water.ConstantUtil; import com.ckkj.water.ConstantUtil;
import com.ckkj.water.EventMessage;
import com.ckkj.water.R; import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity; import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.base.BaseFragment; import com.ckkj.water.base.BaseFragment;
@@ -19,6 +21,10 @@ import com.ckkj.water.network.BaseBean;
import com.ckkj.water.utils.show.ToastUtil; import com.ckkj.water.utils.show.ToastUtil;
import com.gyf.immersionbar.ImmersionBar; import com.gyf.immersionbar.ImmersionBar;
import de.greenrobot.event.EventBus;
import de.greenrobot.event.Subscribe;
import de.greenrobot.event.ThreadMode;
/** /**
* 设备控制页面 * 设备控制页面
*/ */
@@ -65,6 +71,9 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
public void onClick(View v){ public void onClick(View v){
switch (v.getId()){ switch (v.getId()){
case R.id.img_back: case R.id.img_back:
Intent intent = new Intent();
intent.putExtra("device_entity",mDeviceEntity);
setResult(RESULT_OK,intent);
finish(); finish();
break; break;
@@ -124,6 +133,14 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
} }
} }
@Override
public void onBackPressed() {
Intent intent = new Intent();
intent.putExtra("device_entity",mDeviceEntity);
setResult(RESULT_OK,intent);
super.onBackPressed();
}
@Override @Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data); super.onActivityResult(requestCode, resultCode, data);
@@ -153,12 +170,24 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
@Override @Override
public void finish() { public void finish() {
Intent intent = new Intent();
intent.putExtra("device_entity",mDeviceEntity);
setResult(RESULT_OK,intent);
super.finish(); super.finish();
} }
@Override
public void deleteDeviceSuccess(BaseBean bean) {
hideDialogLoading();
ToastUtil.showShort(mContext, getString(R.string.unbind_success));
EventBus.getDefault().post(new EventMessage(EventMessage.ACTIVITY_FINISH));
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
finish();
}
},500);
}
@Override @Override
public int getLayoutResId(Bundle savedInstanceState) { public int getLayoutResId(Bundle savedInstanceState) {
return 0; return 0;
@@ -186,10 +215,7 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
@Override
public void deleteDeviceSuccess(BaseBean bean) {
}
@Override @Override
public void turnOnOffDeviceSuccess(BaseBean bean) { public void turnOnOffDeviceSuccess(BaseBean bean) {

View File

@@ -25,7 +25,7 @@ public class DeviceContract {
void editDeviceInfo(JSONObject json, IndexContract.CallBack callBack); void editDeviceInfo(JSONObject json, IndexContract.CallBack callBack);
//删除设备信息 //删除设备信息
void deleteDevice(JSONObject json, IndexContract.CallBack callBack); void deleteDevice(String id,JSONObject json, IndexContract.CallBack callBack);
//手动开启关闭设备 //手动开启关闭设备
void turnOnOffDevice(JSONObject json, IndexContract.CallBack callBack); void turnOnOffDevice(JSONObject json, IndexContract.CallBack callBack);

View File

@@ -134,9 +134,9 @@ public class DeviceImpl implements DeviceContract.DataModel{
* @param callBack * @param callBack
*/ */
@Override @Override
public void deleteDevice(JSONObject json, IndexContract.CallBack callBack) { public void deleteDevice(String devID,JSONObject json, IndexContract.CallBack callBack) {
try { try {
NetWorkManager.getRequest().unBindDevice(NetWorkManager.getToken(), NetWorkManager.toRequestBodyJSONArray(json)) NetWorkManager.getRequest().unBindDevice(NetWorkManager.getToken(), devID)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io()) .unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())

View File

@@ -5,6 +5,7 @@ import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.mvp.IndexContract; import com.ckkj.water.index.mvp.IndexContract;
import com.ckkj.water.network.BaseBean; import com.ckkj.water.network.BaseBean;
import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONException;
import org.json.JSONObject; import org.json.JSONObject;
@@ -113,6 +114,29 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
* @param deviceEntity * @param deviceEntity
*/ */
public void unBindDevice(IndexDeviceEntity deviceEntity) { public void unBindDevice(IndexDeviceEntity deviceEntity) {
//Todo try {
// 构造JSON数组格式的请求体 ["2052921001527869441"]
JSONArray jsonArray = new JSONArray();
jsonArray.put(deviceEntity.getId());
JSONObject json = new JSONObject();
json.put("ids", jsonArray);
impl.deleteDevice(deviceEntity.getId(),json, new IndexContract.CallBack<BaseBean>() {
@Override
public void success(BaseBean bean, int total) {
if (DevicePresenter.this.getView() != null) {
DevicePresenter.this.getView().deleteDeviceSuccess(bean);
}
}
@Override
public void fail(String msg) {
if (DevicePresenter.this.getView() != null) {
DevicePresenter.this.getView().showError(msg);
}
}
});
} catch (JSONException e) {
throw new RuntimeException(e);
}
} }
} }

View File

@@ -18,6 +18,7 @@ import okhttp3.RequestBody;
import retrofit2.http.Body; import retrofit2.http.Body;
import retrofit2.http.DELETE; import retrofit2.http.DELETE;
import retrofit2.http.GET; import retrofit2.http.GET;
import retrofit2.http.HTTP;
import retrofit2.http.HeaderMap; import retrofit2.http.HeaderMap;
import retrofit2.http.POST; import retrofit2.http.POST;
import retrofit2.http.PUT; import retrofit2.http.PUT;
@@ -59,8 +60,8 @@ public interface Request {
//解绑信息 //解绑信息
// 示例:ids array[string] // 示例:ids array[string]
//["2052921001527869441"] //["2052921001527869441"]
@DELETE("/app/v1/deleteDevice") @DELETE("app/v1/deleteDevice/{ids}")
Observable<BaseBean> unBindDevice(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody); Observable<BaseBean> unBindDevice(@HeaderMap Map<String,String> headMap, @Path("ids") String id);

View File

@@ -72,6 +72,7 @@
<string name="device_setting_info">设备信息</string> <string name="device_setting_info">设备信息</string>
<string name="device_setting_wifi_manager">WiFi管理</string> <string name="device_setting_wifi_manager">WiFi管理</string>
<string name="device_setting_unbind">解绑设备</string> <string name="device_setting_unbind">解绑设备</string>
<string name="unbind_success">设备解绑成功</string>
<string name="settings_title">设置</string> <string name="settings_title">设置</string>
<string name="confirm_text">确定</string> <string name="confirm_text">确定</string>
<string name="cancel_text">取消</string> <string name="cancel_text">取消</string>

View File

@@ -72,6 +72,7 @@
<string name="device_setting_info">设备信息</string> <string name="device_setting_info">设备信息</string>
<string name="device_setting_wifi_manager">WiFi管理</string> <string name="device_setting_wifi_manager">WiFi管理</string>
<string name="device_setting_unbind">解绑设备</string> <string name="device_setting_unbind">解绑设备</string>
<string name="unbind_success">设备解绑成功</string>
<string name="settings_title">设置</string> <string name="settings_title">设置</string>
<string name="confirm_text">确定</string> <string name="confirm_text">确定</string>
<string name="cancel_text">取消</string> <string name="cancel_text">取消</string>