排程编辑更新

This commit is contained in:
fengjignqi
2026-05-26 17:35:08 +08:00
parent 65dfc1b5f1
commit 9ab6d134ab
29 changed files with 271 additions and 225 deletions

View File

@@ -20,7 +20,7 @@ import com.ckkj.water.databinding.AddDeviceLayoutBinding;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.utils.manager.ActivityManager;
import com.ckkj.water.utils.manager.ThemeManager;
@@ -195,7 +195,7 @@ public class AddDeviceActivity extends BaseActivity<AddDeviceLayoutBinding, Devi
}
@Override
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
public void getDeviceDetailInfo(WaterDeviceEntity bean) {
}

View File

@@ -15,10 +15,9 @@ import com.ckkj.water.databinding.DeviceConnectLayoutBinding;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.utils.manager.ActivityManager;
import com.ckkj.water.utils.show.ToastUtil;
import com.gyf.immersionbar.ImmersionBar;
/**
@@ -105,7 +104,7 @@ public class DeviceConnectActivity extends BaseActivity<DeviceConnectLayoutBindi
}
@Override
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
public void getDeviceDetailInfo(WaterDeviceEntity bean) {
}

View File

@@ -11,19 +11,17 @@ import com.ckkj.water.EventMessage;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.custom.GridSpacingItemDecoration;
import com.ckkj.water.custom.view.CustomAttachPopup;
import com.ckkj.water.custom.view.CustomBubbleAttachPopup;
import com.ckkj.water.databinding.DeviceControlLayoutBinding;
import com.ckkj.water.device.adapter.DeviceTimeSelectAdapter;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.utils.show.ToastUtil;
import com.gyf.immersionbar.ImmersionBar;
import com.lxj.xpopup.XPopup;
import com.lxj.xpopup.core.BasePopupView;
import java.util.ArrayList;
import java.util.List;
@@ -38,7 +36,7 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
implements DeviceContract.DeviceView {
private List<String> mTimeList = new ArrayList<>();
private IndexDeviceEntity mDeviceEntity;
private WaterDeviceEntity mDeviceEntity;
private DeviceTimeSelectAdapter mAdapter;
@Override
public DevicePresenter createPresenter() {
@@ -50,7 +48,7 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
super.initData(savedInstanceState);
Bundle bundle = getIntent().getExtras();
if(bundle != null){
mDeviceEntity = (IndexDeviceEntity) bundle.getSerializable("device_info");
mDeviceEntity = (WaterDeviceEntity) bundle.getSerializable("device_info");
if(mDeviceEntity != null){
showLoadingDialog();
mPresenter.getDeviceDetailInfo(mDeviceEntity.getId());
@@ -144,7 +142,7 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
if(resultCode == RESULT_OK){
switch (requestCode){
case REQUEST_EVENT_CODE_10002:
mDeviceEntity = (IndexDeviceEntity) data.getSerializableExtra("device_entity");
mDeviceEntity = (WaterDeviceEntity) data.getSerializableExtra("device_entity");
viewBinding.includedTitle.tvTitle.setText(mDeviceEntity.getDeviceName());
break;
}
@@ -165,7 +163,7 @@ public class DeviceControlActivity extends BaseActivity<DeviceControlLayoutBindi
* @param bean
*/
@Override
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
public void getDeviceDetailInfo(WaterDeviceEntity bean) {
hideDialogLoading();
}

View File

@@ -9,7 +9,7 @@ import com.ckkj.water.databinding.DeviceInfoLayoutBinding;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.gyf.immersionbar.ImmersionBar;
@@ -73,7 +73,7 @@ public class DeviceInfoActivity extends BaseActivity<DeviceInfoLayoutBinding, De
}
@Override
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
public void getDeviceDetailInfo(WaterDeviceEntity bean) {
}

View File

@@ -12,7 +12,7 @@ import com.ckkj.water.databinding.SetDeviceNameLayoutBinding;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.utils.manager.ActivityManager;
import com.ckkj.water.utils.show.ToastUtil;
@@ -87,7 +87,7 @@ public class DeviceReNameActivity extends BaseActivity<SetDeviceNameLayoutBindin
}
@Override
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
public void getDeviceDetailInfo(WaterDeviceEntity bean) {
}

View File

@@ -16,14 +16,12 @@ import com.ckkj.water.databinding.DeviceSettingsLayoutBinding;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.utils.show.ToastUtil;
import com.gyf.immersionbar.ImmersionBar;
import de.greenrobot.event.EventBus;
import de.greenrobot.event.Subscribe;
import de.greenrobot.event.ThreadMode;
/**
* 设备控制页面
@@ -31,7 +29,7 @@ import de.greenrobot.event.ThreadMode;
public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBinding, DevicePresenter>
implements DeviceContract.DeviceView {
private IndexDeviceEntity mDeviceEntity;
private WaterDeviceEntity mDeviceEntity;
@Override
public DevicePresenter createPresenter() {
return new DevicePresenter(new DeviceImpl());
@@ -42,7 +40,7 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
super.initData(savedInstanceState);
Bundle bundle = getIntent().getExtras();
if(bundle != null){
mDeviceEntity = (IndexDeviceEntity) bundle.getSerializable("device_entity");
mDeviceEntity = (WaterDeviceEntity) bundle.getSerializable("device_entity");
viewBinding.tvDeviceName.setText(mDeviceEntity.getDeviceName());
viewBinding.tvWifiName.setText(mDeviceEntity.getWifiName());
@@ -209,7 +207,7 @@ public class DeviceSettingsActivity extends BaseActivity<DeviceSettingsLayoutBin
}
@Override
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
public void getDeviceDetailInfo(WaterDeviceEntity bean) {
}

View File

@@ -8,13 +8,11 @@ import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.net.wifi.ScanResult;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import androidx.core.app.ActivityCompat;
import androidx.recyclerview.widget.DividerItemDecoration;
import com.ckkj.water.ConstantUtil;
import com.ckkj.water.R;
@@ -23,13 +21,12 @@ import com.ckkj.water.databinding.DeviceResetWifiBinding;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.permission.PermissionActivity;
import com.ckkj.water.utils.manager.ActivityManager;
import com.ckkj.water.utils.manager.ThemeManager;
import com.ckkj.water.utils.show.ToastUtil;
import com.ckkj.water.utils.text.TextUtil;
import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
@@ -198,7 +195,7 @@ public class SelectWifiActivity extends BaseActivity<DeviceResetWifiBinding, Dev
}
@Override
public void getDeviceDetailInfo(IndexDeviceEntity bean) {
public void getDeviceDetailInfo(WaterDeviceEntity bean) {
}

View File

@@ -1,7 +1,7 @@
package com.ckkj.water.device.mvp;
import com.ckkj.water.base.IView;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.index.mvp.IndexContract;
import com.ckkj.water.network.BaseBean;
@@ -34,7 +34,7 @@ public class DeviceContract {
public interface DeviceView extends IView {
//添加设备成功g
void addDeviceSuccess(BaseBean bean);
void getDeviceDetailInfo(IndexDeviceEntity bean);
void getDeviceDetailInfo(WaterDeviceEntity bean);
void editDeviceInfoSuccess(BaseBean bean);
void deleteDeviceSuccess(BaseBean bean);
void turnOnOffDeviceSuccess(BaseBean bean);

View File

@@ -1,7 +1,6 @@
package com.ckkj.water.device.mvp;
import com.ckkj.water.base.entity.MineUserInfoBean;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.index.mvp.IndexContract;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.network.NetWorkManager;
@@ -25,13 +24,13 @@ public class DeviceImpl implements DeviceContract.DataModel{
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseBean<IndexDeviceEntity>>() {
.subscribe(new Observer<BaseBean<WaterDeviceEntity>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseBean<IndexDeviceEntity> bean) {
public void onNext(@NonNull BaseBean<WaterDeviceEntity> bean) {
if (bean.getCode() == 200) {
callBack.success(bean.getData(),0);
}

View File

@@ -1,11 +1,10 @@
package com.ckkj.water.device.mvp;
import com.ckkj.water.base.BasePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.index.mvp.IndexContract;
import com.ckkj.water.network.BaseBean;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
@@ -61,9 +60,9 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
public void getDeviceDetailInfo(String deviceID) {
Map<String,String> map = new HashMap<>();
map.put("id",deviceID);
impl.getDeviceInfomation(map, new IndexContract.CallBack<IndexDeviceEntity>() {
impl.getDeviceInfomation(map, new IndexContract.CallBack<WaterDeviceEntity>() {
@Override
public void success(IndexDeviceEntity bean,int total) {
public void success(WaterDeviceEntity bean, int total) {
if(DevicePresenter.this.getView() != null){
DevicePresenter.this.getView().getDeviceDetailInfo(bean);
}
@@ -82,7 +81,7 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
* 修改设备信息
* @param mDeviceEntity
*/
public void updateDeviceInfo(IndexDeviceEntity mDeviceEntity) {
public void updateDeviceInfo(WaterDeviceEntity mDeviceEntity) {
try {
JSONObject json = new JSONObject();
json.put("id",mDeviceEntity.getId());
@@ -113,7 +112,7 @@ public class DevicePresenter extends BasePresenter<DeviceContract.DeviceView> {
* 解绑设备
* @param deviceEntity
*/
public void unBindDevice(IndexDeviceEntity deviceEntity) {
public void unBindDevice(WaterDeviceEntity deviceEntity) {
impl.deleteDevice(deviceEntity.getId(), new IndexContract.CallBack<BaseBean>() {
@Override
public void success(BaseBean bean, int total) {

View File

@@ -4,6 +4,7 @@ import android.os.Bundle;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.databinding.WaterCountFragmentLayoutBinding;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
import com.ckkj.water.plan.mvp.WaterPlanContract;
@@ -62,4 +63,9 @@ public class StatisticFragment extends BaseFragment<WaterCountFragmentLayoutBind
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
}
@Override
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
}
}

View File

@@ -16,7 +16,7 @@ import com.ckkj.water.databinding.IndexFragmentLayoutBinding;
import com.ckkj.water.device.AddDeviceActivity;
import com.ckkj.water.device.DeviceControlActivity;
import com.ckkj.water.index.adapter.DeviceAdapter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.index.mvp.IndexContract;
import com.ckkj.water.index.mvp.IndexImpl;
import com.ckkj.water.index.mvp.IndexPresenter;
@@ -37,7 +37,7 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
implements IndexContract.IndexView , EasyPermissions.PermissionCallbacks{
private DeviceAdapter deviceAdapter;
private List<IndexDeviceEntity> devList = new ArrayList<>();
private List<WaterDeviceEntity> devList = new ArrayList<>();
private int mCurrentPage = 1;
@Override
@@ -153,7 +153,7 @@ public class IndexFragment extends BaseFragment<IndexFragmentLayoutBinding, Inde
* 获取设备列表成功
*/
@Override
public void getDeviceListSuccess(List<IndexDeviceEntity> list,int total) {
public void getDeviceListSuccess(List<WaterDeviceEntity> list, int total) {
hideDialogLoading();
viewBinding.refresh.finishRefresh(300);
viewBinding.refresh.finishLoadMore(300);

View File

@@ -1,32 +1,26 @@
package com.ckkj.water.index.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.recyclerview.widget.RecyclerView;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.ckkj.water.R;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import java.util.List;
public class DeviceAdapter extends BaseQuickAdapter<IndexDeviceEntity, BaseViewHolder> {
public class DeviceAdapter extends BaseQuickAdapter<WaterDeviceEntity, BaseViewHolder> {
public DeviceAdapter(Context context, int layoutResId, @Nullable List<IndexDeviceEntity> data) {
public DeviceAdapter(Context context, int layoutResId, @Nullable List<WaterDeviceEntity> data) {
super(layoutResId, data);
this.mContext = context;
this.mData = data;
}
@Override
protected void convert(BaseViewHolder holder, IndexDeviceEntity item) {
protected void convert(BaseViewHolder holder, WaterDeviceEntity item) {
holder.setText(R.id.tv_device_name,item.getDeviceName());
holder.setText(R.id.tv_device_serial,item.getDeviceSn());
holder.setText(R.id.tv_device_status,"工作中");

View File

@@ -1,45 +0,0 @@
package com.ckkj.water.index.entity;
import java.io.Serializable;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@Data
public class IndexDeviceEntity implements Serializable {
/**
* id : 2056638783822123010
* deviceNo : 1779175872972
* userId : 2056543507514097665
* deviceName : 50号设备
* deviceImg : null
* status : 0
* powerLevel : null
* powerLevelUpdatatime : null
* wifiName : 橙空科技WiFi
* wifiPassword : 12321212
* deviceEm : 213123123123
* deviceSn : sdfsd32423gdfgdf3
* fwVer : fwVer-56565644
* macAddress : 2E:8H:00:KK:N7
* expirationTime : null
*/
private String id;
private String deviceNo;
private String userId;
private String deviceName;
private Object deviceImg;
private String status;
private Object powerLevel;
private Object powerLevelUpdatatime;
private String wifiName;
private String wifiPassword;
private String deviceEm;
private String deviceSn;
private String fwVer;
private String macAddress;
private Object expirationTime;
}

View File

@@ -0,0 +1,87 @@
package com.ckkj.water.index.entity;
import java.io.Serializable;
import java.util.List;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class WaterDeviceEntity implements Serializable {
/**
* id : 2056638783822123010
* deviceNo : 1779175872972
* userId : 2056543507514097665
* deviceName : 50号设备
* deviceImg : null
* status : 0
* powerLevel : null
* powerLevelUpdatatime : null
* wifiName : 橙空科技WiFi
* wifiPassword : 12321212
* deviceEm : 213123123123
* deviceSn : sdfsd32423gdfgdf3
* fwVer : fwVer-56565644
* macAddress : 2E:8H:00:KK:N7
* expirationTime : null
*/
private String id;
private String deviceNo;
private String userId;
private String deviceName;
private Object deviceImg;
private String status;
private Object powerLevel;
private Object powerLevelUpdatatime;
private String wifiName;
private String wifiPassword;
private String deviceEm;
private String deviceSn;
private String fwVer;
private String macAddress;
private Object expirationTime;
private List<DeviceListBean> deviceList;
@NoArgsConstructor
@Data
public static class DeviceListBean implements Serializable{
/**
* id : 2056641699765178369
* deviceNo : 1779176568237
* userId : 2056543507514097665
* deviceName : 40号设备
* deviceImg : null
* status : 0
* workStatus : 0
* powerLevel : null
* powerLevelUpdatatime : null
* wifiName : 橙空科技WiFi
* wifiPassword : 12321212
* deviceEm : 213123123123
* deviceSn : sdfsd32423gdfgdf3
* fwVer : fwVer-56565644
* macAddress : 2E:8H:00:KK:N7
* expirationTime : null
*/
private String idX;
private String deviceNoX;
private String userIdX;
private String deviceNameX;
private Object deviceImgX;
private String statusX;
private String workStatus;
private Object powerLevelX;
private Object powerLevelUpdatatimeX;
private String wifiNameX;
private String wifiPasswordX;
private String deviceEmX;
private String deviceSnX;
private String fwVerX;
private String macAddressX;
private Object expirationTimeX;
}
}

View File

@@ -1,11 +1,7 @@
package com.ckkj.water.index.mvp;
import com.ckkj.water.base.IView;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.login.entity.LoginEntity;
import com.ckkj.water.network.BaseBean;
import org.json.JSONObject;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import java.util.List;
import java.util.Map;
@@ -29,6 +25,6 @@ public class IndexContract {
}
public interface IndexView extends IView{
void getDeviceListSuccess(List<IndexDeviceEntity> list,int total);
void getDeviceListSuccess(List<WaterDeviceEntity> list, int total);
}
}

View File

@@ -1,11 +1,9 @@
package com.ckkj.water.index.mvp;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.network.NetWorkManager;
import org.json.JSONObject;
import java.util.List;
import java.util.Map;
@@ -28,13 +26,13 @@ public class IndexImpl implements IndexContract.DataModel{
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseBean<List<IndexDeviceEntity>>>() {
.subscribe(new Observer<BaseBean<List<WaterDeviceEntity>>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseBean<List<IndexDeviceEntity>> bean) {
public void onNext(@NonNull BaseBean<List<WaterDeviceEntity>> bean) {
if (bean.getCode() == 200) {
callBack.success(bean.getRows(),bean.getTotal());
}

View File

@@ -1,7 +1,7 @@
package com.ckkj.water.index.mvp;
import com.ckkj.water.base.BasePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import java.util.HashMap;
import java.util.List;
@@ -18,10 +18,10 @@ public class IndexPresenter extends BasePresenter<IndexContract.IndexView>{
* 查询设备列表
*/
public void getDevicesList(int mCurrentPage) {
mImpl.getDeviceList(new HashMap<>(), new IndexContract.CallBack<List<IndexDeviceEntity>>() {
mImpl.getDeviceList(new HashMap<>(), new IndexContract.CallBack<List<WaterDeviceEntity>>() {
@Override
public void success(List<IndexDeviceEntity> list, int total) {
public void success(List<WaterDeviceEntity> list, int total) {
if(IndexPresenter.this.getView() != null){
IndexPresenter.this.getView().getDeviceListSuccess(list,total);
}

View File

@@ -3,7 +3,7 @@ package com.ckkj.water.network;
import com.ckkj.water.base.entity.MineUserInfoBean;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.login.entity.LoginEntity;
import com.ckkj.water.main.entity.CheckVersionEntity;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
@@ -19,7 +19,6 @@ import okhttp3.RequestBody;
import retrofit2.http.Body;
import retrofit2.http.DELETE;
import retrofit2.http.GET;
import retrofit2.http.HTTP;
import retrofit2.http.HeaderMap;
import retrofit2.http.POST;
import retrofit2.http.PUT;
@@ -50,13 +49,13 @@ public interface Request {
//首页设备列表
@GET("app/v1/deviceList")
Observable<BaseBean<List<IndexDeviceEntity>>> getIndexDeviceList(@HeaderMap Map<String, String> headMap);
Observable<BaseBean<List<WaterDeviceEntity>>> getIndexDeviceList(@HeaderMap Map<String, String> headMap);
//添加设备
@POST("app/v1/addDevice")
Observable<BaseBean> addDevice(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
//获取设备详细信息
@GET("app/v1/device/{id}")
Observable<BaseBean<IndexDeviceEntity>> getDeviceDetailInfo(@HeaderMap Map<String, String> headMap, @Path("id") String id);
Observable<BaseBean<WaterDeviceEntity>> getDeviceDetailInfo(@HeaderMap Map<String, String> headMap, @Path("id") String id);
//修改更新设备信息
@PUT("app/v1/updateDeviceInfo")
Observable<BaseBean> updateDeviceInfo(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
@@ -84,7 +83,7 @@ public interface Request {
//查询排程可绑定设备列表
@GET("app/v1/scheduleDeviceList/{id}")
Observable<BaseBean> getPlanBindDeviceList(@HeaderMap Map<String, String> headMap, @Path("id") String id);
Observable<BaseBean<WaterDeviceEntity.DeviceListBean>> getPlanBindDeviceList(@HeaderMap Map<String, String> headMap, @Path("id") String id);
//查询排程详情
@GET("app/v1/schedule/{id}")

View File

@@ -5,28 +5,23 @@ import android.view.View;
import androidx.fragment.app.Fragment;
import com.ckkj.water.EventMessage;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.databinding.AddWaterPlanLayoutBinding;
import com.ckkj.water.login.LoginActivity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
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.plate.adapter.ViewPagerAdapter;
import com.ckkj.water.utils.manager.ActivityManager;
import com.ckkj.water.utils.manager.WaterUserInfoManager;
import com.ckkj.water.utils.show.ToastUtil;
import com.gyf.immersionbar.ImmersionBar;
import java.util.ArrayList;
import java.util.List;
import de.greenrobot.event.EventBus;
/**
* 添加/编辑浇水排程
*/
@@ -197,5 +192,10 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
}
@Override
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
}
}

View File

@@ -3,24 +3,21 @@ package com.ckkj.water.plan;
import android.os.Bundle;
import android.view.View;
import androidx.databinding.BindingAdapter;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.databinding.PlanBindDeviceLayoutBinding;
import com.ckkj.water.main.activity.MainActivity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
//import com.ckkj.water.plan.adapter.BindDeviceAdapter;
import com.ckkj.water.plan.adapter.BindDeviceAdapter;
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.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
/**
* 排程关联设备
@@ -29,23 +26,30 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
implements WaterPlanContract.WaterPlanView {
private List<WaterPlanWeekEntity> weekList = new ArrayList<>();
private List<WaterDeviceEntity.DeviceListBean> mDeviceList = new ArrayList<>();
private WaterPlanWeekEntity mPlanEntity;
// private BindDeviceAdapter mAdapter;
private BindDeviceAdapter mAdapter;
@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);
// mAdapter = new BindDeviceAdapter(mContext,R.layout.plan_bind_device_item,weekList.get(0).getDeviceList());
// viewBinding.rvDevices.setAdapter(mAdapter);
// mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
// @Override
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
// mAdapter.toggleSelection(position);
// syncSelectedDevices();
// }
// });
mAdapter = new BindDeviceAdapter(mContext,R.layout.plan_bind_device_item,mDeviceList);
viewBinding.rvDevices.setAdapter(mAdapter);
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
@Override
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
mAdapter.toggleSelection(position);
if(mDeviceList.get(position).getStatusX().equals("0")){
mDeviceList.get(position).setStatusX("1");
}else{
mDeviceList.get(position).setStatusX("0");
}
// syncSelectedDevices();
}
});
// 接收来自AddWaterPlanActivity的WaterPlanWeekEntity对象并使用传参。
}
@@ -71,7 +75,20 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
}
}
private void syncSelectedDevices() {
/**
* 查询到了可绑定的设备
* @param bean
*/
@Override
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
hideDialogLoading();
if(mAdapter != null){
mDeviceList = bean.getDeviceList();
mAdapter.setNewData(mDeviceList);
}
}
// private void syncSelectedDevices() {
// Set<Integer> selectedPositions = mAdapter.getSelectedPositions();
// List<WaterPlanWeekEntity.DeviceEntity> selected = new ArrayList<>();
// for (int pos : selectedPositions) {
@@ -82,7 +99,7 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
// if (getActivity() instanceof AddWaterPlanActivity) {
// ((AddWaterPlanActivity) getActivity()).setSelectedDevices(selected);
// }
}
// }
@Override
public WaterPlanPresenter createPresenter() {
@@ -123,4 +140,6 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
}
}

View File

@@ -1,12 +1,12 @@
package com.ckkj.water.plan;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.databinding.WaterPlanDetailLayoutBinding;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
//import com.ckkj.water.plan.adapter.PlanDetailDeviceAdapter;
//import com.ckkj.water.plan.adapter.PlanDetailTimeAdapter;
@@ -113,6 +113,11 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
}
}
@Override
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
}
@Override
public WaterPlanPresenter createPresenter() {

View File

@@ -14,6 +14,7 @@ import com.ckkj.water.R;
import com.ckkj.water.base.BaseActivity;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.databinding.WaterConfigFragmentLayoutBinding;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.plan.adapter.WaterPlanWeekAdapter;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
@@ -21,9 +22,7 @@ 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 com.ckkj.water.utils.text.TextUtil;
import com.ckkj.water.utils.time.ZYTimeUtils;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.Date;
@@ -82,13 +81,9 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
viewBinding.etPlanName.setText(entity.getName());
mPlanName = entity.getName();
// 更新周配置列表的显示
if (entity.getDetails() != null) {
for(WaterPlanWeekEntity.DetailsBean bean : entity.getDetails()){
bean.setWeekName(ZYTimeUtils.getWeekName(bean.getWeekday() - 1));
bean.setStartTime(ZYTimeUtils.formatHHmm(bean.getStartTime()));
}
mWeekAdapter.setNewData(entity.getDetails());
// 更新周配置列表的显示,使用 mConfigEntity.getDetails() 保证数据一致
if (mConfigEntity.getDetails() != null) {
mWeekAdapter.setNewData(mConfigEntity.getDetails());
}
}
@@ -367,6 +362,11 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
}
@Override
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
}
@Override
public WaterPlanPresenter createPresenter() {

View File

@@ -9,7 +9,7 @@ import com.chad.library.adapter.base.BaseQuickAdapter;
import com.ckkj.water.R;
import com.ckkj.water.base.BaseFragment;
import com.ckkj.water.databinding.WaterPlanFragmentBinding;
import com.ckkj.water.main.activity.MainActivity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
//import com.ckkj.water.plan.adapter.WaterPlanListAdapter;
import com.ckkj.water.plan.adapter.WaterPlanListAdapter;
@@ -121,4 +121,9 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
public void getPlanDetailInfo(WaterPlanWeekEntity entity) {
}
@Override
public void getPlanBindDeviceList(WaterDeviceEntity bean) {
}
}

View File

@@ -1,55 +1,56 @@
//package com.ckkj.water.plan.adapter;
//
//import android.content.Context;
//import android.widget.CheckBox;
//
//import androidx.annotation.Nullable;
//
//import com.chad.library.adapter.base.BaseQuickAdapter;
//import com.chad.library.adapter.base.BaseViewHolder;
//import com.ckkj.water.R;
//import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
//
//import java.util.HashSet;
//import java.util.List;
//import java.util.Set;
//
//public class BindDeviceAdapter extends BaseQuickAdapter<WaterPlanWeekEntity.DeviceEntity, BaseViewHolder> {
// private Context mContext;
// private Set<Integer> mSelectedPositions = new HashSet<>();
//
// public BindDeviceAdapter(Context context, int layoutResId, @Nullable List<WaterPlanWeekEntity.DeviceEntity> data) {
// super(layoutResId, data);
// this.mContext = context;
// }
//
// @Override
// protected void convert(BaseViewHolder helper, WaterPlanWeekEntity.DeviceEntity item) {
// CheckBox checkBox = helper.getView(R.id.radio);
// helper.setText(R.id.tv_device_name, item.getDeviceName());
// helper.setText(R.id.tv_device_serial, item.getDeviceCode());
// checkBox.setChecked(mSelectedPositions.contains(helper.getLayoutPosition()));
// }
//
// public void toggleSelection(int position) {
// if (mSelectedPositions.contains(position)) {
// mSelectedPositions.remove(position);
// } else {
// mSelectedPositions.add(position);
// }
// notifyDataSetChanged();
// }
//
// public void clearSelection() {
// mSelectedPositions.clear();
// notifyDataSetChanged();
// }
//
// public Set<Integer> getSelectedPositions() {
// return new HashSet<>(mSelectedPositions);
// }
//
// public int getSelectedCount() {
// return mSelectedPositions.size();
// }
//}
package com.ckkj.water.plan.adapter;
import android.content.Context;
import android.widget.CheckBox;
import androidx.annotation.Nullable;
import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.BaseViewHolder;
import com.ckkj.water.R;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
public class BindDeviceAdapter extends BaseQuickAdapter<WaterDeviceEntity.DeviceListBean, BaseViewHolder> {
private Context mContext;
private Set<Integer> mSelectedPositions = new HashSet<>();
public BindDeviceAdapter(Context context, int layoutResId, @Nullable List<WaterDeviceEntity.DeviceListBean> data) {
super(layoutResId, data);
this.mContext = context;
}
@Override
protected void convert(BaseViewHolder helper, WaterDeviceEntity.DeviceListBean item) {
CheckBox checkBox = helper.getView(R.id.radio);
helper.setText(R.id.tv_device_name, item.getDeviceNameX());
helper.setText(R.id.tv_device_serial, item.getDeviceSnX());
checkBox.setChecked(mSelectedPositions.contains(helper.getLayoutPosition()));
}
public void toggleSelection(int position) {
if (mSelectedPositions.contains(position)) {
mSelectedPositions.remove(position);
} else {
mSelectedPositions.add(position);
}
notifyDataSetChanged();
}
public void clearSelection() {
mSelectedPositions.clear();
notifyDataSetChanged();
}
public Set<Integer> getSelectedPositions() {
return new HashSet<>(mSelectedPositions);
}
public int getSelectedCount() {
return mSelectedPositions.size();
}
}

View File

@@ -55,7 +55,7 @@ public class WaterPlanWeekEntity implements Serializable {
private String scheduleId;
private int weekday = 1;
private String weekName;
private String startTime;
private String startTime = "";
private int durationMin = 0;
private Object zones;
private String triggerType = "0";

View File

@@ -1,6 +1,7 @@
package com.ckkj.water.plan.mvp;
import com.ckkj.water.base.IView;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
import org.json.JSONObject;
@@ -35,5 +36,7 @@ public class WaterPlanContract {
void updateConfigSuccess(WaterPlanWeekEntity entity);
//获取排程详情
void getPlanDetailInfo(WaterPlanWeekEntity entity);
//查询到可绑定设备列表
void getPlanBindDeviceList(WaterDeviceEntity bean);
}
}

View File

@@ -1,9 +1,7 @@
package com.ckkj.water.plan.mvp;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.network.LoginStateManager;
import com.ckkj.water.network.NetWorkManager;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
@@ -146,13 +144,13 @@ public class WaterPlanImpl implements WaterPlanContract.DataModel{
.subscribeOn(Schedulers.io())
.unsubscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(new Observer<BaseBean>() {
.subscribe(new Observer<BaseBean<WaterDeviceEntity.DeviceListBean>>() {
@Override
public void onSubscribe(@NonNull Disposable d) {
}
@Override
public void onNext(@NonNull BaseBean bean) {
public void onNext(@NonNull BaseBean<WaterDeviceEntity.DeviceListBean> bean) {
if (bean.getCode() == 200) {
callBack.success(bean.getData(),0);
}

View File

@@ -1,17 +1,7 @@
package com.ckkj.water.plan.mvp;
import com.ckkj.water.AppConfig;
import com.ckkj.water.base.BasePresenter;
import com.ckkj.water.base.entity.MineUserInfoBean;
import com.ckkj.water.device.mvp.DeviceContract;
import com.ckkj.water.device.mvp.DeviceImpl;
import com.ckkj.water.device.mvp.DevicePresenter;
import com.ckkj.water.index.entity.IndexDeviceEntity;
import com.ckkj.water.index.mvp.IndexContract;
import com.ckkj.water.login.mvp.LoginContract;
import com.ckkj.water.login.mvp.LoginPresenter;
import com.ckkj.water.mine.mvp.MineContract;
import com.ckkj.water.mine.mvp.MinePresenter;
import com.ckkj.water.index.entity.WaterDeviceEntity;
import com.ckkj.water.network.BaseBean;
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
@@ -147,11 +137,11 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
public void getPlanBindDevices(WaterPlanWeekEntity entity) {
Map<String,String> map = new HashMap<>();
map.put("id",entity.getId());
impl.getPlanBindDeviceList(map, new WaterPlanContract.CallBack<BaseBean>() {
impl.getPlanBindDeviceList(map, new WaterPlanContract.CallBack<WaterDeviceEntity>() {
@Override
public void success(BaseBean bean, int total) {
public void success(WaterDeviceEntity bean, int total) {
if(WaterPlanPresenter.this.getView() != null){
// WaterPlanPresenter.this.getView().getDeviceDetailInfo(bean);
WaterPlanPresenter.this.getView().getPlanBindDeviceList(bean);
}
}