diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/OpsBusAreaService.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/OpsBusAreaService.java index 2e39462..543521f 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/OpsBusAreaService.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/OpsBusAreaService.java @@ -54,4 +54,14 @@ public interface OpsBusAreaService { */ Boolean deleteArea(Long id); + /** + * 根据设备ID获取关联的区域ID + *
+ * 用于客流统计等场景,通过设备查询其所属区域 + * + * @param deviceId 设备ID + * @return 区域ID,如果未找到返回 null + */ + Long getAreaIdByDeviceId(Long deviceId); + } diff --git a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/OpsBusAreaServiceImpl.java b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/OpsBusAreaServiceImpl.java index 43ec57f..9fd3ff5 100644 --- a/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/OpsBusAreaServiceImpl.java +++ b/viewsh-module-ops/viewsh-module-ops-biz/src/main/java/com/viewsh/module/ops/service/area/OpsBusAreaServiceImpl.java @@ -192,4 +192,10 @@ public class OpsBusAreaServiceImpl implements OpsBusAreaService { || target.getParentPath().endsWith("/" + sourceId); } + @Override + public Long getAreaIdByDeviceId(Long deviceId) { + var relation = opsAreaDeviceRelationMapper.selectByDeviceId(deviceId); + return relation != null ? relation.getAreaId() : null; + } + }