Commit d11590167dbc1775b7895b09402f26541104091a

Authored by 云中非
1 parent a24a2dfc

fix: 场景联动设备输出bug修复

... ... @@ -6,6 +6,7 @@ import lombok.RequiredArgsConstructor;
6 6 import org.springframework.stereotype.Service;
7 7 import org.thingsboard.server.common.data.yunteng.dto.DoActionDTO;
8 8 import org.thingsboard.server.common.data.yunteng.enums.DeviceTypeEnum;
  9 +import org.thingsboard.server.common.data.yunteng.enums.ScopeEnum;
9 10 import org.thingsboard.server.dao.yunteng.entities.TkDeviceEntity;
10 11 import org.thingsboard.server.dao.yunteng.entities.TkDoActionEntity;
11 12 import org.thingsboard.server.dao.yunteng.entities.TenantBaseEntity;
... ... @@ -28,7 +29,7 @@ public class TkDoActionServiceImpl extends AbstractBaseService<DoActionMapper, T
28 29 @Override
29 30 public List<TkDoActionEntity> getActionsByAll(String sceneId) {
30 31 LambdaQueryWrapper filter =
31   - new QueryWrapper<TkDoActionEntity>().lambda().eq(TkDoActionEntity::getSceneLinkageId, sceneId);
  32 + new LambdaQueryWrapper<TkDoActionEntity>().eq(TkDoActionEntity::getSceneLinkageId, sceneId).eq(TkDoActionEntity::getEntityType, ScopeEnum.ALL);
32 33 return baseMapper.selectList(filter);
33 34 }
34 35
... ... @@ -36,10 +37,10 @@ public class TkDoActionServiceImpl extends AbstractBaseService<DoActionMapper, T
36 37 @Override
37 38 public List<TkDoActionEntity> getActionsByPart(String sceneId) {
38 39 LambdaQueryWrapper filter =
39   - new QueryWrapper<TkDoActionEntity>().lambda().eq(TkDoActionEntity::getSceneLinkageId, sceneId);
  40 + new LambdaQueryWrapper<TkDoActionEntity>().eq(TkDoActionEntity::getSceneLinkageId, sceneId).eq(TkDoActionEntity::getEntityType, ScopeEnum.PART);
40 41 List<TkDoActionEntity> source = baseMapper.selectList(filter);
41 42 return source.stream().map(t ->{
42   - List<TkDeviceEntity> partDevices = deviceMapper.selectList(new LambdaQueryWrapper<TkDeviceEntity>().in(TkDeviceEntity::getId,t.getDeviceId()));
  43 + List<TkDeviceEntity> partDevices = deviceMapper.selectList(new LambdaQueryWrapper<TkDeviceEntity>().in(TkDeviceEntity::getTbDeviceId,t.getDeviceId()));
43 44 List<String> deviceId = new ArrayList<>();
44 45 for(TkDeviceEntity item : partDevices){
45 46 if(!DeviceTypeEnum.SENSOR.equals(item.getDeviceType())){
... ...