Browse Source

组模型更新信息3

2024年8月12日10:40:56
thing_master
lishuai 1 year ago
parent
commit
3356e0d825
  1. 23
      modules/thing/src/main/java/com/thing/thing/dict/service/impl/IotThingDictServiceImpl.java

23
modules/thing/src/main/java/com/thing/thing/dict/service/impl/IotThingDictServiceImpl.java

@ -394,16 +394,17 @@ public class IotThingDictServiceImpl extends BaseServiceImpl<IotThingDictMapper,
//自定义字典列表
List<IotThingDictEntity> noDefaultList = mapper.selectListByQuery(QueryWrapper.create().eq(IotThingDictEntity::getTenantCode, UserContext.getRealTenantCode())
.eq(IotThingDictEntity::getIsDefault, 1));
.eq(IotThingDictEntity::getIsDefault, 1).ne(IotThingDictEntity::getId, id));
//自定义字典列表
List<IotThingDictEntity> defaultList = mapper.selectListByQuery(QueryWrapper.create()
.eq(IotThingDictEntity::getIsDefault, 0));
.eq(IotThingDictEntity::getIsDefault, 0).ne(IotThingDictEntity::getId, id));
List<IotThingDictEntity> iotThingDictEntities = Lists.newArrayList();
iotThingDictEntities.addAll(noDefaultList);
iotThingDictEntities.addAll(defaultList);
//若是大于当前目前序号则更新当前序号之前的排序
AtomicLong aLong = new AtomicLong(0);
List<IotThingDictEntity> resList = Lists.newArrayList();
if(toDictEntity.getSort()<=sort){
iotThingDictEntities.stream().filter(s -> s.getSort() < sort)
.sorted(Comparator.comparing(IotThingDictEntity::getSort))
@ -420,20 +421,26 @@ public class IotThingDictServiceImpl extends BaseServiceImpl<IotThingDictMapper,
mapper.update(s);
});
}else{
iotThingDictEntities.stream().filter(s -> s.getSort() >= sort)
.sorted(Comparator.comparing(IotThingDictEntity::getSort))
List<IotThingDictEntity> list = iotThingDictEntities.stream().filter(s -> s.getSort() <= sort).toList();
list.stream().sorted(Comparator.comparing(IotThingDictEntity::getSort))
.forEach(s -> {
s.setSort(aLong.incrementAndGet());
mapper.update(s);
// mapper.update(s);
});
resList.addAll(list);
iotThingDictEntity.setSort(aLong.incrementAndGet());
iotThingDictEntities.stream().filter(s -> s.getSort() > sort)
.sorted(Comparator.comparing(IotThingDictEntity::getSort))
resList.add(iotThingDictEntity);
List<IotThingDictEntity> list1 = iotThingDictEntities.stream().filter(s -> s.getSort() > sort).toList();
list1.stream().sorted(Comparator.comparing(IotThingDictEntity::getSort))
.forEach(s -> {
s.setSort(aLong.incrementAndGet());
mapper.update(s);
// mapper.update(s);
});
resList.addAll(list1);
}
resList.forEach(s -> mapper.update(s));
// Db.executeBatch(iotThingDictEntities.size(), 1000, IotThingDictMapper.class, (mapper, index) -> {
// IotThingDictEntity account = iotThingDictEntities.get(index);

Loading…
Cancel
Save