Commit fae17e91253fb8e23c6aecf955aa75603f437b15
1 parent
3524bfd3
【功能完善】IOT: ThingModel 服务和事件
Showing
9 changed files
with
16 additions
and
52 deletions
yudao-module-iot/yudao-module-iot-biz/pom.xml
| ... | ... | @@ -27,13 +27,6 @@ |
| 27 | 27 | |
| 28 | 28 | <dependency> |
| 29 | 29 | <groupId>cn.iocoder.boot</groupId> |
| 30 | - <artifactId>yudao-module-iot-plugin-api</artifactId> | |
| 31 | - <version>0.0.1</version> | |
| 32 | - <scope>compile</scope> | |
| 33 | - </dependency> | |
| 34 | - | |
| 35 | - <dependency> | |
| 36 | - <groupId>cn.iocoder.boot</groupId> | |
| 37 | 30 | <artifactId>yudao-spring-boot-starter-biz-tenant</artifactId> |
| 38 | 31 | </dependency> |
| 39 | 32 | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/IotProductThingModelController.http
| ... | ... | @@ -176,7 +176,7 @@ tenant-id: {{adminTenentId}} |
| 176 | 176 | Authorization: Bearer {{token}} |
| 177 | 177 | |
| 178 | 178 | ### 请求 /iot/product-thing-model/get 接口 => 成功 |
| 179 | -GET {{baseUrl}}/iot/product-thing-model/get?id=40 | |
| 179 | +GET {{baseUrl}}/iot/product-thing-model/get?id=67 | |
| 180 | 180 | tenant-id: {{adminTenentId}} |
| 181 | 181 | Authorization: Bearer {{token}} |
| 182 | 182 | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/model/ThingModelEvent.java
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/model/ThingModelInputOutputParam.java
| ... | ... | @@ -23,11 +23,6 @@ public class ThingModelInputOutputParam { |
| 23 | 23 | */ |
| 24 | 24 | private String name; |
| 25 | 25 | /** |
| 26 | - * 参数描述 | |
| 27 | - */ | |
| 28 | - // TODO @puhui999: 考虑移除 | |
| 29 | - private String description; | |
| 30 | - /** | |
| 31 | 26 | * 用于区分输入或输出参数 |
| 32 | 27 | * |
| 33 | 28 | * 关联枚举 {@link IotProductThingModelParamDirectionEnum} | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/model/ThingModelProperty.java
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/model/ThingModelService.java
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/thingmodel/model/dataType/ThingModelStructDataSpecs.java
| ... | ... | @@ -26,10 +26,6 @@ public class ThingModelStructDataSpecs extends ThingModelDataSpecs { |
| 26 | 26 | */ |
| 27 | 27 | private String name; |
| 28 | 28 | /** |
| 29 | - * 属性描述 | |
| 30 | - */ | |
| 31 | - private String description; | |
| 32 | - /** | |
| 33 | 29 | * 云端可以对该属性进行的操作类型 |
| 34 | 30 | * 关联枚举 {@link IotProductThingModelAccessModeEnum} |
| 35 | 31 | */ | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/thingmodel/IotProductThingModelService.java
| ... | ... | @@ -24,13 +24,6 @@ public interface IotProductThingModelService { |
| 24 | 24 | Long createProductThingModel(@Valid IotProductThingModelSaveReqVO createReqVO); |
| 25 | 25 | |
| 26 | 26 | /** |
| 27 | - * 创建超级表数据模型 | |
| 28 | - * | |
| 29 | - * @param productId 产品编号 | |
| 30 | - */ | |
| 31 | - void createSuperTableDataModel(Long productId); | |
| 32 | - | |
| 33 | - /** | |
| 34 | 27 | * 更新产品物模型 |
| 35 | 28 | * |
| 36 | 29 | * @param updateReqVO 更新信息 | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/thingmodel/IotProductThingModelServiceImpl.java
| ... | ... | @@ -193,17 +193,17 @@ public class IotProductThingModelServiceImpl implements IotProductThingModelServ |
| 193 | 193 | // 2.1 生成属性上报事件 |
| 194 | 194 | ThingModelEvent propertyPostEvent = generatePropertyPostEvent(propertyList); |
| 195 | 195 | if (propertyPostEvent != null) { |
| 196 | - newThingModelList.add(buildEventThingModelDO(productId, productKey, propertyPostEvent)); | |
| 196 | + newThingModelList.add(buildEventThingModelDO(productId, productKey, propertyPostEvent, "属性上报事件")); | |
| 197 | 197 | } |
| 198 | 198 | // 2.2 生成属性设置服务 |
| 199 | 199 | ThingModelService propertySetService = generatePropertySetService(propertyList); |
| 200 | 200 | if (propertySetService != null) { |
| 201 | - newThingModelList.add(buildServiceThingModelDO(productId, productKey, propertySetService)); | |
| 201 | + newThingModelList.add(buildServiceThingModelDO(productId, productKey, propertySetService, "属性设置服务")); | |
| 202 | 202 | } |
| 203 | 203 | // 2.3 生成属性获取服务 |
| 204 | 204 | ThingModelService propertyGetService = generatePropertyGetService(propertyList); |
| 205 | 205 | if (propertyGetService != null) { |
| 206 | - newThingModelList.add(buildServiceThingModelDO(productId, productKey, propertyGetService)); | |
| 206 | + newThingModelList.add(buildServiceThingModelDO(productId, productKey, propertyGetService,"属性获取服务")); | |
| 207 | 207 | } |
| 208 | 208 | |
| 209 | 209 | // 3.1 获取数据库中的默认的旧事件和服务列表 |
| ... | ... | @@ -246,18 +246,20 @@ public class IotProductThingModelServiceImpl implements IotProductThingModelServ |
| 246 | 246 | /** |
| 247 | 247 | * 构建事件功能对象 |
| 248 | 248 | */ |
| 249 | - private IotProductThingModelDO buildEventThingModelDO(Long productId, String productKey, ThingModelEvent event) { | |
| 249 | + private IotProductThingModelDO buildEventThingModelDO(Long productId, String productKey, ThingModelEvent event, | |
| 250 | + String description) { | |
| 250 | 251 | return new IotProductThingModelDO().setProductId(productId).setProductKey(productKey) |
| 251 | - .setIdentifier(event.getIdentifier()).setName(event.getName()).setDescription(event.getDescription()) | |
| 252 | + .setIdentifier(event.getIdentifier()).setName(event.getName()).setDescription(description) | |
| 252 | 253 | .setType(IotProductThingModelTypeEnum.EVENT.getType()).setEvent(event); |
| 253 | 254 | } |
| 254 | 255 | |
| 255 | 256 | /** |
| 256 | 257 | * 构建服务功能对象 |
| 257 | 258 | */ |
| 258 | - private IotProductThingModelDO buildServiceThingModelDO(Long productId, String productKey, ThingModelService service) { | |
| 259 | + private IotProductThingModelDO buildServiceThingModelDO(Long productId, String productKey, ThingModelService service, | |
| 260 | + String description) { | |
| 259 | 261 | return new IotProductThingModelDO().setProductId(productId).setProductKey(productKey) |
| 260 | - .setIdentifier(service.getIdentifier()).setName(service.getName()).setDescription(service.getDescription()) | |
| 262 | + .setIdentifier(service.getIdentifier()).setName(service.getName()).setDescription(description) | |
| 261 | 263 | .setType(IotProductThingModelTypeEnum.SERVICE.getType()).setService(service); |
| 262 | 264 | } |
| 263 | 265 | |
| ... | ... | @@ -271,8 +273,8 @@ public class IotProductThingModelServiceImpl implements IotProductThingModelServ |
| 271 | 273 | } |
| 272 | 274 | |
| 273 | 275 | // 1.2 生成属性上报事件 |
| 274 | - return new ThingModelEvent().setIdentifier("post").setName("属性上报").setDescription("属性上报事件") | |
| 275 | - .setType(IotProductThingModelServiceEventTypeEnum.INFO.getType()).setMethod("thing.event.property.post") | |
| 276 | + return new ThingModelEvent().setIdentifier("post").setName("属性上报").setMethod("thing.event.property.post") | |
| 277 | + .setType(IotProductThingModelServiceEventTypeEnum.INFO.getType()) | |
| 276 | 278 | .setOutputParams(buildInputOutputParam(thingModelList, IotProductThingModelParamDirectionEnum.OUTPUT)); |
| 277 | 279 | } |
| 278 | 280 | |
| ... | ... | @@ -289,8 +291,8 @@ public class IotProductThingModelServiceImpl implements IotProductThingModelServ |
| 289 | 291 | } |
| 290 | 292 | |
| 291 | 293 | // 2. 生成属性设置服务 |
| 292 | - return new ThingModelService().setIdentifier("set").setName("属性设置").setDescription("属性设置服务") | |
| 293 | - .setCallType(IotProductThingModelServiceCallTypeEnum.ASYNC.getType()).setMethod("thing.service.property.set") | |
| 294 | + return new ThingModelService().setIdentifier("set").setName("属性设置").setMethod("thing.service.property.set") | |
| 295 | + .setCallType(IotProductThingModelServiceCallTypeEnum.ASYNC.getType()) | |
| 294 | 296 | .setInputParams(buildInputOutputParam(thingModelList, IotProductThingModelParamDirectionEnum.INPUT)) |
| 295 | 297 | .setOutputParams(Collections.emptyList()); // 属性设置服务一般不需要输出参数 |
| 296 | 298 | } |
| ... | ... | @@ -305,8 +307,8 @@ public class IotProductThingModelServiceImpl implements IotProductThingModelServ |
| 305 | 307 | } |
| 306 | 308 | |
| 307 | 309 | // 1.2 生成属性获取服务 |
| 308 | - return new ThingModelService().setIdentifier("get").setName("属性获取").setDescription("属性获取服务") | |
| 309 | - .setCallType(IotProductThingModelServiceCallTypeEnum.ASYNC.getType()).setMethod("thing.service.property.get") | |
| 310 | + return new ThingModelService().setIdentifier("get").setName("属性获取").setMethod("thing.service.property.get") | |
| 311 | + .setCallType(IotProductThingModelServiceCallTypeEnum.ASYNC.getType()) | |
| 310 | 312 | .setInputParams(buildInputOutputParam(thingModelList, IotProductThingModelParamDirectionEnum.INPUT)) |
| 311 | 313 | .setOutputParams(buildInputOutputParam(thingModelList, IotProductThingModelParamDirectionEnum.OUTPUT)); |
| 312 | 314 | } | ... | ... |