From 4e91adbb41c89688fe5b0ef03807cfe748a7d59d Mon Sep 17 00:00:00 2001
From: zhanzhiqin <895896009@qq.com>
Date: 星期四, 26 五月 2022 17:17:02 +0800
Subject: [PATCH] 角色

---
 ximon-admin/src/main/java/com/sandu/ximon/admin/service/InterphoneSubService.java |   82 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 81 insertions(+), 1 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 2a281ee..1bf629f 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,18 +1,32 @@
 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 java.util.ArrayList;
+import java.util.List;
 
 @Service
 @AllArgsConstructor
 public class InterphoneSubService extends BaseServiceImpl<InterphoneSubMapper, InterphoneSub> {
 
     private final InterphoneSubMapper interphoneSubMapper;
+    private final InterphoneHostSubService interphoneHostSubService;
 
     /**
      * 鏂板瀛愯澶�
@@ -20,7 +34,20 @@
     public boolean addSub(InterphoneSubParam interphoneSubParam) {
         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;
     }
 
     /**
@@ -31,9 +58,27 @@
         if (byId == null) {
             return false;
         }
+        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);
+
+        /**
+         * 缂栬緫涓�閿眰鍔╁瓙璁惧 鏃ュ織璁板綍寮�濮�
+         */
+        List<String> listCode = new ArrayList<>(1);
+        listCode.add(interphoneSub.getSubMac());
+        String content = "{ 璁惧id:" + interphoneSub.getSubId() + "璁惧code锛�" + interphoneSub.getSubMac() +
+                "}";
+
+        StoreOperationRecordsUtils.storeOperationData(listCode, null, "缂栬緫涓�閿眰鍔╁瓙璁惧", content);
+        /**
+         * 缂栬緫涓�閿眰鍔╁瓙璁惧 鏃ュ織璁板綍缁撴潫
+         */
+
         return updateById(interphoneSub);
     }
 
@@ -42,9 +87,28 @@
      */
     public boolean deleteSub(Integer id) {
         InterphoneSub byId = getById(id);
+        InterphoneHostSubPole one = interphoneHostSubService.getOne(Wrappers.lambdaQuery(InterphoneHostSubPole.class).eq(InterphoneHostSubPole::getSubId, id));
+        if (one != null) {
+            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);
     }
 
@@ -58,4 +122,20 @@
         }
         return byId;
     }
+
+    /**
+     * 鏌ヨ涓绘満鍒楄〃
+     */
+    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());
+        }
+        return list;
+    }
 }

--
Gitblit v1.9.3