From 7a00187d197548e23a38dcb87187ef6b2b7f8bfb Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期一, 24 十月 2022 11:19:58 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java |   38 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 36 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 b8e32a6..884840e 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
@@ -34,8 +34,6 @@
      */
     public boolean bindPole(Long poleId, PoleBindingParam param) {
         Integer deviceType = param.getDeviceType();
-//        if (PoleBindingEnums.LIGHT.getCode().equals(deviceType)) {
-//        }
 
         int size = 0;
         switch (deviceType.toString()) {
@@ -49,6 +47,18 @@
                 size = SpringContextHolder.getBean(C3ChargingService.class).list(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, param.getDeviceCode())).size();
                 break;
             case PoleBindingEnums.ATMOSPHERIC:
+                Pole byId = SpringContextHolder.getBean(PoleService.class).getById(poleId);
+                if (byId == null) {
+                    throw new BusinessException("鏈壘鍒扮伅鏉�");
+                }
+                if (byId.getDeviceCode() != null || !byId.getDeviceCode().isEmpty()) {
+                    if (!param.getDeviceCode().equals(byId.getDeviceCode())) {
+                        throw new BusinessException("鐏潌mac鍜屽ぇ姘攎ac涓嶄竴鑷�, 鏃犳硶缁戝畾");
+                    }
+                } else {
+                    throw new BusinessException("鐏潌mac涓虹┖,鏃犳硶缁戝畾澶ф皵璁惧");
+                }
+
                 size = SpringContextHolder.getBean(AirEquipmentService.class).list(Wrappers.lambdaQuery(AirEquipment.class).eq(AirEquipment::getMac, param.getDeviceCode())).size();
                 break;
             case PoleBindingEnums.WATER:
@@ -101,12 +111,24 @@
 
         PoleBinding one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, param.getDeviceCode()));
         if (one == null) {
+            //鍏呯數妗╀繚瀛樼粦瀹氬叧绯婚渶瑕佸厛鍒ゆ柇鏄笉鏄纭殑鐏潌
+            if (deviceType == 2) {
+                C3mCharging mCharging = SpringContextHolder.getBean(C3ChargingService.class).
+                        getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, param.getDeviceCode()));
+                Pole poleInfo = SpringContextHolder.getBean(PoleService.class).getById(poleId);
+
+                if (!mCharging.getPoleDevicesCode().equals(poleInfo.getDeviceCode())) {
+                    throw new BusinessException("缁戝畾鍑洪敊锛佽鍏呯數妗╃‖浠剁粦瀹氱殑鐏潌mac涓猴細" + mCharging.getPoleDevicesCode());
+                }
+
+            }
             PoleBinding poleBinding = new PoleBinding();
             poleBinding.setPoleId(poleId);
             poleBinding.setDeviceType(deviceType);
             poleBinding.setDeviceName(param.getDeviceName());
             poleBinding.setDeviceCode(param.getDeviceCode());
             return save(poleBinding);
+
         } else {
             //淇敼鍗曠伅鐨勭粦瀹氬叧绯荤殑鏃跺�欒棰濆澶勭悊鐨勪簨鍔�
             // 鍒犻櫎鐏潌鐨刣evicescode
@@ -119,6 +141,18 @@
                 }
             }
 
+            //鍏呯數妗╀繚瀛樼粦瀹氬叧绯婚渶瑕佸厛鍒ゆ柇鏄笉鏄纭殑鐏潌
+            if (deviceType == 2) {
+                C3mCharging mCharging = SpringContextHolder.getBean(C3ChargingService.class).
+                        getOne(Wrappers.lambdaQuery(C3mCharging.class).eq(C3mCharging::getMcuUdid, param.getDeviceCode()));
+                Pole poleInfo = SpringContextHolder.getBean(PoleService.class).getById(poleId);
+
+                if (!mCharging.getPoleDevicesCode().equals(poleInfo.getDeviceCode())) {
+                    throw new BusinessException("缁戝畾鍑洪敊锛佽鍏呯數妗╃‖浠剁粦瀹氱殑鐏潌mac涓猴細" + mCharging.getPoleDevicesCode());
+                }
+
+            }
+
             one.setPoleId(poleId);
             one.setDeviceType(param.getDeviceType());
             one.setDeviceName(param.getDeviceName());

--
Gitblit v1.9.3