From 819965faec28122bb6ef04e848d10e3ccae49045 Mon Sep 17 00:00:00 2001 From: fengjignqi <15192412330@163.com> Date: Mon, 25 May 2026 09:52:26 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8E=92=E7=A8=8B=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ckkj/water/history/StatisticFragment.java | 6 ++ .../java/com/ckkj/water/network/Request.java | 5 ++ .../ckkj/water/plan/AddWaterPlanActivity.java | 44 +++++++++++- .../ckkj/water/plan/BindDeviceFragment.java | 5 ++ .../ckkj/water/plan/PlanDetailActivity.java | 5 ++ .../ckkj/water/plan/WaterConfigFragment.java | 69 +++++++++++++++---- .../ckkj/water/plan/WaterPlanFragment.java | 5 ++ .../plan/adapter/WaterPlanWeekAdapter.java | 3 +- .../plan/entity/WaterPlanWeekEntity.java | 8 +-- .../water/plan/mvp/WaterPlanContract.java | 7 ++ .../ckkj/water/plan/mvp/WaterPlanImpl.java | 51 ++++++++++++++ .../water/plan/mvp/WaterPlanPresenter.java | 50 ++++++++++++++ .../ckkj/water/utils/time/ZYTimeUtils.java | 30 +++++++- 13 files changed, 264 insertions(+), 24 deletions(-) diff --git a/app/src/main/java/com/ckkj/water/history/StatisticFragment.java b/app/src/main/java/com/ckkj/water/history/StatisticFragment.java index 39dee96..c8e779e 100644 --- a/app/src/main/java/com/ckkj/water/history/StatisticFragment.java +++ b/app/src/main/java/com/ckkj/water/history/StatisticFragment.java @@ -5,6 +5,7 @@ import android.os.Bundle; import com.ckkj.water.base.BaseFragment; import com.ckkj.water.databinding.WaterCountFragmentLayoutBinding; 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.WaterPlanPresenter; @@ -39,4 +40,9 @@ public class StatisticFragment extends BaseFragment updatePasswordByOld(@HeaderMap Map headMap, @Body RequestBody requestBody); + //添加排程信息 + @POST("app/v1/addschedule") + Observable> addSchedule(@HeaderMap Map headMap, @Body RequestBody requestBody); + //解绑信息 // 示例:ids array[string] //["2052921001527869441"] diff --git a/app/src/main/java/com/ckkj/water/plan/AddWaterPlanActivity.java b/app/src/main/java/com/ckkj/water/plan/AddWaterPlanActivity.java index 139701a..f61bbec 100644 --- a/app/src/main/java/com/ckkj/water/plan/AddWaterPlanActivity.java +++ b/app/src/main/java/com/ckkj/water/plan/AddWaterPlanActivity.java @@ -5,20 +5,28 @@ 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.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; + /** * 添加浇水排程 */ @@ -88,9 +96,34 @@ public class AddWaterPlanActivity extends BaseActivity implements WaterPlanContract.WaterPlanView { private List mConfigList = new ArrayList<>(); private WaterPlanWeekEntity mConfigEntity; private WaterPlanWeekAdapter mWeekAdapter; + private String mPlanName = ""; + public static boolean isConfigSave; @Override @@ -43,7 +48,7 @@ public class WaterConfigFragment extends BaseFragment list = new ArrayList<>(); for(int i = 0; i < 7; i++){ WaterPlanWeekEntity.DetailsBean bean = new WaterPlanWeekEntity.DetailsBean(); - bean.setWeekday(i); + bean.setWeekday(i + 1); bean.setStatus("0"); bean.setWeekName(ZYTimeUtils.getWeekName(i)); list.add(bean); @@ -56,7 +61,6 @@ public class WaterConfigFragment extends BaseFragment details; @NoArgsConstructor @@ -53,12 +53,12 @@ public class WaterPlanWeekEntity implements Serializable { private String updateTime; private String id; private String scheduleId; - private int weekday; + private int weekday = 1; private String weekName; private String startTime; private int durationMin = 0; private Object zones; - private String triggerType; - private String status; + private String triggerType = "0"; + private String status = "1"; } } diff --git a/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanContract.java b/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanContract.java index 7f267ac..0a8ed7d 100644 --- a/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanContract.java +++ b/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanContract.java @@ -1,6 +1,9 @@ package com.ckkj.water.plan.mvp; import com.ckkj.water.base.IView; +import com.ckkj.water.plan.entity.WaterPlanWeekEntity; + +import org.json.JSONObject; public class WaterPlanContract { public interface CallBack { @@ -8,8 +11,12 @@ public class WaterPlanContract { void fail(String msg); } public interface DataModel{ + //新增排程 + void saveConfig(JSONObject json,CallBack callBack); } public interface WaterPlanView extends IView { + //排程保存成功g + void saveConfigSuccess(WaterPlanWeekEntity entity); } } diff --git a/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanImpl.java b/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanImpl.java index 362de90..5649d32 100644 --- a/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanImpl.java +++ b/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanImpl.java @@ -1,7 +1,58 @@ package com.ckkj.water.plan.mvp; import com.ckkj.water.device.mvp.DeviceContract; +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; + +import org.json.JSONObject; + +import io.reactivex.Observer; +import io.reactivex.android.schedulers.AndroidSchedulers; +import io.reactivex.annotations.NonNull; +import io.reactivex.disposables.Disposable; +import io.reactivex.schedulers.Schedulers; public class WaterPlanImpl implements WaterPlanContract.DataModel{ + /** + * 新增排程 + * @param json + * @param callBack + */ + @Override + public void saveConfig(JSONObject json, WaterPlanContract.CallBack callBack) { + try { + NetWorkManager.getRequest().addSchedule(NetWorkManager.getToken(),NetWorkManager.toRequestBody(json)) + .subscribeOn(Schedulers.io()) + .unsubscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Observer>() { + @Override + public void onSubscribe(@NonNull Disposable d) { + } + + @Override + public void onNext(@NonNull BaseBean bean) { + if (bean.getCode() == 200) { + callBack.success(bean.getData()); + } 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(); + } + } } diff --git a/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanPresenter.java b/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanPresenter.java index 2c5833d..f670a8d 100644 --- a/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanPresenter.java +++ b/app/src/main/java/com/ckkj/water/plan/mvp/WaterPlanPresenter.java @@ -1,8 +1,17 @@ package com.ckkj.water.plan.mvp; +import com.ckkj.water.AppConfig; import com.ckkj.water.base.BasePresenter; 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.network.BaseBean; +import com.ckkj.water.plan.entity.WaterPlanWeekEntity; + +import org.json.JSONArray; +import org.json.JSONException; +import org.json.JSONObject; public class WaterPlanPresenter extends BasePresenter { private WaterPlanImpl impl; @@ -10,4 +19,45 @@ public class WaterPlanPresenter extends BasePresenter() { + @Override + public void success(WaterPlanWeekEntity bean) { + if(WaterPlanPresenter.this.getView() != null){ + WaterPlanPresenter.this.getView().saveConfigSuccess(bean); + } + } + + @Override + public void fail(String msg) { + if(WaterPlanPresenter.this.getView() != null){ + WaterPlanPresenter.this.getView().showError(msg); + } + } + }); + + } catch (JSONException e) { + throw new RuntimeException(e); + } + } } diff --git a/app/src/main/java/com/ckkj/water/utils/time/ZYTimeUtils.java b/app/src/main/java/com/ckkj/water/utils/time/ZYTimeUtils.java index fdf33c0..9886d6f 100644 --- a/app/src/main/java/com/ckkj/water/utils/time/ZYTimeUtils.java +++ b/app/src/main/java/com/ckkj/water/utils/time/ZYTimeUtils.java @@ -229,10 +229,38 @@ public class ZYTimeUtils { public static String getStrTimeData(Date date) { String timeString = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); - timeString = sdf.format(new Date());//单位秒 + timeString = sdf.format(date);//单位秒 return timeString; } + + /** + * yyyy-MM-dd HH:mm 转换为 HH:mm显示 + * @param date + * @return + */ + public static String yyyyMMdd2HH_mm(String date) { + if (TextUtils.isEmpty(date)) { + return ""; + } + try { + SimpleDateFormat sourceFormat = + new SimpleDateFormat("yyyy-MM-dd HH:mm", Locale.getDefault()); + + SimpleDateFormat targetFormat = + new SimpleDateFormat("HH:mm", Locale.getDefault()); + + Date parseDate = sourceFormat.parse(date); + + return parseDate == null ? "" : targetFormat.format(parseDate); + + } catch (Exception e) { + e.printStackTrace(); + } + + return ""; + } + public static String getStrTimeData_H_M(Date date) { String timeString = null; SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");