From 7e335f8fde9e197e11ee5ae33f7a93bc10b0560e Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期一, 16 五月 2022 13:35:34 +0800
Subject: [PATCH] 灯杆绑定

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java |   56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 54 insertions(+), 2 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
index a72f3e7..7e7e050 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java
@@ -7,8 +7,8 @@
 import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.param.PoleBindingParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
-import com.sandu.ximon.dao.domain.Pole;
-import com.sandu.ximon.dao.domain.PoleBinding;
+import com.sandu.ximon.dao.domain.*;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
 import com.sandu.ximon.dao.mapper.PoleBindingMapper;
 import lombok.AllArgsConstructor;
 import org.springframework.stereotype.Service;
@@ -36,6 +36,58 @@
         Integer deviceType = param.getDeviceType();
 //        if (PoleBindingEnums.LIGHT.getCode().equals(deviceType)) {
 //        }
+
+        int size = 0;
+        switch (deviceType.toString()) {
+            case PoleBindingEnums.LIGHT:
+                size = SpringContextHolder.getBean(LightService.class).list(Wrappers.lambdaQuery(Light.class).eq(Light::getDeviceCode, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.VONNOX:
+                size = SpringContextHolder.getBean(LedPlayerEntityService.class).list(Wrappers.lambdaQuery(LedPlayerEntity.class).eq(LedPlayerEntity::getSn, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.CHARGING_PILE:
+                size = SpringContextHolder.getBean(C3ChargingService.class).list(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.ATMOSPHERIC:
+                size = SpringContextHolder.getBean(AirEquipmentService.class).list(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.WATER:
+                size = SpringContextHolder.getBean(WaterQualityEquipmentService.class).list(Wrappers.lambdaQuery(WaterQualityEquipment.class).eq(WaterQualityEquipment::getWaterQualityEquipmentCode, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.IPVOLUME:
+                size = SpringContextHolder.getBean(IpVolumeService.class).list(Wrappers.lambdaQuery(BroadcastTerminalV2Entity.class).eq(BroadcastTerminalV2Entity::getId, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.LCD_ADVERTISING:
+
+                break;
+            case PoleBindingEnums.MONITOR:
+                size = SpringContextHolder.getBean(MonitorService.class).list(Wrappers.lambdaQuery(Monitor.class).eq(Monitor::getDeviceSerial, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.LIGHTPOLEHEELING:
+                size = SpringContextHolder.getBean(LightPoleHeelingEquipmentService.class).list(Wrappers.lambdaQuery(LightPoleHeelingEquipment.class).eq(LightPoleHeelingEquipment::getMac, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.FOR_HELP:
+                int size1 = SpringContextHolder.getBean(InterphoneHostService.class).list(Wrappers.lambdaQuery(InterphoneHost.class).eq(InterphoneHost::getHostMac, param.getDeviceCode())).size();
+                int size2 = SpringContextHolder.getBean(InterphoneSubService.class).list(Wrappers.lambdaQuery(InterphoneSub.class).eq(InterphoneSub::getSubMac, param.getDeviceCode())).size();
+                //涓�閿眰鍔╀袱绫荤‖浠�
+                if (size1 > 0 || size2 > 0) {
+                    size = 1;
+                }
+                break;
+            case PoleBindingEnums.XIXUN:
+                size = SpringContextHolder.getBean(PoleLightemitService.class).list(Wrappers.lambdaQuery(PoleLightemitEntity.class).eq(PoleLightemitEntity::getLightemitControlCode, param.getDeviceCode())).size();
+                break;
+            case PoleBindingEnums.ATMOSPHERIC_NONG_GENG:
+                size = SpringContextHolder.getBean(AirEquipmentNongGengService.class).list(Wrappers.lambdaQuery(AirEquipmentNongGeng.class).eq(AirEquipmentNongGeng::getMac, param.getDeviceCode())).size();
+                break;
+            default:
+                break;
+        }
+        if (size == 0) {
+            throw new BusinessException("璁惧鐮佷笉姝g‘锛岀‖浠朵笉瀛樺湪");
+        }
+
+
         LambdaQueryWrapper<PoleBinding> eq = Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getPoleId, poleId);
         List<PoleBinding> list = list(eq);
         if (list.size() != 0) {

--
Gitblit v1.9.3