From bcee37b84bde39072e6e35e642b0911a94f52eef Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期一, 11 十一月 2019 08:59:15 +0800
Subject: [PATCH] 若依 1.1

---
 ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysPostServiceImpl.java |   38 +++++++++++++++++++++++++++++++++++++-
 1 files changed, 37 insertions(+), 1 deletions(-)

diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysPostServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysPostServiceImpl.java
index 682d147..e60dc06 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysPostServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/service/impl/SysPostServiceImpl.java
@@ -4,9 +4,11 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ruoyi.common.constant.UserConstants;
+import com.ruoyi.common.exception.CustomException;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.project.system.domain.SysPost;
 import com.ruoyi.project.system.mapper.SysPostMapper;
+import com.ruoyi.project.system.mapper.SysUserPostMapper;
 import com.ruoyi.project.system.service.ISysPostService;
 
 /**
@@ -19,6 +21,9 @@
 {
     @Autowired
     private SysPostMapper postMapper;
+
+    @Autowired
+    private SysUserPostMapper userPostMapper;
 
     /**
      * 查询岗位信息集合
@@ -66,7 +71,6 @@
         return postMapper.selectPostListByUserId(userId);
     }
 
-
     /**
      * 校验岗位名称是否唯一
      * 
@@ -104,6 +108,18 @@
     }
 
     /**
+     * 通过岗位ID查询岗位使用数量
+     * 
+     * @param postId 岗位ID
+     * @return 结果
+     */
+    @Override
+    public int countUserPostById(Long postId)
+    {
+        return userPostMapper.countUserPostById(postId);
+    }
+
+    /**
      * 删除岗位信息
      * 
      * @param postId 岗位ID
@@ -116,6 +132,26 @@
     }
 
     /**
+     * 批量删除岗位信息
+     * 
+     * @param postIds 需要删除的岗位ID
+     * @return 结果
+     * @throws Exception 异常
+     */
+    public int deletePostByIds(Long[] postIds)
+    {
+        for (Long postId : postIds)
+        {
+            SysPost post = selectPostById(postId);
+            if (countUserPostById(postId) > 0)
+            {
+                throw new CustomException(String.format("%1$s已分配,不能删除", post.getPostName()));
+            }
+        }
+        return postMapper.deletePostByIds(postIds);
+    }
+
+    /**
      * 新增保存岗位信息
      * 
      * @param post 岗位信息

--
Gitblit v1.9.2