排程分页2

This commit is contained in:
fengjignqi
2026-05-27 10:01:09 +08:00
parent 30e88c8067
commit 20aaf98235
6 changed files with 105 additions and 5 deletions

View File

@@ -89,6 +89,10 @@ public interface Request {
@GET("app/v1/schedule/{id}")
Observable<BaseBean<WaterPlanWeekEntity>> getPlanDetailInfo(@HeaderMap Map<String, String> headMap, @Path("id") String id);
//排程绑定设备
@POST("app/v1/addScheduleDevice")
Observable<BaseBean> planBindDevice(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
//解绑信息
@DELETE("app/v1/deleteDevice/{ids}")
Observable<BaseBean> unBindDevice(@HeaderMap Map<String,String> headMap, @Path("ids") String id);

View File

@@ -15,6 +15,7 @@ import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
import com.ckkj.water.plan.mvp.WaterPlanContract;
import com.ckkj.water.plan.mvp.WaterPlanImpl;
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
import com.ckkj.water.utils.show.ToastUtil;
import java.util.ArrayList;
import java.util.List;
@@ -33,9 +34,7 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
@Override
public void initData(Bundle state) {
String jsonContent = getString(R.string.plan_water_entity_json);
// WaterPlanWeekEntity entity = new Gson().fromJson(jsonContent, WaterPlanWeekEntity.class);
// weekList.add(entity);
initListener();
mAdapter = new BindDeviceAdapter(mContext,R.layout.plan_bind_device_item,mDeviceList);
viewBinding.rvDevices.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@@ -47,11 +46,40 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
}else{
mDeviceList.get(position).setStatus("0");
}
// syncSelectedDevices();
}
});
// 接收来自AddWaterPlanActivity的WaterPlanWeekEntity对象并使用传参。
}
private void initListener() {
setClick(viewBinding.tvCommit);
}
private void setClick(View view) {
view.setOnClickListener(this::onClick);
}
public void onClick(View v){
switch (v.getId()){
case R.id.tv_commit:
boolean isSelected = false;
List<String> selected = new ArrayList<>();
for(WaterDeviceEntity.DeviceListBean bean : mDeviceList){
if(bean.getStatus().equals("1")){
isSelected = true;
selected.add(bean.getId());
}
}
if(!isSelected){
ToastUtil.showShort(mContext, getString(R.string.select_the_device_to_link));
return;
}
String selDevice = "";
for(String id : selected){
selDevice += id + ",";
}
selDevice = selDevice.substring(0,selDevice.length()-1);
mPresenter.planBindWithDevices(mPlanEntity,selDevice);
break;
}
}
@Override

View File

@@ -25,6 +25,8 @@ public class WaterPlanContract {
void getPlanBindDeviceList(Map<String, String> map,CallBack callBack);
//查询排程详情
void getPlanDetailInfo(Map<String, String> map,CallBack callBack);
//排程绑定设备
void planBindDevice(JSONObject json,CallBack callBack);
}
public interface WaterPlanView extends IView {

View File

@@ -196,4 +196,39 @@ public class WaterPlanImpl implements WaterPlanContract.DataModel{
}
});
}
@Override
public void planBindDevice(JSONObject json, WaterPlanContract.CallBack callBack) {
try {
NetWorkManager.getRequest().planBindDevice(NetWorkManager.getToken(),NetWorkManager.toRequestBody(json))
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseBean>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseBean bean) {
if (bean.getCode() == 200) {
callBack.success(bean.getData(),0);
} else {
callBack.fail(bean.getMessage());
}
}
@Override
public void onError(@NonNull Throwable e) {
callBack.fail(e.getMessage());
}
@Override
public void onComplete() {
}
});
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@@ -178,4 +178,34 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
}
});
}
/**
* 排程绑定设备
* @param entity
* @param deviceIds
*/
public void planBindWithDevices(WaterPlanWeekEntity entity, String deviceIds) {
try {
JSONObject json = new JSONObject();
json.put("scheduleId", entity.getId());
json.put("deviceIds", deviceIds);
impl.planBindDevice(json, new WaterPlanContract.CallBack<WaterPlanWeekEntity>() {
@Override
public void success(WaterPlanWeekEntity msg, int total) {
if(WaterPlanPresenter.this.getView() != null){
}
}
@Override
public void fail(String msg) {
if(WaterPlanPresenter.this.getView() != null){
WaterPlanPresenter.this.getView().showError( msg);
}
}
});
} catch (JSONException e) {
throw new RuntimeException(e);
}
}
}