From d9a9d8a2dad1d1e57b184bf8f972a03d654d883a Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期五, 22 七月 2022 15:07:01 +0800
Subject: [PATCH] 优化

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneHostService.java |   76 +++++++++++++++++++++++++++++++++----
 1 files changed, 67 insertions(+), 9 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneHostService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneHostService.java
index 28df3eb..b0fc52b 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneHostService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneHostService.java
@@ -2,11 +2,13 @@
 
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.github.pagehelper.PageHelper;
+import com.sandu.common.execption.BusinessException;
 import com.sandu.common.object.BaseConditionVO;
 import com.sandu.common.service.impl.BaseServiceImpl;
 import com.sandu.common.util.SpringContextHolder;
 import com.sandu.ximon.admin.param.InterphoneHostParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
 import com.sandu.ximon.dao.bo.InterphoneHostBo;
 import com.sandu.ximon.dao.domain.InterphoneHost;
 import com.sandu.ximon.dao.domain.InterphoneHostSubPole;
@@ -15,7 +17,9 @@
 import lombok.AllArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Service
@@ -31,28 +35,67 @@
      * 娣诲姞涓绘満
      */
     public boolean addHost(InterphoneHostParam interphoneHostParam) {
+        List<InterphoneHost> list = list(Wrappers.lambdaQuery(InterphoneHost.class).eq(InterphoneHost::getHostMac, interphoneHostParam.getHostMac()));
+        if (list.size() > 0) {
+            throw new BusinessException("璇ヨ澶囧凡瀛樺湪");
+        }
         InterphoneHost interphoneHost = new InterphoneHost();
         BeanUtils.copyProperties(interphoneHostParam, interphoneHost);
-        return save(interphoneHost);
+        boolean save = save(interphoneHost);
+        /**
+         * 娣诲姞涓�閿眰鍔╀富鏈� 鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>(1);
+        listCode.add(interphoneHost.getHostMac());
+        String content = "{ 璁惧id:" + interphoneHost.getHostId() + "璁惧code锛�" + interphoneHost.getHostMac() +
+                "}";
+
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "娣诲姞涓�閿眰鍔╀富鏈�", content);
+        /**
+         * 娣诲姞涓�閿眰鍔╀富鏈� 鏃ュ織璁板綍缁撴潫
+         */
+
+        return save;
     }
 
     /**
      * 淇敼涓绘満
      */
+    @Transactional(rollbackFor = Exception.class)
     public boolean updateHost(Integer id, InterphoneHostParam interphoneHostParam) {
         InterphoneHost byId = getById(id);
         if (byId == null) {
             return false;
         }
 
-        boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(byId.getHostMac(), PoleBindingEnums.FOR_HELP);
-        if (!belong) {
-            throw new RuntimeException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+        if (SecurityUtils.getClientId() != null) {
+            boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(byId.getHostMac(), PoleBindingEnums.FOR_HELP);
+            if (!belong) {
+                throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+            }
         }
         InterphoneHost interphoneHost = new InterphoneHost();
         interphoneHost.setHostId(id);
         BeanUtils.copyProperties(interphoneHostParam, interphoneHost);
-        return updateById(interphoneHost);
+
+        /**
+         * 缂栬緫涓�閿眰鍔╀富鏈� 鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>(1);
+        listCode.add(interphoneHost.getHostMac());
+        String content = "{ 璁惧id:" + interphoneHost.getHostId() + "璁惧code锛�" + interphoneHost.getHostMac() +
+                "}";
+
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "缂栬緫涓�閿眰鍔╀富鏈�", content);
+        /**
+         * 缂栬緫涓�閿眰鍔╀富鏈� 鏃ュ織璁板綍缁撴潫
+         */
+        boolean b = updateById(interphoneHost);
+        List<InterphoneHost> list = list(Wrappers.lambdaQuery(InterphoneHost.class).eq(InterphoneHost::getHostMac, interphoneHostParam.getHostMac()));
+        if (list.size() > 1) {
+            throw new BusinessException("璇锋鏌ヨ澶噈ac鏄惁閲嶅");
+        }
+        return b;
     }
 
     /**
@@ -64,13 +107,28 @@
     public boolean deleteHost(Integer id) {
         InterphoneHost byId = getById(id);
 
+        if (byId == null) {
+            throw new BusinessException("涓绘満涓嶅瓨鍦紒");
+        }
+
         InterphoneHostSubPole one = interphoneHostSubService.getOne(Wrappers.lambdaQuery(InterphoneHostSubPole.class).eq(InterphoneHostSubPole::getHostId, id));
         if (one != null) {
-            throw new RuntimeException("璇ヤ富鏈哄瓨鍦ㄧ粦瀹氬叧绯伙紝涓嶈兘鍒犻櫎");
+            throw new BusinessException("璇ヤ富鏈哄瓨鍦ㄧ粦瀹氬叧绯伙紝涓嶈兘鍒犻櫎");
         }
-        if (byId == null) {
-            return false;
-        }
+
+        /**
+         * 鍒犻櫎涓�閿眰鍔╀富鏈� 鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>(1);
+        listCode.add(byId.getHostMac());
+        String content = "{ 璁惧id:" + byId.getHostId() + "璁惧code锛�" + byId.getHostMac() +
+                "}";
+
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鍒犻櫎涓�閿眰鍔╀富鏈�", content);
+        /**
+         * 鍒犻櫎涓�閿眰鍔╀富鏈� 鏃ュ織璁板綍缁撴潫
+         */
+
         return removeById(id);
     }
 

--
Gitblit v1.9.3