From dda268997ca8f8a364f7c19b45d7a43a50a98efe Mon Sep 17 00:00:00 2001
From: liuhaonan <31457034@qq.com>
Date: 星期二, 25 十月 2022 18:00:11 +0800
Subject: [PATCH] changes

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneSubService.java |   83 +++++++++++++++++++++++++++++++++++++++--
 1 files changed, 79 insertions(+), 4 deletions(-)

diff --git a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneSubService.java b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneSubService.java
index 05100c9..890dcd3 100644
--- a/ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneSubService.java
+++ b/ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneSubService.java
@@ -1,17 +1,25 @@
 package com.sandu.ximon.admin.service;
 
 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.InterphoneSubParam;
 import com.sandu.ximon.admin.security.SecurityUtils;
+import com.sandu.ximon.admin.utils.StoreOperationRecordsUtils;
 import com.sandu.ximon.dao.bo.InterphoneSubBo;
 import com.sandu.ximon.dao.domain.InterphoneHostSubPole;
 import com.sandu.ximon.dao.domain.InterphoneSub;
+import com.sandu.ximon.dao.enums.PoleBindingEnums;
 import com.sandu.ximon.dao.mapper.InterphoneSubMapper;
 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
@@ -25,23 +33,65 @@
      * 鏂板瀛愯澶�
      */
     public boolean addSub(InterphoneSubParam interphoneSubParam) {
+        List<InterphoneSub> list = list(Wrappers.lambdaQuery(InterphoneSub.class).eq(InterphoneSub::getSubMac, interphoneSubParam.getSubMac()));
+        if (list.size() > 0) {
+            throw new BusinessException("璇ヨ澶囧凡瀛樺湪");
+        }
         InterphoneSub interphoneSub = new InterphoneSub();
         BeanUtils.copyProperties(interphoneSubParam, interphoneSub);
-        return save(interphoneSub);
+        boolean save = save(interphoneSub);
+        /**
+         * 娣诲姞涓�閿眰鍔╁瓙璁惧 鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>(1);
+        listCode.add(interphoneSub.getSubMac());
+        String content = "{ 璁惧id:" + interphoneSub.getSubId() + "璁惧code锛�" + interphoneSub.getSubMac() +
+                "}";
+
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "娣诲姞涓�閿眰鍔╁瓙璁惧", content);
+        /**
+         * 娣诲姞涓�閿眰鍔╁瓙璁惧 鏃ュ織璁板綍缁撴潫
+         */
+        return save;
     }
 
     /**
      * 淇敼瀛愯澶�
      */
+    @Transactional(rollbackFor = Exception.class)
     public boolean updateSub(Integer id, InterphoneSubParam interphoneSubParam) {
         InterphoneSub byId = getById(id);
         if (byId == null) {
             return false;
         }
+        if (SecurityUtils.getClientId() != null) {
+            boolean belong = SpringContextHolder.getBean(PoleBindingService.class).isBelong(byId.getSubMac(), PoleBindingEnums.FOR_HELP);
+            if (!belong) {
+                throw new BusinessException("璇ヨ澶囦笉灞炰簬鎮�,涓嶈兘淇敼璁惧淇℃伅");
+            }
+        }
         InterphoneSub interphoneSub = new InterphoneSub();
         BeanUtils.copyProperties(interphoneSubParam, interphoneSub);
         interphoneSub.setSubId(id);
-        return updateById(interphoneSub);
+
+        /**
+         * 缂栬緫涓�閿眰鍔╁瓙璁惧 鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>(1);
+        listCode.add(interphoneSub.getSubMac());
+        String content = "{ 璁惧id:" + interphoneSub.getSubId() + "璁惧code锛�" + interphoneSub.getSubMac() +
+                "}";
+
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "缂栬緫涓�閿眰鍔╁瓙璁惧", content);
+        boolean b = updateById(interphoneSub);
+        /**
+         * 缂栬緫涓�閿眰鍔╁瓙璁惧 鏃ュ織璁板綍缁撴潫
+         */
+        List<InterphoneSub> list = list(Wrappers.lambdaQuery(InterphoneSub.class).eq(InterphoneSub::getSubMac, interphoneSubParam.getSubMac()));
+        if (list.size() > 1) {
+            throw new BusinessException("璇锋鏌ヨ澶噈ac鏄惁閲嶅");
+        }
+        return b;
     }
 
     /**
@@ -51,11 +101,26 @@
         InterphoneSub byId = getById(id);
         InterphoneHostSubPole one = interphoneHostSubService.getOne(Wrappers.lambdaQuery(InterphoneHostSubPole.class).eq(InterphoneHostSubPole::getSubId, id));
         if (one != null) {
-            throw new RuntimeException("璇ュ瓙璁惧瀛樺湪缁戝畾鍏崇郴锛屼笉鑳藉垹闄�");
+            throw new BusinessException("璇ュ瓙璁惧瀛樺湪缁戝畾鍏崇郴锛屼笉鑳藉垹闄�");
         }
         if (byId == null) {
             return false;
         }
+
+
+        /**
+         * 鍒犻櫎涓�閿眰鍔╁瓙璁惧 鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>(1);
+        listCode.add(byId.getSubMac());
+        String content = "{ 璁惧id:" + byId.getSubId() + "璁惧code锛�" + byId.getSubMac() +
+                "}";
+
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "鍒犻櫎涓�閿眰鍔╁瓙璁惧", content);
+        /**
+         * 鍒犻櫎涓�閿眰鍔╁瓙璁惧 鏃ュ織璁板綍缁撴潫
+         */
+
         return removeById(id);
     }
 
@@ -73,13 +138,23 @@
     /**
      * 鏌ヨ涓绘満鍒楄〃
      */
-    public List<InterphoneSubBo> getInterphoneSubList(String keyword) {
+    public List<InterphoneSubBo> getInterphoneSubList(BaseConditionVO baseConditionVO, String keyword) {
+        if (baseConditionVO != null) {
+            PageHelper.startPage(baseConditionVO.getPageNo(), baseConditionVO.getPageSize());
+        }
         List<InterphoneSubBo> list;
         if (SecurityUtils.getClientId() == null) {
             list = interphoneSubMapper.getInterphoneSubList(keyword, null);
         } else {
             list = interphoneSubMapper.getInterphoneSubList(keyword, SecurityUtils.getUserId());
         }
+        list.forEach(interphoneSubBo -> {
+            InterphoneHostSubPole one = SpringContextHolder.getBean(InterphoneHostSubService.class).getOne(Wrappers.lambdaQuery(InterphoneHostSubPole.class)
+                    .eq(InterphoneHostSubPole::getSubId, interphoneSubBo.getSubId()));
+            if (one != null) {
+                interphoneSubBo.setHostId(one.getHostId());
+            }
+        });
         return list;
     }
 }

--
Gitblit v1.9.3