From f233ba26bbf8703fcc4e86a5dbb9d6026f91e7d6 Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期五, 04 三月 2022 18:14:03 +0800
Subject: [PATCH] C3充电桩

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/PoleBindingService.java |   50 +++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 43 insertions(+), 7 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 749fd9c..acef4b0 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
@@ -1,5 +1,7 @@
 package com.sandu.ximon.admin.service;
 
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.sandu.common.execption.BusinessException;
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.ximon.admin.param.PoleBindingParam;
 import com.sandu.ximon.dao.domain.PoleBinding;
@@ -18,17 +20,51 @@
 
     private final LightReportDataService lightReportDataService;
 
+    /**
+     * 鐏潌缁戝畾璁惧
+     *
+     * @param poleId
+     * @param param
+     * @return
+     */
     public boolean bindPole(Long poleId, PoleBindingParam param) {
         Integer deviceType = param.getDeviceType();
 //        if (PoleBindingEnums.LIGHT.getCode().equals(deviceType)) {
 //        }
-        PoleBinding poleBinding = new PoleBinding();
-        poleBinding.setPoleId(poleId);
-        poleBinding.setDeviceType(deviceType);
-        poleBinding.setDeviceName(param.getDeviceName());
-        poleBinding.setDeviceCode(param.getDeviceCode());
-        return save(poleBinding);
 
-//        return false;
+        PoleBinding one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, param.getDeviceCode()));
+        if (one == null) {
+            PoleBinding poleBinding = new PoleBinding();
+            poleBinding.setPoleId(poleId);
+            poleBinding.setDeviceType(deviceType);
+            poleBinding.setDeviceName(param.getDeviceName());
+            poleBinding.setDeviceCode(param.getDeviceCode());
+            return save(poleBinding);
+        } else {
+            throw new BusinessException("璇ヨ澶囧凡缁戝畾杩�");
+        }
+    }
+
+    /**
+     * 鐏潌瑙g粦璁惧锛屽垹闄よ澶囧墠闇�瑕佽В缁�
+     *
+     * @param deviceCode
+     */
+    public boolean unBindPole(Long poleId, String deviceCode) {
+        if (deviceCode == null) {
+            throw new BusinessException("璁惧缂栧彿涓嶈兘涓虹┖");
+        }
+        PoleBinding one;
+        //鐩存帴鍒犻櫎璁惧涓嶉渶瑕佺伅鏉咺D
+        if (poleId == null) {
+            one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode));
+        } else {
+            one = getOne(Wrappers.lambdaQuery(PoleBinding.class).eq(PoleBinding::getDeviceCode, deviceCode).eq(PoleBinding::getPoleId, poleId));
+        }
+        if (one != null) {
+            return removeById(one.getId());
+        } else {
+            throw new BusinessException("璁惧涓嶅瓨鍦ㄧ粦瀹氭儏鍐垫垨鐏潌ID涓嶆纭�");
+        }
     }
 }

--
Gitblit v1.9.3