新增排程接口
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.WaterPlanPresenter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author fengxiaoyang
|
||||
* @date 2026/5/16
|
||||
* @description TODO: 描述该类的作用
|
||||
* @description TODO: 统计界面
|
||||
*/
|
||||
public class StatisticFragment extends BaseFragment<WaterCountFragmentLayoutBinding, WaterPlanPresenter>
|
||||
implements WaterPlanContract.WaterPlanView {
|
||||
@@ -41,8 +43,18 @@ public class StatisticFragment extends BaseFragment<WaterCountFragmentLayoutBind
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -65,10 +65,20 @@ public interface Request {
|
||||
@PUT("app/v1/updataPassword")
|
||||
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")
|
||||
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]
|
||||
//["2052921001527869441"]
|
||||
|
||||
@@ -101,7 +101,7 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
ToastUtil.showShort(mContext, "请完成配置");
|
||||
return;
|
||||
}else{
|
||||
if(!configFragment.isConfigSave){
|
||||
if(!configFragment.isConfigSave || configFragment.isConfigChanged()){
|
||||
showDialogtext(mContext.getResources().getDrawable(R.mipmap.img_location), false, false,true,
|
||||
"提示", "关联设备需要保存排程配置,是否继续?",
|
||||
"取消", "继续", new BaseFragment.OnDialogClick() {
|
||||
@@ -152,9 +152,19 @@ public class AddWaterPlanActivity extends BaseActivity<AddWaterPlanLayoutBinding
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
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
|
||||
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.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
|
||||
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>
|
||||
implements WaterPlanContract.WaterPlanView {
|
||||
private List<WaterPlanWeekEntity.DetailsBean> mConfigList = new ArrayList<>();
|
||||
|
||||
//用户本地操作排程时的数据
|
||||
private WaterPlanWeekEntity mConfigEntity;
|
||||
//排程接口新增成功之后,接口返回的该排程在远端的数据信息
|
||||
private WaterPlanWeekEntity mRemoteConfigEntity;
|
||||
private WaterPlanWeekAdapter mWeekAdapter;
|
||||
private String mPlanName = "";
|
||||
@@ -114,8 +115,20 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
||||
|
||||
|
||||
public void commitConfig(){
|
||||
if(checkConfigFinish()){
|
||||
if (!checkConfigFinish()) {
|
||||
return;
|
||||
}
|
||||
// mRemoteConfigEntity 为空,说明是新增场景
|
||||
if (mRemoteConfigEntity == null) {
|
||||
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);
|
||||
}
|
||||
|
||||
/**
|
||||
* 比较本地配置和远程配置是否有变化
|
||||
* @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;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
ToastUtil.showShort(mContext, "排程新增成功");
|
||||
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;
|
||||
if (getActivity() instanceof AddWaterPlanActivity) {
|
||||
@@ -227,6 +286,11 @@ public class WaterConfigFragment extends BaseFragment<WaterConfigFragmentLayoutB
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
|
||||
@@ -12,11 +12,13 @@ import com.ckkj.water.databinding.WaterPlanFragmentBinding;
|
||||
import com.ckkj.water.main.activity.MainActivity;
|
||||
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.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.manager.ThemeManager;
|
||||
import com.ckkj.water.utils.show.ToastUtil;
|
||||
import com.google.gson.Gson;
|
||||
import com.gyf.immersionbar.ImmersionBar;
|
||||
|
||||
@@ -25,8 +27,8 @@ import java.util.List;
|
||||
|
||||
public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, WaterPlanPresenter>
|
||||
implements WaterPlanContract.WaterPlanView {
|
||||
// private List<WaterPlanWeekEntity.DeviceEntity> mDevList = new ArrayList<>();
|
||||
// private WaterPlanListAdapter mAdapter;
|
||||
private List<WaterPlanWeekEntity> mPlanList = new ArrayList<>();
|
||||
private WaterPlanListAdapter mAdapter;
|
||||
@Override
|
||||
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));
|
||||
initListener();
|
||||
|
||||
// mAdapter = new WaterPlanListAdapter(mContext,R.layout.water_plan_list_item,mDevList);
|
||||
// viewBinding.rvPlans.setAdapter(mAdapter);
|
||||
// mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
||||
// @Override
|
||||
// public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
// goTo(mContext, PlanDetailActivity.class,null);
|
||||
// }
|
||||
// });
|
||||
mAdapter = new WaterPlanListAdapter(mContext,R.layout.water_plan_list_item,mPlanList);
|
||||
viewBinding.rvPlans.setAdapter(mAdapter);
|
||||
mAdapter.setOnItemClickListener(new BaseQuickAdapter.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(BaseQuickAdapter adapter, View view, int position) {
|
||||
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
|
||||
public WaterPlanPresenter createPresenter() {
|
||||
return new WaterPlanPresenter(new WaterPlanImpl());
|
||||
@@ -82,7 +94,8 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
||||
|
||||
@Override
|
||||
public void showError(String message) {
|
||||
|
||||
hideDialogLoading();
|
||||
ToastUtil.showShort(mContext,message);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -90,8 +103,15 @@ public class WaterPlanFragment extends BaseFragment<WaterPlanFragmentBinding, Wa
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void saveConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void updateConfigSuccess(WaterPlanWeekEntity entity) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,33 +1,33 @@
|
||||
//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 WaterPlanListAdapter extends BaseQuickAdapter<WaterPlanWeekEntity.DeviceEntity, BaseViewHolder> {
|
||||
// private Context mContext;
|
||||
//
|
||||
// public WaterPlanListAdapter(Context context, int layoutResId, @Nullable List<WaterPlanWeekEntity.DeviceEntity> data) {
|
||||
// super(layoutResId, data);
|
||||
// this.mContext = context;
|
||||
// }
|
||||
//
|
||||
// @Override
|
||||
// protected void convert(BaseViewHolder helper, WaterPlanWeekEntity.DeviceEntity item) {
|
||||
// helper.setText(R.id.tv_device_name, item.getDeviceName());
|
||||
// helper.setText(R.id.tv_device_serial, item.getDeviceCode());
|
||||
// }
|
||||
//
|
||||
//
|
||||
//
|
||||
//}
|
||||
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 WaterPlanListAdapter extends BaseQuickAdapter<WaterPlanWeekEntity, BaseViewHolder> {
|
||||
private Context mContext;
|
||||
|
||||
public WaterPlanListAdapter(Context context, int layoutResId, @Nullable List<WaterPlanWeekEntity> data) {
|
||||
super(layoutResId, data);
|
||||
this.mContext = context;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void convert(BaseViewHolder helper, WaterPlanWeekEntity item) {
|
||||
helper.setText(R.id.tv_device_name, item.getName());
|
||||
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 java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class WaterPlanContract {
|
||||
public interface CallBack<T> {
|
||||
void success(T msg);
|
||||
void success(T msg,int total);
|
||||
void fail(String msg);
|
||||
}
|
||||
public interface DataModel{
|
||||
//查询排程列表
|
||||
void getWaterConfigList(Map<String, String> map,CallBack callBack);
|
||||
//新增排程
|
||||
void saveConfig(JSONObject json,CallBack callBack);
|
||||
|
||||
void updateConfig(JSONObject json,CallBack callBack);
|
||||
}
|
||||
|
||||
public interface WaterPlanView extends IView {
|
||||
//查询排程列表成功
|
||||
void getWaterConfigListSuccess(List<WaterPlanWeekEntity> list,int total);
|
||||
//排程保存成功g
|
||||
void saveConfigSuccess(WaterPlanWeekEntity entity);
|
||||
//排程更新成功
|
||||
void updateConfigSuccess(WaterPlanWeekEntity entity);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +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.network.BaseBean;
|
||||
import com.ckkj.water.network.LoginStateManager;
|
||||
import com.ckkj.water.network.NetWorkManager;
|
||||
@@ -8,6 +9,9 @@ import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import io.reactivex.Observer;
|
||||
import io.reactivex.android.schedulers.AndroidSchedulers;
|
||||
import io.reactivex.annotations.NonNull;
|
||||
@@ -16,6 +20,40 @@ import io.reactivex.schedulers.Schedulers;
|
||||
|
||||
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
|
||||
@@ -36,7 +74,47 @@ public class WaterPlanImpl implements WaterPlanContract.DataModel{
|
||||
@Override
|
||||
public void onNext(@NonNull BaseBean<WaterPlanWeekEntity> bean) {
|
||||
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 {
|
||||
callBack.fail(bean.getMessage());
|
||||
}
|
||||
|
||||
@@ -2,10 +2,13 @@ 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.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.network.BaseBean;
|
||||
import com.ckkj.water.plan.entity.WaterPlanWeekEntity;
|
||||
|
||||
@@ -13,6 +16,10 @@ import org.json.JSONArray;
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPlanView> {
|
||||
private WaterPlanImpl impl;
|
||||
|
||||
@@ -20,6 +27,30 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
|
||||
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
|
||||
@@ -41,8 +72,9 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
|
||||
}
|
||||
json.put("details", array);
|
||||
impl.saveConfig(json, new WaterPlanContract.CallBack<WaterPlanWeekEntity>() {
|
||||
|
||||
@Override
|
||||
public void success(WaterPlanWeekEntity bean) {
|
||||
public void success(WaterPlanWeekEntity bean, int total) {
|
||||
if(WaterPlanPresenter.this.getView() != null){
|
||||
WaterPlanPresenter.this.getView().saveConfigSuccess(bean);
|
||||
}
|
||||
@@ -60,4 +92,50 @@ public class WaterPlanPresenter extends BasePresenter<WaterPlanContract.WaterPla
|
||||
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) {
|
||||
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 "";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user