Commit 34453a3f70492f9dfbc8b8d70a458632321e6017

Authored by YunaiV
1 parent 27e08266

【代码评审】IoT:数据桥梁的维护

Showing 18 changed files with 38 additions and 30 deletions
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/DictTypeConstants.java
@@ -15,6 +15,7 @@ public class DictTypeConstants { @@ -15,6 +15,7 @@ public class DictTypeConstants {
15 public static final String VALIDATE_TYPE = "iot_validate_type"; 15 public static final String VALIDATE_TYPE = "iot_validate_type";
16 16
17 public static final String DEVICE_STATE = "iot_device_state"; 17 public static final String DEVICE_STATE = "iot_device_state";
  18 +
18 public static final String IOT_DATA_BRIDGE_DIRECTION_ENUM = "iot_data_bridge_direction_enum"; 19 public static final String IOT_DATA_BRIDGE_DIRECTION_ENUM = "iot_data_bridge_direction_enum";
19 public static final String IOT_DATA_BRIDGE_TYPE_ENUM = "iot_data_bridge_type_enum"; 20 public static final String IOT_DATA_BRIDGE_TYPE_ENUM = "iot_data_bridge_type_enum";
20 21
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotDataBridgeController.java
@@ -37,14 +37,14 @@ public class IotDataBridgeController { @@ -37,14 +37,14 @@ public class IotDataBridgeController {
37 private IotDataBridgeService dataBridgeService; 37 private IotDataBridgeService dataBridgeService;
38 38
39 @PostMapping("/create") 39 @PostMapping("/create")
40 - @Operation(summary = "创建IoT 数据桥梁") 40 + @Operation(summary = "创建数据桥梁")
41 @PreAuthorize("@ss.hasPermission('iot:data-bridge:create')") 41 @PreAuthorize("@ss.hasPermission('iot:data-bridge:create')")
42 public CommonResult<Long> createDataBridge(@Valid @RequestBody IotDataBridgeSaveReqVO createReqVO) { 42 public CommonResult<Long> createDataBridge(@Valid @RequestBody IotDataBridgeSaveReqVO createReqVO) {
43 return success(dataBridgeService.createDataBridge(createReqVO)); 43 return success(dataBridgeService.createDataBridge(createReqVO));
44 } 44 }
45 45
46 @PutMapping("/update") 46 @PutMapping("/update")
47 - @Operation(summary = "更新IoT 数据桥梁") 47 + @Operation(summary = "更新数据桥梁")
48 @PreAuthorize("@ss.hasPermission('iot:data-bridge:update')") 48 @PreAuthorize("@ss.hasPermission('iot:data-bridge:update')")
49 public CommonResult<Boolean> updateDataBridge(@Valid @RequestBody IotDataBridgeSaveReqVO updateReqVO) { 49 public CommonResult<Boolean> updateDataBridge(@Valid @RequestBody IotDataBridgeSaveReqVO updateReqVO) {
50 dataBridgeService.updateDataBridge(updateReqVO); 50 dataBridgeService.updateDataBridge(updateReqVO);
@@ -52,7 +52,7 @@ public class IotDataBridgeController { @@ -52,7 +52,7 @@ public class IotDataBridgeController {
52 } 52 }
53 53
54 @DeleteMapping("/delete") 54 @DeleteMapping("/delete")
55 - @Operation(summary = "删除IoT 数据桥梁") 55 + @Operation(summary = "删除数据桥梁")
56 @Parameter(name = "id", description = "编号", required = true) 56 @Parameter(name = "id", description = "编号", required = true)
57 @PreAuthorize("@ss.hasPermission('iot:data-bridge:delete')") 57 @PreAuthorize("@ss.hasPermission('iot:data-bridge:delete')")
58 public CommonResult<Boolean> deleteDataBridge(@RequestParam("id") Long id) { 58 public CommonResult<Boolean> deleteDataBridge(@RequestParam("id") Long id) {
@@ -61,7 +61,7 @@ public class IotDataBridgeController { @@ -61,7 +61,7 @@ public class IotDataBridgeController {
61 } 61 }
62 62
63 @GetMapping("/get") 63 @GetMapping("/get")
64 - @Operation(summary = "获得IoT 数据桥梁") 64 + @Operation(summary = "获得数据桥梁")
65 @Parameter(name = "id", description = "编号", required = true, example = "1024") 65 @Parameter(name = "id", description = "编号", required = true, example = "1024")
66 @PreAuthorize("@ss.hasPermission('iot:data-bridge:query')") 66 @PreAuthorize("@ss.hasPermission('iot:data-bridge:query')")
67 public CommonResult<IotDataBridgeRespVO> getDataBridge(@RequestParam("id") Long id) { 67 public CommonResult<IotDataBridgeRespVO> getDataBridge(@RequestParam("id") Long id) {
@@ -70,15 +70,16 @@ public class IotDataBridgeController { @@ -70,15 +70,16 @@ public class IotDataBridgeController {
70 } 70 }
71 71
72 @GetMapping("/page") 72 @GetMapping("/page")
73 - @Operation(summary = "获得IoT 数据桥梁分页") 73 + @Operation(summary = "获得数据桥梁分页")
74 @PreAuthorize("@ss.hasPermission('iot:data-bridge:query')") 74 @PreAuthorize("@ss.hasPermission('iot:data-bridge:query')")
75 public CommonResult<PageResult<IotDataBridgeRespVO>> getDataBridgePage(@Valid IotDataBridgePageReqVO pageReqVO) { 75 public CommonResult<PageResult<IotDataBridgeRespVO>> getDataBridgePage(@Valid IotDataBridgePageReqVO pageReqVO) {
76 PageResult<IotDataBridgeDO> pageResult = dataBridgeService.getDataBridgePage(pageReqVO); 76 PageResult<IotDataBridgeDO> pageResult = dataBridgeService.getDataBridgePage(pageReqVO);
77 return success(BeanUtils.toBean(pageResult, IotDataBridgeRespVO.class)); 77 return success(BeanUtils.toBean(pageResult, IotDataBridgeRespVO.class));
78 } 78 }
79 79
  80 + // TODO @puhui999:不用导出哈。相关的 IotDataBridgeRespVO 里的导出也注释掉哈
80 @GetMapping("/export-excel") 81 @GetMapping("/export-excel")
81 - @Operation(summary = "导出IoT 数据桥梁 Excel") 82 + @Operation(summary = "导出数据桥梁 Excel")
82 @PreAuthorize("@ss.hasPermission('iot:data-bridge:export')") 83 @PreAuthorize("@ss.hasPermission('iot:data-bridge:export')")
83 @ApiAccessLog(operateType = EXPORT) 84 @ApiAccessLog(operateType = EXPORT)
84 public void exportDataBridgeExcel(@Valid IotDataBridgePageReqVO pageReqVO, 85 public void exportDataBridgeExcel(@Valid IotDataBridgePageReqVO pageReqVO,
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgePageReqVO.java
@@ -20,6 +20,7 @@ public class IotDataBridgePageReqVO extends PageParam { @@ -20,6 +20,7 @@ public class IotDataBridgePageReqVO extends PageParam {
20 @Schema(description = "桥梁名称", example = "赵六") 20 @Schema(description = "桥梁名称", example = "赵六")
21 private String name; 21 private String name;
22 22
  23 + // TODO @puhui999:description、direction、type 不过滤哈
23 @Schema(description = "桥梁描述", example = "随便") 24 @Schema(description = "桥梁描述", example = "随便")
24 private String description; 25 private String description;
25 26
@@ -36,4 +37,5 @@ public class IotDataBridgePageReqVO extends PageParam { @@ -36,4 +37,5 @@ public class IotDataBridgePageReqVO extends PageParam {
36 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) 37 @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
37 private LocalDateTime[] createTime; 38 private LocalDateTime[] createTime;
38 39
  40 +
39 } 41 }
40 \ No newline at end of file 42 \ No newline at end of file
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgeRespVO.java
@@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge; @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge;
2 2
3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; 3 import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; 4 import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;
5 -import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeConfig; 5 +import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeAbstractConfig;
6 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; 6 import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
7 import com.alibaba.excel.annotation.ExcelProperty; 7 import com.alibaba.excel.annotation.ExcelProperty;
8 import io.swagger.v3.oas.annotations.media.Schema; 8 import io.swagger.v3.oas.annotations.media.Schema;
@@ -48,7 +48,7 @@ public class IotDataBridgeRespVO { @@ -48,7 +48,7 @@ public class IotDataBridgeRespVO {
48 48
49 @Schema(description = "桥梁配置") 49 @Schema(description = "桥梁配置")
50 @ExcelProperty("桥梁配置") 50 @ExcelProperty("桥梁配置")
51 - private IotDataBridgeConfig config; 51 + private IotDataBridgeAbstractConfig config;
52 52
53 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED) 53 @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
54 @ExcelProperty("创建时间") 54 @ExcelProperty("创建时间")
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgeSaveReqVO.java
1 package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge; 1 package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge;
2 2
3 -import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeConfig; 3 +import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeAbstractConfig;
4 import io.swagger.v3.oas.annotations.media.Schema; 4 import io.swagger.v3.oas.annotations.media.Schema;
5 import jakarta.validation.constraints.NotEmpty; 5 import jakarta.validation.constraints.NotEmpty;
6 import jakarta.validation.constraints.NotNull; 6 import jakarta.validation.constraints.NotNull;
@@ -24,6 +24,7 @@ public class IotDataBridgeSaveReqVO { @@ -24,6 +24,7 @@ public class IotDataBridgeSaveReqVO {
24 @NotNull(message = "桥梁状态不能为空") 24 @NotNull(message = "桥梁状态不能为空")
25 private Integer status; 25 private Integer status;
26 26
  27 + // TODO @puhui999:枚举的校验
27 @Schema(description = "桥梁方向", requiredMode = Schema.RequiredMode.REQUIRED) 28 @Schema(description = "桥梁方向", requiredMode = Schema.RequiredMode.REQUIRED)
28 @NotNull(message = "桥梁方向不能为空") 29 @NotNull(message = "桥梁方向不能为空")
29 private Integer direction; 30 private Integer direction;
@@ -34,6 +35,6 @@ public class IotDataBridgeSaveReqVO { @@ -34,6 +35,6 @@ public class IotDataBridgeSaveReqVO {
34 35
35 @Schema(description = "桥梁配置") 36 @Schema(description = "桥梁配置")
36 @NotNull(message = "桥梁配置不能为空") 37 @NotNull(message = "桥梁配置不能为空")
37 - private IotDataBridgeConfig config; 38 + private IotDataBridgeAbstractConfig config;
38 39
39 } 40 }
40 \ No newline at end of file 41 \ No newline at end of file
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeConfig.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeAbstractConfig.java
@@ -22,7 +22,7 @@ import lombok.Data; @@ -22,7 +22,7 @@ import lombok.Data;
22 @JsonSubTypes.Type(value = IotDataBridgeRedisStreamMQConfig.class, name = "REDIS_STREAM"), 22 @JsonSubTypes.Type(value = IotDataBridgeRedisStreamMQConfig.class, name = "REDIS_STREAM"),
23 @JsonSubTypes.Type(value = IotDataBridgeRocketMQConfig.class, name = "ROCKETMQ"), 23 @JsonSubTypes.Type(value = IotDataBridgeRocketMQConfig.class, name = "ROCKETMQ"),
24 }) 24 })
25 -public abstract class IotDataBridgeConfig { 25 +public abstract class IotDataBridgeAbstractConfig {
26 26
27 /** 27 /**
28 * 配置类型 28 * 配置类型
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeHttpConfig.java
@@ -10,7 +10,7 @@ import java.util.Map; @@ -10,7 +10,7 @@ import java.util.Map;
10 * @author HUIHUI 10 * @author HUIHUI
11 */ 11 */
12 @Data 12 @Data
13 -public class IotDataBridgeHttpConfig extends IotDataBridgeConfig { 13 +public class IotDataBridgeHttpConfig extends IotDataBridgeAbstractConfig {
14 14
15 /** 15 /**
16 * 请求 URL 16 * 请求 URL
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeKafkaMQConfig.java
@@ -8,7 +8,7 @@ import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data;
8 * @author HUIHUI 8 * @author HUIHUI
9 */ 9 */
10 @Data 10 @Data
11 -public class IotDataBridgeKafkaMQConfig extends IotDataBridgeConfig { 11 +public class IotDataBridgeKafkaMQConfig extends IotDataBridgeAbstractConfig {
12 12
13 /** 13 /**
14 * Kafka 服务器地址 14 * Kafka 服务器地址
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeMqttConfig.java
@@ -8,7 +8,7 @@ import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data;
8 * @author HUIHUI 8 * @author HUIHUI
9 */ 9 */
10 @Data 10 @Data
11 -public class IotDataBridgeMqttConfig extends IotDataBridgeConfig { 11 +public class IotDataBridgeMqttConfig extends IotDataBridgeAbstractConfig {
12 12
13 /** 13 /**
14 * MQTT 服务器地址 14 * MQTT 服务器地址
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeRabbitMQConfig.java
@@ -8,7 +8,7 @@ import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data;
8 * @author HUIHUI 8 * @author HUIHUI
9 */ 9 */
10 @Data 10 @Data
11 -public class IotDataBridgeRabbitMQConfig extends IotDataBridgeConfig { 11 +public class IotDataBridgeRabbitMQConfig extends IotDataBridgeAbstractConfig {
12 12
13 /** 13 /**
14 * RabbitMQ 服务器地址 14 * RabbitMQ 服务器地址
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeRedisStreamMQConfig.java
@@ -8,7 +8,7 @@ import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data;
8 * @author HUIHUI 8 * @author HUIHUI
9 */ 9 */
10 @Data 10 @Data
11 -public class IotDataBridgeRedisStreamMQConfig extends IotDataBridgeConfig { 11 +public class IotDataBridgeRedisStreamMQConfig extends IotDataBridgeAbstractConfig {
12 12
13 /** 13 /**
14 * Redis 服务器地址 14 * Redis 服务器地址
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeRocketMQConfig.java
@@ -8,7 +8,7 @@ import lombok.Data; @@ -8,7 +8,7 @@ import lombok.Data;
8 * @author HUIHUI 8 * @author HUIHUI
9 */ 9 */
10 @Data 10 @Data
11 -public class IotDataBridgeRocketMQConfig extends IotDataBridgeConfig { 11 +public class IotDataBridgeRocketMQConfig extends IotDataBridgeAbstractConfig {
12 12
13 /** 13 /**
14 * RocketMQ 名称服务器地址 14 * RocketMQ 名称服务器地址
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/rule/IotDataBridgeDO.java
1 package cn.iocoder.yudao.module.iot.dal.dataobject.rule; 1 package cn.iocoder.yudao.module.iot.dal.dataobject.rule;
2 2
3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; 3 import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
4 -import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeConfig; 4 +import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeAbstractConfig;
5 import cn.iocoder.yudao.module.iot.enums.rule.IotDataBridgeDirectionEnum; 5 import cn.iocoder.yudao.module.iot.enums.rule.IotDataBridgeDirectionEnum;
6 import cn.iocoder.yudao.module.iot.enums.rule.IotDataBridgeTypeEnum; 6 import cn.iocoder.yudao.module.iot.enums.rule.IotDataBridgeTypeEnum;
7 import com.baomidou.mybatisplus.annotation.KeySequence; 7 import com.baomidou.mybatisplus.annotation.KeySequence;
@@ -63,6 +63,6 @@ public class IotDataBridgeDO extends BaseDO { @@ -63,6 +63,6 @@ public class IotDataBridgeDO extends BaseDO {
63 * 桥梁配置 63 * 桥梁配置
64 */ 64 */
65 @TableField(typeHandler = JacksonTypeHandler.class) 65 @TableField(typeHandler = JacksonTypeHandler.class)
66 - private IotDataBridgeConfig config; 66 + private IotDataBridgeAbstractConfig config;
67 67
68 } 68 }
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/IotDataBridgeService.java
@@ -14,7 +14,7 @@ import jakarta.validation.Valid; @@ -14,7 +14,7 @@ import jakarta.validation.Valid;
14 public interface IotDataBridgeService { 14 public interface IotDataBridgeService {
15 15
16 /** 16 /**
17 - * 创建IoT 数据桥梁 17 + * 创建数据桥梁
18 * 18 *
19 * @param createReqVO 创建信息 19 * @param createReqVO 创建信息
20 * @return 编号 20 * @return 编号
@@ -22,32 +22,32 @@ public interface IotDataBridgeService { @@ -22,32 +22,32 @@ public interface IotDataBridgeService {
22 Long createDataBridge(@Valid IotDataBridgeSaveReqVO createReqVO); 22 Long createDataBridge(@Valid IotDataBridgeSaveReqVO createReqVO);
23 23
24 /** 24 /**
25 - * 更新IoT 数据桥梁 25 + * 更新数据桥梁
26 * 26 *
27 * @param updateReqVO 更新信息 27 * @param updateReqVO 更新信息
28 */ 28 */
29 void updateDataBridge(@Valid IotDataBridgeSaveReqVO updateReqVO); 29 void updateDataBridge(@Valid IotDataBridgeSaveReqVO updateReqVO);
30 30
31 /** 31 /**
32 - * 删除IoT 数据桥梁 32 + * 删除数据桥梁
33 * 33 *
34 * @param id 编号 34 * @param id 编号
35 */ 35 */
36 void deleteDataBridge(Long id); 36 void deleteDataBridge(Long id);
37 37
38 /** 38 /**
39 - * 获得IoT 数据桥梁 39 + * 获得数据桥梁
40 * 40 *
41 * @param id 编号 41 * @param id 编号
42 - * @return IoT 数据桥梁 42 + * @return 数据桥梁
43 */ 43 */
44 IotDataBridgeDO getDataBridge(Long id); 44 IotDataBridgeDO getDataBridge(Long id);
45 45
46 /** 46 /**
47 - * 获得IoT 数据桥梁分页 47 + * 获得数据桥梁分页
48 * 48 *
49 * @param pageReqVO 分页查询 49 * @param pageReqVO 分页查询
50 - * @return IoT 数据桥梁分页 50 + * @return 数据桥梁分页
51 */ 51 */
52 PageResult<IotDataBridgeDO> getDataBridgePage(IotDataBridgePageReqVO pageReqVO); 52 PageResult<IotDataBridgeDO> getDataBridgePage(IotDataBridgePageReqVO pageReqVO);
53 53
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/action/databridge/AbstractCacheableDataBridgeExecute.java
1 package cn.iocoder.yudao.module.iot.service.rule.action.databridge; 1 package cn.iocoder.yudao.module.iot.service.rule.action.databridge;
2 2
  3 +import cn.hutool.core.util.ObjUtil;
3 import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotDataBridgeDO; 4 import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotDataBridgeDO;
4 import cn.iocoder.yudao.module.iot.mq.message.IotDeviceMessage; 5 import cn.iocoder.yudao.module.iot.mq.message.IotDeviceMessage;
5 import com.google.common.cache.CacheBuilder; 6 import com.google.common.cache.CacheBuilder;
@@ -56,6 +57,7 @@ public abstract class AbstractCacheableDataBridgeExecute&lt;Config, Producer&gt; imple @@ -56,6 +57,7 @@ public abstract class AbstractCacheableDataBridgeExecute&lt;Config, Producer&gt; imple
56 } 57 }
57 }) 58 })
58 .build(new CacheLoader<Config, Producer>() { 59 .build(new CacheLoader<Config, Producer>() {
  60 +
59 @Override 61 @Override
60 public Producer load(Config config) throws Exception { 62 public Producer load(Config config) throws Exception {
61 try { 63 try {
@@ -67,6 +69,7 @@ public abstract class AbstractCacheableDataBridgeExecute&lt;Config, Producer&gt; imple @@ -67,6 +69,7 @@ public abstract class AbstractCacheableDataBridgeExecute&lt;Config, Producer&gt; imple
67 throw e; // 抛出异常,触发缓存加载失败机制 69 throw e; // 抛出异常,触发缓存加载失败机制
68 } 70 }
69 } 71 }
  72 +
70 }); 73 });
71 74
72 /** 75 /**
@@ -98,12 +101,9 @@ public abstract class AbstractCacheableDataBridgeExecute&lt;Config, Producer&gt; imple @@ -98,12 +101,9 @@ public abstract class AbstractCacheableDataBridgeExecute&lt;Config, Producer&gt; imple
98 @Override 101 @Override
99 @SuppressWarnings({"unchecked"}) 102 @SuppressWarnings({"unchecked"})
100 public void execute(IotDeviceMessage message, IotDataBridgeDO dataBridge) { 103 public void execute(IotDeviceMessage message, IotDataBridgeDO dataBridge) {
101 - // 1.1 校验数据桥梁类型  
102 - if (!getType().equals(dataBridge.getType())) { 104 + if (ObjUtil.notEqual(message.getType(), getType())) {
103 return; 105 return;
104 } 106 }
105 -  
106 - // 1.2 执行对应的数据桥梁发送消息  
107 try { 107 try {
108 execute0(message, (Config) dataBridge.getConfig()); 108 execute0(message, (Config) dataBridge.getConfig());
109 } catch (Exception e) { 109 } catch (Exception e) {
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/action/databridge/IotDataBridgeExecute.java
1 package cn.iocoder.yudao.module.iot.service.rule.action.databridge; 1 package cn.iocoder.yudao.module.iot.service.rule.action.databridge;
2 2
  3 +import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeAbstractConfig;
3 import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotDataBridgeDO; 4 import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotDataBridgeDO;
4 import cn.iocoder.yudao.module.iot.mq.message.IotDeviceMessage; 5 import cn.iocoder.yudao.module.iot.mq.message.IotDeviceMessage;
5 6
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/rule/action/databridge/IotRocketMQDataBridgeExecute.java
@@ -66,6 +66,7 @@ public class IotRocketMQDataBridgeExecute extends @@ -66,6 +66,7 @@ public class IotRocketMQDataBridgeExecute extends
66 } 66 }
67 67
68 // TODO @芋艿:测试代码,后续清理 68 // TODO @芋艿:测试代码,后续清理
  69 + // TODO @puhui999:搞到测试类里。
69 public static void main(String[] args) { 70 public static void main(String[] args) {
70 // 1. 创建一个共享的实例 71 // 1. 创建一个共享的实例
71 IotRocketMQDataBridgeExecute action = new IotRocketMQDataBridgeExecute(); 72 IotRocketMQDataBridgeExecute action = new IotRocketMQDataBridgeExecute();
yudao-server/pom.xml
@@ -115,6 +115,7 @@ @@ -115,6 +115,7 @@
115 <version>${revision}</version> 115 <version>${revision}</version>
116 </dependency> 116 </dependency>
117 <!-- IoT 数据桥梁的执行器所需消息队列。如果您只需要使用 rocketmq 那么则注释掉其它消息队列即可 --> 117 <!-- IoT 数据桥梁的执行器所需消息队列。如果您只需要使用 rocketmq 那么则注释掉其它消息队列即可 -->
  118 + <!-- TODO @puhui999:默认不使用哈。可以在 iot biz 那,作为 optional 进行引入 -->
118 <dependency> 119 <dependency>
119 <groupId>org.apache.rocketmq</groupId> 120 <groupId>org.apache.rocketmq</groupId>
120 <artifactId>rocketmq-spring-boot-starter</artifactId> 121 <artifactId>rocketmq-spring-boot-starter</artifactId>