[fix]:code review
This commit is contained in:
parent
e7999749fb
commit
0707792755
|
@ -0,0 +1,37 @@
|
|||
package cn.iocoder.yudao.module.iot.mq.consumer.deviceconsumer;
|
||||
|
||||
|
||||
import cn.iocoder.yudao.module.iot.api.device.dto.IotDevicePropertyReportReqDTO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThingModelMessage;
|
||||
import cn.iocoder.yudao.module.iot.service.device.IotDeviceLogDataService;
|
||||
import cn.iocoder.yudao.module.iot.service.device.IotDevicePropertyDataService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.scheduling.annotation.Async;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
/**
|
||||
* 针对 {@link ThingModelMessage} 的消费者
|
||||
*
|
||||
* @author alwayssuper
|
||||
*/
|
||||
@Component
|
||||
@Slf4j
|
||||
public class DeviceConsumer {
|
||||
@Resource
|
||||
private IotDeviceLogDataService iotDeviceLogDataService;
|
||||
@Resource
|
||||
private IotDevicePropertyDataService deviceDataService;
|
||||
|
||||
// TODO @芋艿:这块先用ThingModelMessage,后续看看用啥替代
|
||||
@EventListener
|
||||
@Async
|
||||
public void onMessage(ThingModelMessage message) {
|
||||
log.info("[onMessage][消息内容({})]", message);
|
||||
deviceDataService.saveDeviceDataTest(message);
|
||||
iotDeviceLogDataService.saveDeviceLog(message);
|
||||
}
|
||||
|
||||
}
|
|
@ -4,7 +4,6 @@ package cn.iocoder.yudao.module.iot.mq.consumer.simulatesend;
|
|||
* TODO @alwayssuper:记得实现,还有类注释哈
|
||||
*
|
||||
* @author alwayssuper
|
||||
* @since 2024/12/20 8:04
|
||||
*/
|
||||
public class SimulateSendConsumer {
|
||||
}
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
/**
|
||||
* 消息队列的消息
|
||||
*/
|
||||
package cn.iocoder.yudao.module.iot.mq.message;
|
|
@ -1,5 +1,6 @@
|
|||
package cn.iocoder.yudao.module.iot.mq.producer.simulatesend;
|
||||
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThingModelMessage;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
@ -19,4 +20,12 @@ public class SimulateSendProducer {
|
|||
@Resource
|
||||
private ApplicationContext applicationContext;
|
||||
|
||||
/**
|
||||
* 发送 {@link ThingModelMessage} 消息
|
||||
*
|
||||
* @param thingModelMessage 物模型消息
|
||||
*/
|
||||
public void sendSimulateMessage(ThingModelMessage thingModelMessage) {
|
||||
applicationContext.publishEvent(thingModelMessage);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|||
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.deviceData.IotDeviceDataSimulatorSaveReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.deviceData.IotDeviceLogPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceLogDO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThingModelMessage;
|
||||
|
||||
/**
|
||||
* IoT 设备日志数据 Service 接口
|
||||
|
@ -36,4 +37,7 @@ public interface IotDeviceLogDataService {
|
|||
*/
|
||||
PageResult<IotDeviceLogDO> getDeviceLogPage(IotDeviceLogPageReqVO pageReqVO);
|
||||
|
||||
|
||||
void saveDeviceLog(ThingModelMessage msg);
|
||||
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
|||
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.deviceData.IotDeviceDataSimulatorSaveReqVO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.deviceData.IotDeviceLogPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceLogDO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThingModelMessage;
|
||||
import cn.iocoder.yudao.module.iot.dal.tdengine.IotDeviceLogDataMapper;
|
||||
import jakarta.annotation.Resource;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
@ -76,4 +77,9 @@ public class IotDeviceLogDataServiceImpl implements IotDeviceLogDataService{
|
|||
return new PageResult<>(list, total);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void saveDeviceLog(ThingModelMessage msg) {
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|||
import cn.iocoder.yudao.module.iot.api.device.dto.IotDevicePropertyReportReqDTO;
|
||||
import cn.iocoder.yudao.module.iot.controller.admin.device.vo.deviceData.IotDeviceDataPageReqVO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDataDO;
|
||||
import cn.iocoder.yudao.module.iot.dal.dataobject.tdengine.ThingModelMessage;
|
||||
import jakarta.validation.Valid;
|
||||
|
||||
import java.util.List;
|
||||
|
@ -30,6 +31,14 @@ public interface IotDevicePropertyDataService {
|
|||
*/
|
||||
void saveDeviceData(IotDevicePropertyReportReqDTO createDTO);
|
||||
|
||||
|
||||
/**
|
||||
* 保存设备数据
|
||||
*
|
||||
* @param thingModelMessage 设备数据
|
||||
*/
|
||||
void saveDeviceDataTest(ThingModelMessage thingModelMessage);
|
||||
|
||||
/**
|
||||
* 获得设备属性最新数据
|
||||
*
|
||||
|
|
|
@ -150,6 +150,15 @@ public class IotDevicePropertyDataServiceImpl implements IotDevicePropertyDataSe
|
|||
thingModelMessageService.saveThingModelMessage(device, thingModelMessage);
|
||||
}
|
||||
|
||||
//TODO:后续捋一捋这块逻辑,先借鉴一下目前的代码
|
||||
@Override
|
||||
public void saveDeviceDataTest(ThingModelMessage thingModelMessage) {
|
||||
// 1. 根据产品 key 和设备名称,获得设备信息
|
||||
IotDeviceDO device = deviceService.getDeviceByProductKeyAndDeviceName(thingModelMessage.getProductKey(), thingModelMessage.getDeviceName());
|
||||
// 2. 保存数据
|
||||
thingModelMessageService.saveThingModelMessage(device, thingModelMessage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<IotDeviceDataDO> getLatestDeviceProperties(@Valid IotDeviceDataPageReqVO deviceDataReqVO) {
|
||||
List<IotDeviceDataDO> list = new ArrayList<>();
|
||||
|
|
Loading…
Reference in New Issue