这里用到了 org.apache.commons.lang3.tuple.Pair 来封装数据(就是不想自己再写一个 DO 或者 VO 或者 MO)
在Java中,Pair是一种简单的数据结构,用于存储两个相关联的值。它没有特定的内置类,但可以通过自定义实现或使用Apache Commons库中的Pair类来实现。
代码示例:
Pair<Boolean, List<String>> listPair = dualManager.judgeDualDevice(id);
if (listPair.getLeft()) {
List<ChannelDto> channelDtos = new ArrayList<>();
listPair.getRight().forEach(channelId -> {
ChannelDto channelDto = new ChannelDto();
channelDto.setMacId(channelId);
channelDtos.add(channelDto);
});
camera.setChannels(channelDtos);
}
public Pair<Boolean, List<String>> judgeDualDevice(String id) {
CameraDto dbCameraInfo = dualMybatis.getDbCameraInfo(id);
List<String> channelIds = new ArrayList<>();
if (dbCameraInfo != null && Objects.equals(dbCameraInfo.getNvrType(), 1)) {
DeviceDO deviceDO = deviceDaoMybatis.queryByMacId(id);
if (deviceDO != null && deviceDO.getChannelNum() != null) {
for (Integer i = 0; i < deviceDO.getChannelNum(); i++) {
String channelMacId = id + "_" + i;
channelIds.add(channelMacId);
}
}
return Pair.of(true, channelIds);
}
return Pair.of(false, channelIds);
}