|
|
@@ -202,13 +202,14 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
|
|
|
List<IotWarnobject> oldWarnObjectList = iotWarnobjectMapper.selectIotWarnobjectList(iotWarnobjectQuery);
|
|
|
// 对比两个集合,获取不同的内容
|
|
|
Collection<IotWarnobject> differ = CollectionUtils.disjunction(oldWarnObjectList,iotWarnconfigEditReqVo.getIotWarnobjectList());
|
|
|
- Collection<IotWarnobject> deleteData = getDifferObjects(oldWarnObjectList,differ);
|
|
|
+ // 老数据中存在,新数据中不存在,代表被删除的数据,即旧数据与differ的交集
|
|
|
+ Collection<IotWarnobject> deleteData = CollectionUtils.intersection(oldWarnObjectList,differ);
|
|
|
if(!deleteData.isEmpty()){
|
|
|
String[] woBids = deleteData.stream().map(IotWarnobject::getWoBid).toArray(String[]::new);
|
|
|
iotWarnobjectMapper.deleteIotWarnobjectByWoBids(woBids, SecurityUtils.getTid());
|
|
|
}
|
|
|
- // 老数据中不存在,新数据中存在,代表新增的数据
|
|
|
- Collection<IotWarnobject> addData = getDifferObjects(iotWarnconfigEditReqVo.getIotWarnobjectList(),differ);
|
|
|
+ // 老数据中不存在,新数据中存在,代表新增的数据,即入参与differ的交集
|
|
|
+ Collection<IotWarnobject> addData = CollectionUtils.intersection(iotWarnconfigEditReqVo.getIotWarnobjectList(),differ);
|
|
|
for(IotWarnobject addWarnObject : addData){
|
|
|
addWarnObject.setTid(SecurityUtils.getTid());
|
|
|
addWarnObject.setWcBid(iotWarnconfigEditReqVo.getWcBid());
|
|
|
@@ -334,12 +335,4 @@ public class IotWarnconfigServiceImpl implements IIotWarnconfigService {
|
|
|
return result;
|
|
|
}
|
|
|
|
|
|
- private Collection<IotWarnobject> getDifferObjects(List<IotWarnobject> oldData,Collection<IotWarnobject> differData){
|
|
|
- if(CollectionUtils.isEqualCollection(oldData,differData)){
|
|
|
- // 如果旧数据与不同的数据相同,则说明数据被完全替换
|
|
|
- return differData;
|
|
|
- }
|
|
|
- // 老数据中存在,新数据中不存在,代表被删除的数据
|
|
|
- return CollectionUtils.subtract(oldData,differData);
|
|
|
- }
|
|
|
}
|