|
@@ -57,12 +57,11 @@ public class MeasurementServiceImpl extends IBaseServiceImpl implements Measurem
|
|
|
Optional<MeasurementDto> max = data.stream().max(Comparator.comparingInt(MeasurementDto::getId));
|
|
|
maxId = max.get().getId();
|
|
|
}
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
// 合并两个流, 处理id
|
|
|
+
|
|
|
+ List<Integer> resIds = new ArrayList<>();
|
|
|
for (MeasurementDto dto : param) {
|
|
|
if (dto.getId() == null) {
|
|
|
maxId ++;
|
|
@@ -71,6 +70,7 @@ public class MeasurementServiceImpl extends IBaseServiceImpl implements Measurem
|
|
|
}
|
|
|
|
|
|
data.add(dto);
|
|
|
+ resIds.add(dto.getId());
|
|
|
}
|
|
|
|
|
|
log.info("添加后数量: {}", data.size());
|
|
@@ -80,7 +80,14 @@ public class MeasurementServiceImpl extends IBaseServiceImpl implements Measurem
|
|
|
|
|
|
this.save(entity);
|
|
|
|
|
|
- return Result.success(getDataBySceneCode(sceneCode));
|
|
|
+ return Result.success(changeById(sceneCode,resIds));
|
|
|
+ }
|
|
|
+
|
|
|
+ // 把更新后的值,返回给前端
|
|
|
+ private List<MeasurementDto> changeById(String sceneCode, List<Integer> resIds){
|
|
|
+ List<MeasurementDto> data = getDataBySceneCode(sceneCode);
|
|
|
+ data = data.stream().filter(p -> resIds.contains(p.getId())).collect(Collectors.toList());
|
|
|
+ return data;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -110,6 +117,50 @@ public class MeasurementServiceImpl extends IBaseServiceImpl implements Measurem
|
|
|
return Result.success();
|
|
|
}
|
|
|
|
|
|
+// @Override
|
|
|
+// public Result updatePut(String sceneCode, List<MeasurementDto> param) {
|
|
|
+// MeasurementEntity entity = findById(sceneCode);
|
|
|
+// List<MeasurementDto> data = entity.getData();
|
|
|
+//
|
|
|
+// Integer maxId = 0;
|
|
|
+// if (data.size() != 0){
|
|
|
+// // 遍历参数,获取id, 保存新list
|
|
|
+// List<Integer> collectId = param.stream().map(MeasurementDto::getId).collect(Collectors.toList());
|
|
|
+// log.info("参数id: {}", collectId);
|
|
|
+// // 判断原数据是否包含参数里的id, 包含则删除后重新添加
|
|
|
+// data = data.stream().filter(p -> !collectId.contains(p.getId())).collect(Collectors.toList());
|
|
|
+// log.info("过滤后数量: {}", data.size());
|
|
|
+//
|
|
|
+// if (data.size() != 0){
|
|
|
+// // 获取最大id
|
|
|
+// Optional<MeasurementDto> max = data.stream().max(Comparator.comparingInt(MeasurementDto::getId));
|
|
|
+// maxId = max.get().getId();
|
|
|
+// }
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// // 合并两个流, 处理id
|
|
|
+// for (MeasurementDto dto : param) {
|
|
|
+// if (dto.getId() == null) {
|
|
|
+// maxId ++;
|
|
|
+// log.info("处理后maxId: {}", maxId);
|
|
|
+// dto.setId(maxId);
|
|
|
+// }
|
|
|
+//
|
|
|
+// data.add(dto);
|
|
|
+// }
|
|
|
+//
|
|
|
+// log.info("添加后数量: {}", data.size());
|
|
|
+//
|
|
|
+// // 更新后数据保存数据库
|
|
|
+// entity.setData(data);
|
|
|
+//
|
|
|
+// this.save(entity);
|
|
|
+//
|
|
|
+// return Result.success(getDataBySceneCode(sceneCode));
|
|
|
+// }
|
|
|
+
|
|
|
private MeasurementEntity findById(String sceneCode){
|
|
|
Optional<MeasurementEntity> optional = entityMapper.findById(sceneCode);
|
|
|
return optional.orElse(null);
|