|
@@ -7,13 +7,9 @@ import cn.iocoder.yudao.framework.tenant.core.aop.TenantIgnore;
|
|
|
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.device.IotDeviceStatusUpdateReqVO;
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDataDO;
|
|
|
-import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.FieldParser;
|
|
|
-import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.TdFieldDO;
|
|
|
-import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.TdTableDO;
|
|
|
-import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThingModelMessage;
|
|
|
-import cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.IotProductThingModelDO;
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO;
|
|
|
import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.*;
|
|
|
+import cn.iocoder.yudao.module.iot.dal.dataobject.thingmodel.IotProductThingModelDO;
|
|
|
import cn.iocoder.yudao.module.iot.dal.redis.deviceData.DeviceDataRedisDAO;
|
|
|
import cn.iocoder.yudao.module.iot.dal.tdengine.TdEngineDDLMapper;
|
|
|
import cn.iocoder.yudao.module.iot.dal.tdengine.TdEngineDMLMapper;
|
|
@@ -22,8 +18,8 @@ import cn.iocoder.yudao.module.iot.enums.IotConstants;
|
|
|
import cn.iocoder.yudao.module.iot.enums.device.IotDeviceStatusEnum;
|
|
|
import cn.iocoder.yudao.module.iot.enums.thingmodel.IotProductThingModelTypeEnum;
|
|
|
import cn.iocoder.yudao.module.iot.service.device.IotDeviceService;
|
|
|
-import cn.iocoder.yudao.module.iot.service.thingmodel.IotProductThingModelService;
|
|
|
import cn.iocoder.yudao.module.iot.service.product.IotProductService;
|
|
|
+import cn.iocoder.yudao.module.iot.service.thingmodel.IotProductThingModelService;
|
|
|
import cn.iocoder.yudao.module.iot.util.IotTdDatabaseUtils;
|
|
|
import jakarta.annotation.Resource;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
@@ -132,12 +128,8 @@ public class IotThingModelMessageServiceImpl implements IotThingModelMessageServ
|
|
|
}
|
|
|
|
|
|
private List<IotProductThingModelDO> getValidFunctionList(String productKey) {
|
|
|
- // TODO @puhui999:使用 convertList 会好点哈
|
|
|
- return iotProductThingModelService
|
|
|
- .getProductThingModelListByProductKey(productKey)
|
|
|
- .stream()
|
|
|
- .filter(function -> IotProductThingModelTypeEnum.PROPERTY.getType().equals(function.getType()))
|
|
|
- .toList();
|
|
|
+ return filterList(iotProductThingModelService.getProductThingModelListByProductKey(productKey),
|
|
|
+ thingModel -> IotProductThingModelTypeEnum.PROPERTY.getType().equals(thingModel.getType()));
|
|
|
}
|
|
|
|
|
|
private List<TdFieldDO> filterAndCollectValidFields(Map<String, Object> params, List<IotProductThingModelDO> thingModelList, IotDeviceDO device, Long time) {
|
|
@@ -235,9 +227,8 @@ public class IotThingModelMessageServiceImpl implements IotThingModelMessageServ
|
|
|
* @param productKey 产品 Key
|
|
|
* @param deviceName 设备名称
|
|
|
* @param deviceKey 设备 Key
|
|
|
- *
|
|
|
*/
|
|
|
- private void createThinkModelMessageDeviceTable(String productKey, String deviceName, String deviceKey){
|
|
|
+ private void createThinkModelMessageDeviceTable(String productKey, String deviceName, String deviceKey) {
|
|
|
|
|
|
// 1. 获取超级表的名称、数据库名称、设备日志表名称
|
|
|
String databaseName = iotTdDatabaseUtils.getDatabaseName();
|