新增排程接口
This commit is contained in:
@@ -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() {
|
||||
|
||||
Reference in New Issue
Block a user