新增排程接口
This commit is contained in:
@@ -9,10 +9,12 @@ import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
|||||||
import com.ckkj.water.plan.mvp.WaterPlanContract;
|
import com.ckkj.water.plan.mvp.WaterPlanContract;
|
||||||
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author fengxiaoyang
|
* @author fengxiaoyang
|
||||||
* @date 2026/5/16
|
* @date 2026/5/16
|
||||||
* @description TODO: 描述该类的作用
|
* @description TODO: 统计界面
|
||||||
*/
|
*/
|
||||||
public class StatisticFragment extends BaseFragment<WaterCountFragmentLayoutBinding, WaterPlanPresenter>
|
public class StatisticFragment extends BaseFragment<WaterCountFragmentLayoutBinding, WaterPlanPresenter>
|
||||||
implements WaterPlanContract.WaterPlanView {
|
implements WaterPlanContract.WaterPlanView {
|
||||||
@@ -41,8 +43,18 @@ public class StatisticFragment extends BaseFragment<WaterCountFragmentLayoutBind
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,10 +65,20 @@ public interface Request {
|
|||||||
@PUT("app/v1/updataPassword")
|
@PUT("app/v1/updataPassword")
|
||||||
Observable<BaseBean> updatePasswordByOld(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
Observable<BaseBean> updatePasswordByOld(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||||
|
|
||||||
|
|
||||||
|
//查询排程列表
|
||||||
|
@GET("app/v1/schedulelist")
|
||||||
|
Observable<BaseBean<List<WaterPlanWeekEntity>>> scheduleList(@HeaderMap Map<String, String> headMap);
|
||||||
|
|
||||||
|
|
||||||
//添加排程信息
|
//添加排程信息
|
||||||
@POST("app/v1/addschedule")
|
@POST("app/v1/addschedule")
|
||||||
Observable<BaseBean<WaterPlanWeekEntity>> addSchedule(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
Observable<BaseBean<WaterPlanWeekEntity>> addSchedule(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||||
|
|
||||||
|
//编辑排程,更新
|
||||||
|
@PUT("app/v1/updataschedule")
|
||||||
|
Observable<BaseBean<WaterPlanWeekEntity>> updateSchedule(@HeaderMap Map<String, String> headMap, @Body RequestBody requestBody);
|
||||||
|
|
||||||
//解绑信息
|
//解绑信息
|
||||||
// 示例:ids array[string]
|
// 示例:ids array[string]
|
||||||
//["2052921001527869441"]
|
//["2052921001527869441"]
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
|||||||
ToastUtil.showShort(mContext, "请完成配置");
|
ToastUtil.showShort(mContext, "请完成配置");
|
||||||
return;
|
return;
|
||||||
}else{
|
}else{
|
||||||
if(!configFragment.isConfigSave){
|
if(!configFragment.isConfigSave || configFragment.isConfigChanged()){
|
||||||
showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false,true,
|
showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false,true,
|
||||||
"提示", "关联设备需要保存排程配置,是否继续?",
|
"提示", "关联设备需要保存排程配置,是否继续?",
|
||||||
"取消", "继续", new BaseFragment.OnDialogClick() {
|
"取消", "继续", new BaseFragment.OnDialogClick() {
|
||||||
@@ -152,9 +152,19 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,8 +80,18 @@ public class BindDeviceFragment extends BaseFragment<PlanBindDeviceLayoutBinding
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
|||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.gyf.immersionbar.ImmersionBar;
|
import com.gyf.immersionbar.ImmersionBar;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 排程详情页面
|
* 排程详情页面
|
||||||
*/
|
*/
|
||||||
@@ -79,8 +81,18 @@ public class PlanDetailActivity extends BaseActivity<WaterPlanDetailLayoutBindin
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,8 +35,9 @@ import java.util.List;
|
|||||||
public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutBinding, WaterPlanPresenter>
|
public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutBinding, WaterPlanPresenter>
|
||||||
implements WaterPlanContract.WaterPlanView {
|
implements WaterPlanContract.WaterPlanView {
|
||||||
private List<WaterPlanWeekEntity.DetailsBean> mConfigList = new ArrayList<>();
|
private List<WaterPlanWeekEntity.DetailsBean> mConfigList = new ArrayList<>();
|
||||||
|
//用户本地操作排程时的数据
|
||||||
private WaterPlanWeekEntity mConfigEntity;
|
private WaterPlanWeekEntity mConfigEntity;
|
||||||
|
//排程接口新增成功之后,接口返回的该排程在远端的数据信息
|
||||||
private WaterPlanWeekEntity mRemoteConfigEntity;
|
private WaterPlanWeekEntity mRemoteConfigEntity;
|
||||||
private WaterPlanWeekAdapter mWeekAdapter;
|
private WaterPlanWeekAdapter mWeekAdapter;
|
||||||
private String mPlanName = "";
|
private String mPlanName = "";
|
||||||
@@ -114,8 +115,20 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
|||||||
|
|
||||||
|
|
||||||
public void commitConfig(){
|
public void commitConfig(){
|
||||||
if(checkConfigFinish()){
|
if (!checkConfigFinish()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// mRemoteConfigEntity 为空,说明是新增场景
|
||||||
|
if (mRemoteConfigEntity == null) {
|
||||||
mPresenter.saveConfig(mConfigEntity);
|
mPresenter.saveConfig(mConfigEntity);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
// mRemoteConfigEntity 不为空,说明是更新场景
|
||||||
|
if (isConfigChanged()) {
|
||||||
|
// TODO: 触发更新接口,调用 mPresenter.updateConfig(mConfigEntity)
|
||||||
|
mPresenter.updateConfig(mConfigEntity);
|
||||||
|
} else {
|
||||||
|
ToastUtil.showShort(mContext, "配置没有变化,无需保存");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -176,7 +189,40 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
|||||||
view.setOnClickListener(this::onClick);
|
view.setOnClickListener(this::onClick);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 比较本地配置和远程配置是否有变化
|
||||||
|
* @return true 表示有变化,false 表示无变化
|
||||||
|
*/
|
||||||
|
public boolean isConfigChanged() {
|
||||||
|
if (mRemoteConfigEntity == null || mRemoteConfigEntity.getDetails() == null) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 比对排程名称
|
||||||
|
if (!equalsString(mConfigEntity.getName(), mRemoteConfigEntity.getName())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
List<WaterPlanWeekEntity.DetailsBean> localDetails = mConfigEntity.getDetails();
|
||||||
|
List<WaterPlanWeekEntity.DetailsBean> remoteDetails = mRemoteConfigEntity.getDetails();
|
||||||
|
if (localDetails == null || localDetails.size() != remoteDetails.size()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
for (int i = 0; i < localDetails.size(); i++) {
|
||||||
|
WaterPlanWeekEntity.DetailsBean local = localDetails.get(i);
|
||||||
|
WaterPlanWeekEntity.DetailsBean remote = remoteDetails.get(i);
|
||||||
|
if (!equalsString(local.getStatus(), remote.getStatus())
|
||||||
|
|| !equalsString(local.getStartTime(),ZYTimeUtils.timeWithoutMillis(remote.getStartTime()))
|
||||||
|
|| local.getDurationMin() != remote.getDurationMin()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean equalsString(String s1, String s2) {
|
||||||
|
if (s1 == null && s2 == null) return true;
|
||||||
|
if (s1 == null || s2 == null) return false;
|
||||||
|
return s1.equals(s2);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 检查配置信息是否完成
|
* 检查配置信息是否完成
|
||||||
@@ -216,10 +262,23 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
ToastUtil.showShort(mContext, "排程新增成功");
|
ToastUtil.showShort(mContext, "排程新增成功");
|
||||||
isConfigSave = true;
|
isConfigSave = true;
|
||||||
|
// 把接口返回的 ID 设置到 mConfigEntity,便于后续更新操作
|
||||||
|
mConfigEntity.setId(entity.getId());
|
||||||
|
// 把 details 中每个 bean 的 id 也设置到 mConfigEntity,便于后续更新操作
|
||||||
|
if (entity.getDetails() != null && mConfigEntity.getDetails() != null) {
|
||||||
|
for (int i = 0; i < entity.getDetails().size() && i < mConfigEntity.getDetails().size(); i++) {
|
||||||
|
mConfigEntity.getDetails().get(i).setId(entity.getDetails().get(i).getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
//接口请求之后返回的数据,方便后面做对比
|
//接口请求之后返回的数据,方便后面做对比
|
||||||
mRemoteConfigEntity = entity;
|
mRemoteConfigEntity = entity;
|
||||||
if (getActivity() instanceof AddWaterPlanActivity) {
|
if (getActivity() instanceof AddWaterPlanActivity) {
|
||||||
@@ -227,6 +286,11 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public WaterPlanPresenter createPresenter() {
|
public WaterPlanPresenter createPresenter() {
|
||||||
|
|||||||
@@ -12,11 +12,13 @@ import com.ckkj.water.databinding.WaterPlanFragmentBinding;
|
|||||||
import com.ckkj.water.main.activity.MainActivity;
|
import com.ckkj.water.main.activity.MainActivity;
|
||||||
import com.ckkj.water.network.BaseBean;
|
import com.ckkj.water.network.BaseBean;
|
||||||
//import com.ckkj.water.plan.adapter.WaterPlanListAdapter;
|
//import com.ckkj.water.plan.adapter.WaterPlanListAdapter;
|
||||||
|
import com.ckkj.water.plan.adapter.WaterPlanListAdapter;
|
||||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||||
import com.ckkj.water.plan.mvp.WaterPlanContract;
|
import com.ckkj.water.plan.mvp.WaterPlanContract;
|
||||||
import com.ckkj.water.plan.mvp.WaterPlanImpl;
|
import com.ckkj.water.plan.mvp.WaterPlanImpl;
|
||||||
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
import com.ckkj.water.plan.mvp.WaterPlanPresenter;
|
||||||
import com.ckkj.water.utils.manager.ThemeManager;
|
import com.ckkj.water.utils.manager.ThemeManager;
|
||||||
|
import com.ckkj.water.utils.show.ToastUtil;
|
||||||
import com.google.gson.Gson;
|
import com.google.gson.Gson;
|
||||||
import com.gyf.immersionbar.ImmersionBar;
|
import com.gyf.immersionbar.ImmersionBar;
|
||||||
|
|
||||||
@@ -25,8 +27,8 @@ import java.util.List;
|
|||||||
|
|
||||||
public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, WaterPlanPresenter>
|
public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, WaterPlanPresenter>
|
||||||
implements WaterPlanContract.WaterPlanView {
|
implements WaterPlanContract.WaterPlanView {
|
||||||
// private List<WaterPlanWeekEntity.DeviceEntity> mDevList = new ArrayList<>();
|
private List<WaterPlanWeekEntity> mPlanList = new ArrayList<>();
|
||||||
// private WaterPlanListAdapter mAdapter;
|
private WaterPlanListAdapter mAdapter;
|
||||||
@Override
|
@Override
|
||||||
public void initData(Bundle state) {
|
public void initData(Bundle state) {
|
||||||
|
|
||||||
@@ -43,14 +45,16 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
|||||||
viewBinding.includedTitle.tvTitle.setText(getString(R.string.plan_title));
|
viewBinding.includedTitle.tvTitle.setText(getString(R.string.plan_title));
|
||||||
initListener();
|
initListener();
|
||||||
|
|
||||||
// mAdapter = new WaterPlanListAdapter(mContext,R.layout.water_plan_list_item,mDevList);
|
mAdapter = new WaterPlanListAdapter(mContext,R.layout.water_plan_list_item,mPlanList);
|
||||||
// viewBinding.rvPlans.setAdapter(mAdapter);
|
viewBinding.rvPlans.setAdapter(mAdapter);
|
||||||
// mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
||||||
// @Override
|
@Override
|
||||||
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||||
// goTo(mContext, PlanDetailActivity.class,null);
|
goTo(mContext, PlanDetailActivity.class,null);
|
||||||
// }
|
}
|
||||||
// });
|
});
|
||||||
|
showLoadingDialog();
|
||||||
|
mPresenter.getWaterPlanList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -70,6 +74,14 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||||
|
hideDialogLoading();
|
||||||
|
mPlanList = list;
|
||||||
|
mAdapter.setNewData(list);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public WaterPlanPresenter createPresenter() {
|
public WaterPlanPresenter createPresenter() {
|
||||||
return new WaterPlanPresenter(new WaterPlanImpl());
|
return new WaterPlanPresenter(new WaterPlanImpl());
|
||||||
@@ -82,7 +94,8 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void showError(String message) {
|
public void showError(String message) {
|
||||||
|
hideDialogLoading();
|
||||||
|
ToastUtil.showShort(mContext,message);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -90,8 +103,15 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,33 +1,33 @@
|
|||||||
//package com.ckkj.water.plan.adapter;
|
package com.ckkj.water.plan.adapter;
|
||||||
//
|
|
||||||
//import android.content.Context;
|
import android.content.Context;
|
||||||
//import android.widget.CheckBox;
|
import android.widget.CheckBox;
|
||||||
//
|
|
||||||
//import androidx.annotation.Nullable;
|
import androidx.annotation.Nullable;
|
||||||
//
|
|
||||||
//import com.chad.library.adapter.base.BaseQuickAdapter;
|
import com.chad.library.adapter.base.BaseQuickAdapter;
|
||||||
//import com.chad.library.adapter.base.BaseViewHolder;
|
import com.chad.library.adapter.base.BaseViewHolder;
|
||||||
//import com.ckkj.water.R;
|
import com.ckkj.water.R;
|
||||||
//import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||||
//
|
|
||||||
//import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
//import java.util.List;
|
import java.util.List;
|
||||||
//import java.util.Set;
|
import java.util.Set;
|
||||||
//
|
|
||||||
//public class WaterPlanListAdapter extends BaseQuickAdapter<WaterPlanWeekEntity.DeviceEntity, BaseViewHolder> {
|
public class WaterPlanListAdapter extends BaseQuickAdapter<WaterPlanWeekEntity, BaseViewHolder> {
|
||||||
// private Context mContext;
|
private Context mContext;
|
||||||
//
|
|
||||||
// public WaterPlanListAdapter(Context context, int layoutResId, @Nullable List<WaterPlanWeekEntity.DeviceEntity> data) {
|
public WaterPlanListAdapter(Context context, int layoutResId, @Nullable List<WaterPlanWeekEntity> data) {
|
||||||
// super(layoutResId, data);
|
super(layoutResId, data);
|
||||||
// this.mContext = context;
|
this.mContext = context;
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// @Override
|
@Override
|
||||||
// protected void convert(BaseViewHolder helper, WaterPlanWeekEntity.DeviceEntity item) {
|
protected void convert(BaseViewHolder helper, WaterPlanWeekEntity item) {
|
||||||
// helper.setText(R.id.tv_device_name, item.getDeviceName());
|
helper.setText(R.id.tv_device_name, item.getName());
|
||||||
// helper.setText(R.id.tv_device_serial, item.getDeviceCode());
|
helper.setText(R.id.tv_device_serial, item.getId());
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
//}
|
}
|
||||||
|
|||||||
@@ -5,18 +5,29 @@ import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
|||||||
|
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class WaterPlanContract {
|
public class WaterPlanContract {
|
||||||
public interface CallBack<T> {
|
public interface CallBack<T> {
|
||||||
void success(T msg);
|
void success(T msg,int total);
|
||||||
void fail(String msg);
|
void fail(String msg);
|
||||||
}
|
}
|
||||||
public interface DataModel{
|
public interface DataModel{
|
||||||
|
//查询排程列表
|
||||||
|
void getWaterConfigList(Map<String, String> map,CallBack callBack);
|
||||||
//新增排程
|
//新增排程
|
||||||
void saveConfig(JSONObject json,CallBack callBack);
|
void saveConfig(JSONObject json,CallBack callBack);
|
||||||
|
|
||||||
|
void updateConfig(JSONObject json,CallBack callBack);
|
||||||
}
|
}
|
||||||
|
|
||||||
public interface WaterPlanView extends IView {
|
public interface WaterPlanView extends IView {
|
||||||
|
//查询排程列表成功
|
||||||
|
void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total);
|
||||||
//排程保存成功g
|
//排程保存成功g
|
||||||
void saveConfigSuccess(WaterPlanWeekEntity entity);
|
void saveConfigSuccess(WaterPlanWeekEntity entity);
|
||||||
|
//排程更新成功
|
||||||
|
void updateConfigSuccess(WaterPlanWeekEntity entity);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
package com.ckkj.water.plan.mvp;
|
package com.ckkj.water.plan.mvp;
|
||||||
|
|
||||||
import com.ckkj.water.device.mvp.DeviceContract;
|
import com.ckkj.water.device.mvp.DeviceContract;
|
||||||
|
import com.ckkj.water.index.entity.IndexDeviceEntity;
|
||||||
import com.ckkj.water.network.BaseBean;
|
import com.ckkj.water.network.BaseBean;
|
||||||
import com.ckkj.water.network.LoginStateManager;
|
import com.ckkj.water.network.LoginStateManager;
|
||||||
import com.ckkj.water.network.NetWorkManager;
|
import com.ckkj.water.network.NetWorkManager;
|
||||||
@@ -8,6 +9,9 @@ import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
|||||||
|
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
import io.reactivex.Observer;
|
import io.reactivex.Observer;
|
||||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||||
import io.reactivex.annotations.NonNull;
|
import io.reactivex.annotations.NonNull;
|
||||||
@@ -16,6 +20,40 @@ import io.reactivex.schedulers.Schedulers;
|
|||||||
|
|
||||||
public class WaterPlanImpl implements WaterPlanContract.DataModel{
|
public class WaterPlanImpl implements WaterPlanContract.DataModel{
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询排程列表
|
||||||
|
* @param map
|
||||||
|
* @param callBack
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void getWaterConfigList(Map<String, String> map, WaterPlanContract.CallBack callBack) {
|
||||||
|
NetWorkManager.getRequest().scheduleList(NetWorkManager.getToken())
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.unsubscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<BaseBean<List<WaterPlanWeekEntity>>>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull BaseBean<List<WaterPlanWeekEntity>> bean) {
|
||||||
|
if (bean.getCode() == 200) {
|
||||||
|
callBack.success(bean.getRows(),bean.getTotal());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onError(@NonNull Throwable e) {
|
||||||
|
callBack.fail(e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onComplete() {
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增排程
|
* 新增排程
|
||||||
* @param json
|
* @param json
|
||||||
@@ -36,7 +74,47 @@ public class WaterPlanImpl implements WaterPlanContract.DataModel{
|
|||||||
@Override
|
@Override
|
||||||
public void onNext(@NonNull BaseBean<WaterPlanWeekEntity> bean) {
|
public void onNext(@NonNull BaseBean<WaterPlanWeekEntity> bean) {
|
||||||
if (bean.getCode() == 200) {
|
if (bean.getCode() == 200) {
|
||||||
callBack.success(bean.getData());
|
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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新排程信息
|
||||||
|
* @param json
|
||||||
|
* @param callBack
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void updateConfig(JSONObject json, WaterPlanContract.CallBack callBack) {
|
||||||
|
try {
|
||||||
|
NetWorkManager.getRequest().updateSchedule(NetWorkManager.getToken(),NetWorkManager.toRequestBody(json))
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.unsubscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.subscribe(new Observer<BaseBean<WaterPlanWeekEntity>>() {
|
||||||
|
@Override
|
||||||
|
public void onSubscribe(@NonNull Disposable d) {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onNext(@NonNull BaseBean<WaterPlanWeekEntity> bean) {
|
||||||
|
if (bean.getCode() == 200) {
|
||||||
|
callBack.success(bean.getData(),0);
|
||||||
} else {
|
} else {
|
||||||
callBack.fail(bean.getMessage());
|
callBack.fail(bean.getMessage());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,10 +2,13 @@ package com.ckkj.water.plan.mvp;
|
|||||||
|
|
||||||
import com.ckkj.water.AppConfig;
|
import com.ckkj.water.AppConfig;
|
||||||
import com.ckkj.water.base.BasePresenter;
|
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.DeviceContract;
|
||||||
import com.ckkj.water.device.mvp.DeviceImpl;
|
import com.ckkj.water.device.mvp.DeviceImpl;
|
||||||
import com.ckkj.water.login.mvp.LoginContract;
|
import com.ckkj.water.login.mvp.LoginContract;
|
||||||
import com.ckkj.water.login.mvp.LoginPresenter;
|
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.network.BaseBean;
|
import com.ckkj.water.network.BaseBean;
|
||||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||||
|
|
||||||
@@ -13,6 +16,10 @@ import org.json.JSONArray;
|
|||||||
import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
import org.json.JSONObject;
|
import org.json.JSONObject;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPlanView> {
|
public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPlanView> {
|
||||||
private WaterPlanImpl impl;
|
private WaterPlanImpl impl;
|
||||||
|
|
||||||
@@ -20,6 +27,30 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
|
|||||||
this.impl = impl;
|
this.impl = impl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取排程信息
|
||||||
|
*/
|
||||||
|
public void getWaterPlanList() {
|
||||||
|
Map<String,String> map = new HashMap<>();
|
||||||
|
impl.getWaterConfigList(map, new WaterPlanContract.CallBack<List<WaterPlanWeekEntity>>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void success(List<WaterPlanWeekEntity> List, int total) {
|
||||||
|
if(WaterPlanPresenter.this.getView() != null){
|
||||||
|
WaterPlanPresenter.this.getView().getWaterConfigListSuccess(List, total);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fail(String msg) {
|
||||||
|
if(WaterPlanPresenter.this.getView() != null){
|
||||||
|
WaterPlanPresenter.this.getView().showError(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 保存排程信息
|
* 保存排程信息
|
||||||
* @param entity
|
* @param entity
|
||||||
@@ -41,8 +72,9 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
|
|||||||
}
|
}
|
||||||
json.put("details", array);
|
json.put("details", array);
|
||||||
impl.saveConfig(json, new WaterPlanContract.CallBack<WaterPlanWeekEntity>() {
|
impl.saveConfig(json, new WaterPlanContract.CallBack<WaterPlanWeekEntity>() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void success(WaterPlanWeekEntity bean) {
|
public void success(WaterPlanWeekEntity bean, int total) {
|
||||||
if(WaterPlanPresenter.this.getView() != null){
|
if(WaterPlanPresenter.this.getView() != null){
|
||||||
WaterPlanPresenter.this.getView().saveConfigSuccess(bean);
|
WaterPlanPresenter.this.getView().saveConfigSuccess(bean);
|
||||||
}
|
}
|
||||||
@@ -60,4 +92,50 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
|
|||||||
throw new RuntimeException(e);
|
throw new RuntimeException(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新排程信息
|
||||||
|
* @param entity
|
||||||
|
*/
|
||||||
|
public void updateConfig(WaterPlanWeekEntity entity) {
|
||||||
|
try {
|
||||||
|
JSONObject json = new JSONObject();
|
||||||
|
json.put("id", entity.getId());
|
||||||
|
json.put("name", entity.getName());
|
||||||
|
json.put("status", entity.getStatus());
|
||||||
|
JSONArray array = new JSONArray();
|
||||||
|
for(WaterPlanWeekEntity.DetailsBean detailsBean : entity.getDetails()){
|
||||||
|
JSONObject jsonDetails = new JSONObject();
|
||||||
|
jsonDetails.put("id", detailsBean.getId());
|
||||||
|
jsonDetails.put("weekday", detailsBean.getWeekday());
|
||||||
|
jsonDetails.put("startTime", detailsBean.getStartTime());
|
||||||
|
jsonDetails.put("durationMin", detailsBean.getDurationMin());
|
||||||
|
jsonDetails.put("triggerType", detailsBean.getTriggerType());
|
||||||
|
jsonDetails.put("status", detailsBean.getStatus());
|
||||||
|
array.put(jsonDetails);
|
||||||
|
}
|
||||||
|
json.put("details", array);
|
||||||
|
impl.updateConfig(json, new WaterPlanContract.CallBack<WaterPlanWeekEntity>() {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void success(WaterPlanWeekEntity bean, int total) {
|
||||||
|
if(WaterPlanPresenter.this.getView() != null){
|
||||||
|
WaterPlanPresenter.this.getView().updateConfigSuccess(bean);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void fail(String msg) {
|
||||||
|
if(WaterPlanPresenter.this.getView() != null){
|
||||||
|
WaterPlanPresenter.this.getView().showError(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
} catch (JSONException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -257,6 +257,38 @@ public class ZYTimeUtils {
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* yyyy-MM-dd HH:mm:ss 转换成 yyyy-MM-dd HH:mm
|
||||||
|
* @param time
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static String timeWithoutMillis(String time) {
|
||||||
|
|
||||||
|
if (TextUtils.isEmpty(time)) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
SimpleDateFormat sourceFormat =
|
||||||
|
new SimpleDateFormat(
|
||||||
|
"yyyy-MM-dd HH:mm:ss",
|
||||||
|
Locale.getDefault());
|
||||||
|
|
||||||
|
SimpleDateFormat targetFormat =
|
||||||
|
new SimpleDateFormat(
|
||||||
|
"yyyy-MM-dd HH:mm",
|
||||||
|
Locale.getDefault());
|
||||||
|
|
||||||
|
Date date = sourceFormat.parse(time);
|
||||||
|
|
||||||
|
return date == null ? "" : targetFormat.format(date);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user