diff --git a/src/main/java/com/dispose/mapper/TaskInfoMapper.java b/src/main/java/com/dispose/mapper/TaskInfoMapper.java index 34559854..0bb2ec0a 100644 --- a/src/main/java/com/dispose/mapper/TaskInfoMapper.java +++ b/src/main/java/com/dispose/mapper/TaskInfoMapper.java @@ -61,4 +61,11 @@ public interface TaskInfoMapper extends Mapper, MySqlMapper * @return the task info current status */ int getTaskInfoCurrentStatus(Long id); + + /** + * Remove task by id. + * + * @param id the id + */ + void removeTaskInfoById(Long id); } diff --git a/src/main/java/com/dispose/service/impl/DisposeNodeManagerImpl.java b/src/main/java/com/dispose/service/impl/DisposeNodeManagerImpl.java index 5bb1e6fc..f0d9bc0c 100644 --- a/src/main/java/com/dispose/service/impl/DisposeNodeManagerImpl.java +++ b/src/main/java/com/dispose/service/impl/DisposeNodeManagerImpl.java @@ -6,6 +6,7 @@ import com.dispose.common.IPAddrType; import com.dispose.dispose.DeviceRouter; import com.dispose.dispose.DisposeEntryManager; import com.dispose.mapper.DisposeDeviceMapper; +import com.dispose.mapper.TaskInfoMapper; import com.dispose.pojo.entity.DisposeDevice; import com.dispose.pojo.po.DisposeDeviceCapacity; import com.dispose.pojo.po.MulReturnType; @@ -35,6 +36,8 @@ public class DisposeNodeManagerImpl implements DisposeNodeManager { private DisposeDeviceMapper disposeDeviceMapper; @Resource private UserAccountService userAccountService; + @Resource + private TaskInfoMapper taskInfoMapper; /** * Cleanup dispose node cache. @@ -120,6 +123,9 @@ public class DisposeNodeManagerImpl implements DisposeNodeManager { return ErrorCode.ERR_NOSUCHDEVICE; } + //删除task info表中的任务 + taskInfoMapper.removeTaskInfoById(dev.getId()); + // 删除数据库和缓存中内容 disposeDeviceMapper.delDisposeDeviceByIp(ipAddr); disposeDevMap.remove(ipAddr); @@ -146,7 +152,7 @@ public class DisposeNodeManagerImpl implements DisposeNodeManager { try { // 获取处置设备硬件访问接口 - dp = DeviceRouter.getDeviceRouterFactory(dev.getType(), dev.getIpAddr()); + dp = DeviceRouter.deviceRouterFactory(dev); // 判断设备是否在线 if (!dp.getDeviceLinkStatus()) { diff --git a/src/main/resources/mappers/TaskInfoMapper.xml b/src/main/resources/mappers/TaskInfoMapper.xml index 687a9dcc..718412bd 100644 --- a/src/main/resources/mappers/TaskInfoMapper.xml +++ b/src/main/resources/mappers/TaskInfoMapper.xml @@ -34,4 +34,11 @@ WHERE id = #{id, jdbcType=INTEGER} + + DELETE + task_info + FROM task_info + WHERE task_info.deviceId = #{deviceId} + +