From 925219ebfda2a480df99ca06a13033c78ae8d81f Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期五, 30 五月 2025 18:08:16 +0800
Subject: [PATCH] 权限管理+用户管理

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java |   83 ++++++++++++++++++++++++++++++++++++++---
 1 files changed, 77 insertions(+), 6 deletions(-)

diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
index e432bb1..7ad7bd7 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysRoleServiceImpl.java
@@ -1,11 +1,16 @@
 package com.ruoyi.system.service.impl;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
+import java.util.*;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.system.pojo.dto.AddSysRoleDTO;
+import com.ruoyi.system.pojo.dto.EditSysRoleDTO;
+import com.ruoyi.system.pojo.vo.SysRolePageVO;
+import com.ruoyi.system.pojo.vo.SysRoleVO;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import com.ruoyi.common.annotation.DataScope;
@@ -347,7 +352,7 @@
         // 删除角色与菜单关联
         roleMenuMapper.deleteRoleMenuByRoleId(roleId);
         // 删除角色与部门关联
-        roleDeptMapper.deleteRoleDeptByRoleId(roleId);
+//        roleDeptMapper.deleteRoleDeptByRoleId(roleId);
         return roleMapper.deleteRoleById(roleId);
     }
 
@@ -424,4 +429,70 @@
         }
         return userRoleMapper.batchUserRole(list);
     }
+
+    @Override
+    public IPage<SysRolePageVO> page(IPage<SysRolePageVO> page, String name) {
+        return roleMapper.page(page,name);
+    }
+
+    @Override
+    public void add(AddSysRoleDTO dto) {
+        //判断角色名称是否存在
+        SysRole sysRole = new SysRole();
+        sysRole.setRoleName(dto.getRoleName());
+        List<SysRole> sysRoles = roleMapper.selectRoleList(sysRole);
+        if (sysRoles!=null && !sysRoles.isEmpty()){
+            throw new ServiceException("该角色名称重复");
+        }
+        //添加角色
+        sysRole.setStatus("0");
+        LoginUser loginUser = (LoginUser) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
+        sysRole.setCreateBy(loginUser.getUsername());
+        sysRole.setCreateTime(DateUtils.getNowDate());
+        roleMapper.insertRole(sysRole);
+        //添加角色菜单
+        roleMenuMapper.insert(sysRole.getRoleId(),dto.getMenuIds());
+    }
+
+    @Override
+    public SysRoleVO getById(Long roleId) {
+        SysRoleVO sysRoleVO = new SysRoleVO();
+        SysRole sysRole = roleMapper.selectRoleById(roleId);
+        if (sysRole==null||sysRole.getDelFlag().equals("1")){
+            throw new ServiceException("该角色不存在");
+        }
+        sysRoleVO.setRoleName(sysRole.getRoleName());
+        sysRoleVO.setRoleId(roleId);
+        ArrayList<Long> roleIds = new ArrayList<>();
+        roleIds.add(roleId);
+        List<Long> menuIds = roleMenuMapper.selectMenuIdsByRoleIds(roleIds);
+        sysRoleVO.setMenuIdList(menuIds);
+        return sysRoleVO;
+    }
+
+    @Override
+    public void edit(EditSysRoleDTO dto) {
+        //判断角色id是否存在
+        SysRole sysRole1 = roleMapper.selectRoleById(dto.getRoleId());
+        if (sysRole1==null||sysRole1.getDelFlag().equals("1")){
+            throw new ServiceException("该角色不存在");
+        }
+        //判断角色名称是否存在
+        SysRole sysRole = new SysRole();
+        sysRole.setRoleName(dto.getRoleName());
+        List<SysRole> sysRoles = roleMapper.selectRoleList(sysRole);
+        if (sysRoles!=null && !sysRoles.isEmpty()){
+            throw new ServiceException("该角色名称重复");
+        }
+        //删除之前的
+        roleMenuMapper.deleteRoleMenuByRoleId(dto.getRoleId());
+        //添加角色菜单
+        roleMenuMapper.insert(sysRole.getRoleId(),dto.getMenuIds());
+    }
+
+    @Override
+    public List<SysRoleVO> getOptionSelect() {
+        return roleMapper.getOptionSelect();
+
+    }
 }

--
Gitblit v1.7.1