Commit 39896555f0b7f1a58e193f52d34d544da14b1fc1
Committed by
Gitee
!1170 【代码优化】IOT: ThingModel 评审优化
Merge pull request !1170 from puhui999/iot
Showing
3 changed files
with
9 additions
and
18 deletions
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/tdengine/FieldParser.java
| ... | ... | @@ -5,7 +5,8 @@ import cn.iocoder.yudao.module.iot.controller.admin.thingmodel.model.ThingModelR |
| 5 | 5 | |
| 6 | 6 | import java.util.HashMap; |
| 7 | 7 | import java.util.List; |
| 8 | -import java.util.stream.Collectors; | |
| 8 | + | |
| 9 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertList; | |
| 9 | 10 | |
| 10 | 11 | /** |
| 11 | 12 | * FieldParser 类用于解析和转换物模型字段到 TDengine 字段 |
| ... | ... | @@ -52,10 +53,7 @@ public class FieldParser { |
| 52 | 53 | * @return 字段列表 |
| 53 | 54 | */ |
| 54 | 55 | public static List<TdFieldDO> parse(ThingModelRespVO thingModel) { |
| 55 | - // TODO @puhui999:是不是使用 convertList | |
| 56 | - return thingModel.getModel().getProperties().stream() | |
| 57 | - .map(FieldParser::parse) | |
| 58 | - .collect(Collectors.toList()); | |
| 56 | + return convertList(thingModel.getModel().getProperties(), FieldParser::parse); | |
| 59 | 57 | } |
| 60 | 58 | |
| 61 | 59 | /** |
| ... | ... | @@ -65,13 +63,12 @@ public class FieldParser { |
| 65 | 63 | * @return 转换后的 TDengine 字段对象列表 |
| 66 | 64 | */ |
| 67 | 65 | public static List<TdFieldDO> parse(List<List<Object>> rows) { |
| 68 | - // TODO @puhui999:是不是使用 convertList | |
| 69 | - return rows.stream().map(row -> { | |
| 66 | + return convertList(rows, row -> { | |
| 70 | 67 | String type = row.get(1).toString().toUpperCase(); |
| 71 | 68 | // TODO @puhui999:"NCHAR" 最好枚举下 |
| 72 | 69 | int dataLength = "NCHAR".equals(type) ? Integer.parseInt(row.get(2).toString()) : -1; |
| 73 | 70 | return new TdFieldDO(row.get(0).toString(), type, dataLength); |
| 74 | - }).collect(Collectors.toList()); | |
| 71 | + }); | |
| 75 | 72 | } |
| 76 | 73 | |
| 77 | 74 | /** | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/tdengine/IotThingModelMessageServiceImpl.java
| ... | ... | @@ -135,12 +135,8 @@ public class IotThingModelMessageServiceImpl implements IotThingModelMessageServ |
| 135 | 135 | } |
| 136 | 136 | |
| 137 | 137 | private List<IotProductThingModelDO> getValidFunctionList(String productKey) { |
| 138 | - // TODO @puhui999:使用 convertList 会好点哈 | |
| 139 | - return iotProductThingModelService | |
| 140 | - .getProductThingModelListByProductKey(productKey) | |
| 141 | - .stream() | |
| 142 | - .filter(function -> IotProductThingModelTypeEnum.PROPERTY.getType().equals(function.getType())) | |
| 143 | - .toList(); | |
| 138 | + return filterList(iotProductThingModelService.getProductThingModelListByProductKey(productKey), | |
| 139 | + thingModel -> IotProductThingModelTypeEnum.PROPERTY.getType().equals(thingModel.getType())); | |
| 144 | 140 | } |
| 145 | 141 | |
| 146 | 142 | private List<TdFieldDO> filterAndCollectValidFields(Map<String, Object> params, List<IotProductThingModelDO> thingModelList, IotDeviceDO device, Long time) { | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/thingmodel/IotProductThingModelServiceImpl.java
| ... | ... | @@ -29,10 +29,10 @@ import org.springframework.transaction.annotation.Transactional; |
| 29 | 29 | import org.springframework.validation.annotation.Validated; |
| 30 | 30 | |
| 31 | 31 | import java.util.*; |
| 32 | -import java.util.stream.Collectors; | |
| 33 | 32 | |
| 34 | 33 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 35 | 34 | import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.diffList; |
| 35 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.filterList; | |
| 36 | 36 | import static cn.iocoder.yudao.module.iot.enums.ErrorCodeConstants.*; |
| 37 | 37 | |
| 38 | 38 | /** |
| ... | ... | @@ -261,9 +261,7 @@ public class IotProductThingModelServiceImpl implements IotProductThingModelServ |
| 261 | 261 | } |
| 262 | 262 | }); |
| 263 | 263 | // 过滤掉没有设置 ID 的对象 |
| 264 | - List<IotProductThingModelDO> validUpdateList = updateList.stream() | |
| 265 | - .filter(func -> func.getId() != null) | |
| 266 | - .collect(Collectors.toList()); | |
| 264 | + List<IotProductThingModelDO> validUpdateList = filterList(updateList, thingModel -> thingModel.getId() != null); | |
| 267 | 265 | // 执行批量更新 |
| 268 | 266 | if (CollUtil.isNotEmpty(validUpdateList)) { |
| 269 | 267 | productThingModelMapper.updateBatch(validUpdateList); | ... | ... |