From 40529f7d2cadd71c72cb89c7f79046a8ff689df5 Mon Sep 17 00:00:00 2001
From: huanghongfa <18228131219@163.com>
Date: 星期四, 24 十二月 2020 17:45:10 +0800
Subject: [PATCH] 系统管理

---
 springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java
index 95e6933..8eb14b8 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_user/src/main/java/com/panzhihua/service_user/service/impl/RoleServiceImpl.java
@@ -5,8 +5,11 @@
 import com.panzhihua.common.model.vos.R;
 import com.panzhihua.common.model.vos.user.RoleVO;
 import com.panzhihua.service_user.dao.RoleDAO;
+import com.panzhihua.service_user.dao.SysUserRoleDAO;
 import com.panzhihua.service_user.model.dos.SysRoleDO;
+import com.panzhihua.service_user.model.dos.SysUserRoleDO;
 import com.panzhihua.service_user.service.RoleService;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
@@ -21,10 +24,13 @@
  * @author: huang.hongfa weixin hhf9596 qq 959656820
  * @create: 2020-11-25 15:59
  **/
+@Slf4j
 @Service
 public class RoleServiceImpl implements RoleService {
     @Resource
     private RoleDAO roleDAO;
+    @Resource
+    private SysUserRoleDAO sysUserRoleDAO;
     /**
      * 获取平台所有的菜单按钮权限
      *
@@ -67,4 +73,70 @@
         }
         return R.ok(roleVOS);
     }
+
+    /**
+     * 角色下拉列表
+     *
+     * @param communityId 对应社区 0 表示运营后台
+     * @return 角色集合
+     */
+    @Override
+    public R listRoleBackstage(Long communityId) {
+        List<SysRoleDO> sysRoleDOS = roleDAO.selectList(new QueryWrapper<SysRoleDO>().lambda().eq(SysRoleDO::getCommunityId, communityId));
+        if (ObjectUtils.isEmpty(sysRoleDOS)) {
+            return R.fail("角色列表为空");
+        }
+        List<RoleVO>roleVOS=new ArrayList<>();
+        sysRoleDOS.forEach(sysRoleDO -> {
+            RoleVO roleVO=new RoleVO();
+            BeanUtils.copyProperties(sysRoleDO,roleVO);
+            roleVOS.add(roleVO);
+        });
+        return R.ok(roleVOS);
+    }
+
+    /**
+     * 新增角色
+     *
+     * @param roleVO 角色信息
+     * @return 新增结果
+     */
+    @Override
+    public R addRoleBackstage(RoleVO roleVO) {
+        SysRoleDO sysRoleDO=new SysRoleDO();
+        BeanUtils.copyProperties(roleVO,sysRoleDO);
+        int insert = 0;
+        try {
+            insert = roleDAO.insert(sysRoleDO);
+        } catch (Exception e) {
+            e.printStackTrace();
+            log.error("新增角色失败,失败原因【{}】",e.getMessage());
+            if (e.getMessage().contains("unique_role_name_community_id")) {
+                return R.fail("角色已经存在");
+            }
+        }
+        if (insert>0) {
+            return R.ok();
+        }
+        return R.fail();
+    }
+
+    /**
+     * 删除角色
+     *
+     * @param roleVO 角色主键
+     * @return 删除结果
+     */
+    @Override
+    public R deleteRoleBackstage(RoleVO roleVO) {
+        Integer integer = sysUserRoleDAO.selectCount(new QueryWrapper<SysUserRoleDO>().lambda().eq(SysUserRoleDO::getRoleId, roleVO.getRoleId()));
+        if (integer>0) {
+            return R.fail("该角色的关联用户数量不为0,不能删除");
+        }
+        int delete = roleDAO.deleteById(roleVO.getRoleId());
+        if (delete==0) {
+            return R.fail("角色不存在");
+        }
+        return R.ok();
+    }
 }

--
Gitblit v1.7.1