xxx
This commit is contained in:
parent
8c50ade937
commit
e0b074dde1
|
|
@ -35,6 +35,14 @@ public interface IDeviceDomain
|
|||
*/
|
||||
Device selectDeviceByIotDeviceId(String iotDeviceId);
|
||||
|
||||
/**
|
||||
* 根据设备SN号查询设备
|
||||
*
|
||||
* @param deviceSn 设备SN号
|
||||
* @return 设备
|
||||
*/
|
||||
Device selectDeviceByDeviceSn(String deviceSn);
|
||||
|
||||
/**
|
||||
* 新增设备
|
||||
*
|
||||
|
|
|
|||
|
|
@ -47,6 +47,13 @@ public class DeviceDomainImpl implements IDeviceDomain
|
|||
return DeviceConvert.from(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Device selectDeviceByDeviceSn(String deviceSn)
|
||||
{
|
||||
DeviceEntity entity = deviceMapper.selectDeviceByDeviceSn(deviceSn);
|
||||
return DeviceConvert.from(entity);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int insertDevice(Device device)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27,6 +27,14 @@ public interface DeviceMapper
|
|||
*/
|
||||
DeviceEntity selectDeviceByIotDeviceId(String iotDeviceId);
|
||||
|
||||
/**
|
||||
* 根据设备SN号查询设备
|
||||
*
|
||||
* @param deviceSn 设备SN号
|
||||
* @return 设备信息
|
||||
*/
|
||||
DeviceEntity selectDeviceByDeviceSn(String deviceSn);
|
||||
|
||||
/**
|
||||
* 查询设备列表
|
||||
*
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
package com.ruoyi.device.service.impl;
|
||||
|
||||
import com.ruoyi.device.domain.api.IAircraftDomain;
|
||||
import com.ruoyi.device.domain.api.IDeviceDomain;
|
||||
import com.ruoyi.device.domain.api.IDockAircraftDomain;
|
||||
import com.ruoyi.device.domain.api.IDockDomain;
|
||||
import com.ruoyi.device.domain.impl.DockDomainImpl;
|
||||
import com.ruoyi.device.domain.impl.djimqtt.callback.IDockDataCallback;
|
||||
import com.ruoyi.device.domain.impl.djimqtt.callback.IDroneDataCallback;
|
||||
import com.ruoyi.device.domain.impl.djimqtt.config.DjiMqttClientConfig;
|
||||
|
|
@ -8,11 +13,19 @@ import com.ruoyi.device.domain.impl.djimqtt.handler.DjiMqttMessageHandler;
|
|||
import com.ruoyi.device.domain.impl.djimqtt.manager.DjiMqttClientManager;
|
||||
import com.ruoyi.device.domain.impl.djimqtt.model.DockData;
|
||||
import com.ruoyi.device.domain.impl.djimqtt.model.DroneData;
|
||||
import com.ruoyi.device.domain.model.Aircraft;
|
||||
import com.ruoyi.device.domain.model.Device;
|
||||
import com.ruoyi.device.domain.model.Dock;
|
||||
import com.ruoyi.device.domain.model.DockAircraft;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.context.event.ApplicationReadyEvent;
|
||||
import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
@Service
|
||||
@Slf4j
|
||||
|
|
@ -24,6 +37,18 @@ public class DjiService {
|
|||
@Autowired
|
||||
private DjiMqttProperties mqttProperties;
|
||||
|
||||
@Autowired
|
||||
private IDockDomain dockDomain;
|
||||
|
||||
@Autowired
|
||||
private IDeviceDomain deviceDomain;
|
||||
|
||||
@Autowired
|
||||
private IAircraftDomain aircraftDomain;
|
||||
|
||||
@Autowired
|
||||
private IDockAircraftDomain dockAircraftDomain;
|
||||
|
||||
@EventListener(ApplicationReadyEvent.class)
|
||||
public void onApplicationReady() {
|
||||
|
||||
|
|
@ -52,6 +77,8 @@ public class DjiService {
|
|||
handler.registerDroneDataCallback(new IDroneDataCallback() {
|
||||
@Override
|
||||
public void onDroneData(DroneData droneData) {
|
||||
// 更新 Dock 表的 lastActiveTime
|
||||
// updateDockLastActiveTime(droneData.getDeviceSn());
|
||||
// log.info("droneData:{}", droneData);
|
||||
}
|
||||
});
|
||||
|
|
|
|||
|
|
@ -32,12 +32,14 @@ CREATE TABLE IF NOT EXISTS device_dock (
|
|||
dock_name VARCHAR(100) COMMENT '机场名称',
|
||||
dock_location VARCHAR(200) COMMENT '机场位置',
|
||||
device_id BIGINT COMMENT '设备表主键',
|
||||
last_active_time DATETIME COMMENT '最后活跃时间',
|
||||
create_by VARCHAR(64) COMMENT '创建者',
|
||||
create_time DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
update_by VARCHAR(64) COMMENT '更新者',
|
||||
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
remark VARCHAR(500) COMMENT '备注',
|
||||
PRIMARY KEY (dock_id)
|
||||
PRIMARY KEY (dock_id),
|
||||
KEY idx_dock_last_active_time (last_active_time)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='机场表';
|
||||
|
||||
-- 创建无人机表
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
-- 添加 last_active_time 字段到 dock 表
|
||||
ALTER TABLE dock ADD COLUMN last_active_time DATETIME COMMENT '最后活跃时间';
|
||||
|
||||
-- 为 last_active_time 字段创建索引以提高查询性能
|
||||
CREATE INDEX idx_dock_last_active_time ON dock(last_active_time);
|
||||
|
|
@ -37,6 +37,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
where iot_device_id = #{iotDeviceId}
|
||||
</select>
|
||||
|
||||
<select id="selectDeviceByDeviceSn" parameterType="String" resultMap="DeviceResult">
|
||||
<include refid="selectDeviceVo"/>
|
||||
where device_sn = #{deviceSn}
|
||||
</select>
|
||||
|
||||
<select id="selectDeviceList" parameterType="com.ruoyi.device.mapper.entity.DeviceEntity" resultMap="DeviceResult">
|
||||
<include refid="selectDeviceVo"/>
|
||||
<where>
|
||||
|
|
|
|||
Loading…
Reference in New Issue