【代码评审】IoT:评审 plugin 实现

This commit is contained in:
YunaiV
2024-12-21 16:28:25 +08:00
parent a2532013ec
commit e998b0c7eb
11 changed files with 42 additions and 37 deletions

View File

@@ -81,6 +81,7 @@
<dependency>
<groupId>org.pf4j</groupId>
<artifactId>pf4j-spring</artifactId>
<!-- TODO @芋艿:可以放到 bom 里配置 -->
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>

View File

@@ -1,6 +1,5 @@
package cn.iocoder.yudao.module.iot.api.device;
import cn.iocoder.yudao.module.iot.api.DeviceDataApi;
import cn.iocoder.yudao.module.iot.service.device.IotDeviceDataService;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
@@ -15,11 +14,11 @@ import javax.annotation.Resource;
public class DeviceDataApiImpl implements DeviceDataApi {
@Resource
private IotDeviceDataService iotDeviceDataService;
private IotDeviceDataService deviceDataService;
@Override
public void saveDeviceData(String productKey, String deviceName, String message) {
iotDeviceDataService.saveDeviceData(productKey, deviceName, message);
deviceDataService.saveDeviceData(productKey, deviceName, message);
}
}

View File

@@ -1 +1,6 @@
/**
* 占位
*
* TODO 芋艿:后续删除
*/
package cn.iocoder.yudao.module.iot.api;

View File

@@ -1,6 +1,6 @@
package cn.iocoder.yudao.module.iot.framework.plugin;
import cn.iocoder.yudao.module.iot.api.DeviceDataApi;
import cn.iocoder.yudao.module.iot.api.device.DeviceDataApi;
import cn.iocoder.yudao.module.iot.api.ServiceRegistry;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
@@ -26,9 +26,10 @@ public class ServiceRegistryConfiguration {
/**
* 定义一个标记用的 Bean用于表示 ServiceRegistry 已初始化完成
*/
@Bean("serviceRegistryInitializedMarker")
@Bean("serviceRegistryInitializedMarker") // TODO @haohao1这个名字可以搞个 public static final 常量2是不是 conditionBefore 啥
public Object serviceRegistryInitializedMarker() {
// 返回任意对象即可这里返回null都可以但最好返回个实际对象
// 返回任意对象即可,这里返回 null 都可以,但最好返回个实际对象
return new Object();
}
}

View File

@@ -21,7 +21,7 @@ public interface IotDeviceDataService {
* @param productKey 产品 key
* @param deviceName 设备名称
* @param message 消息
* <p>JSON 格式,参见 <a href="https://help.aliyun.com/zh/iot/user-guide/device-properties-events-and-services?spm=a2c4g.11186623.0.0.3a3335aeUdzkz2#concept-mvc-4tw-y2b">...</a>
* <p>参见 <a href="https://help.aliyun.com/zh/iot/user-guide/device-properties-events-and-services?spm=a2c4g.11186623.0.0.3a3335aeUdzkz2#concept-mvc-4tw-y2b">JSON 格式</a>
*/
void saveDeviceData(String productKey, String deviceName, String message);

View File

@@ -13,6 +13,7 @@ import org.springframework.validation.annotation.Validated;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.iot.enums.ErrorCodeConstants.PLUGIN_INSTANCE_NOT_EXISTS;
// TODO @haohao可以搞个 plugin 包,然后把 plugininfo、plugininstance
/**
* IoT 插件实例 Service 实现类
*