diff --git a/pom.xml b/pom.xml
index 48a3001..b8ba827 100644
--- a/pom.xml
+++ b/pom.xml
@@ -212,6 +212,13 @@
${ruoyi.version}
+
+
+ com.ruoyi
+ tuoheng-api-device
+ ${ruoyi.version}
+
+
diff --git a/ruoyi-api/pom.xml b/ruoyi-api/pom.xml
index b3bc234..23bceb8 100644
--- a/ruoyi-api/pom.xml
+++ b/ruoyi-api/pom.xml
@@ -10,6 +10,7 @@
ruoyi-api-system
+ tuoheng-api-device
ruoyi-api
diff --git a/ruoyi-api/tuoheng-api-device/pom.xml b/ruoyi-api/tuoheng-api-device/pom.xml
new file mode 100644
index 0000000..38d736f
--- /dev/null
+++ b/ruoyi-api/tuoheng-api-device/pom.xml
@@ -0,0 +1,28 @@
+
+
+
+ com.ruoyi
+ ruoyi-api
+ 3.6.7
+
+ 4.0.0
+
+ tuoheng-api-device
+
+
+ tuoheng-api-device设备接口模块
+
+
+
+
+
+
+ com.ruoyi
+ ruoyi-common-core
+
+
+
+
+
\ No newline at end of file
diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteDeviceService.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteDeviceService.java
new file mode 100644
index 0000000..8b59b30
--- /dev/null
+++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/RemoteDeviceService.java
@@ -0,0 +1,33 @@
+package com.ruoyi.device.api;
+
+import com.ruoyi.common.core.constant.SecurityConstants;
+import com.ruoyi.common.core.constant.ServiceNameConstants;
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.device.api.domain.DeviceTemp;
+import com.ruoyi.device.api.factory.RemoteDeviceFallbackFactory;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestHeader;
+
+import java.util.List;
+
+/**
+ * 设备服务
+ *
+ * @author ruoyi
+ * @date 2026-01-15
+ */
+@FeignClient(contextId = "remoteDeviceService", value = ServiceNameConstants.DEVICE_SERVICE, fallbackFactory = RemoteDeviceFallbackFactory.class)
+public interface RemoteDeviceService
+{
+ /**
+ * 根据ID查询设备信息
+ *
+ * @param id 设备ID
+ * @param source 请求来源
+ * @return 结果
+ */
+ @GetMapping("/device/temp/{id}")
+ R getDeviceById(@PathVariable("id") String id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
+}
\ No newline at end of file
diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DeviceTemp.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DeviceTemp.java
new file mode 100644
index 0000000..675e9ea
--- /dev/null
+++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/domain/DeviceTemp.java
@@ -0,0 +1,35 @@
+package com.ruoyi.device.api.domain;
+
+import com.ruoyi.common.core.web.domain.BaseEntity;
+
+/**
+ * 设备临时表对象 tuoheng_device_temp
+ *
+ * @author ruoyi
+ * @date 2026-01-15
+ */
+public class DeviceTemp extends BaseEntity
+{
+ private static final long serialVersionUID = 1L;
+
+ /** 主键ID */
+ private String id;
+
+ public String getId()
+ {
+ return id;
+ }
+
+ public void setId(String id)
+ {
+ this.id = id;
+ }
+
+ @Override
+ public String toString()
+ {
+ return "DeviceTemp{" +
+ "id='" + id + '\'' +
+ '}';
+ }
+}
\ No newline at end of file
diff --git a/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteDeviceFallbackFactory.java b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteDeviceFallbackFactory.java
new file mode 100644
index 0000000..360ff38
--- /dev/null
+++ b/ruoyi-api/tuoheng-api-device/src/main/java/com/ruoyi/device/api/factory/RemoteDeviceFallbackFactory.java
@@ -0,0 +1,35 @@
+package com.ruoyi.device.api.factory;
+
+import com.ruoyi.common.core.domain.R;
+import com.ruoyi.device.api.RemoteDeviceService;
+import com.ruoyi.device.api.domain.DeviceTemp;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.cloud.openfeign.FallbackFactory;
+import org.springframework.stereotype.Component;
+
+/**
+ * 设备服务降级处理
+ *
+ * @author ruoyi
+ * @date 2026-01-15
+ */
+@Component
+public class RemoteDeviceFallbackFactory implements FallbackFactory
+{
+ private static final Logger log = LoggerFactory.getLogger(RemoteDeviceFallbackFactory.class);
+
+ @Override
+ public RemoteDeviceService create(Throwable throwable)
+ {
+ log.error("设备服务调用失败:", throwable.getMessage());
+ return new RemoteDeviceService()
+ {
+ @Override
+ public R getDeviceById(String id, String source)
+ {
+ return R.fail("获取设备信息失败:" + throwable.getMessage());
+ }
+ };
+ }
+}
\ No newline at end of file
diff --git a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
index 421a322..450b855 100644
--- a/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
+++ b/ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/constant/ServiceNameConstants.java
@@ -21,4 +21,9 @@ public class ServiceNameConstants
* 文件服务的serviceid
*/
public static final String FILE_SERVICE = "ruoyi-file";
+
+ /**
+ * 设备服务的serviceid
+ */
+ public static final String DEVICE_SERVICE = "tuoheng-device";
}