From 0832f454bc53eafee9c6b7eedb32481a021257c3 Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期二, 03 十二月 2024 18:38:00 +0800
Subject: [PATCH] 系统管理:数据字典、角色管理接口

---
 medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java |   79 +++++++++++++++++++++++++++++++++++----
 1 files changed, 70 insertions(+), 9 deletions(-)

diff --git a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java
index df77217..998d382 100644
--- a/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java
+++ b/medicalWaste-system/src/main/java/com/sinata/system/service/impl/SysRoleServiceImpl.java
@@ -1,29 +1,42 @@
 package com.sinata.system.service.impl;
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.sinata.common.annotation.DataScope;
 import com.sinata.common.constant.UserConstants;
+import com.sinata.common.core.domain.entity.SysMenu;
 import com.sinata.common.core.domain.entity.SysRole;
 import com.sinata.common.core.domain.entity.SysUser;
+import com.sinata.common.entity.PageDTO;
 import com.sinata.common.exception.ServiceException;
+import com.sinata.common.utils.BeanUtils;
+import com.sinata.common.utils.CollUtils;
 import com.sinata.common.utils.SecurityUtils;
 import com.sinata.common.utils.StringUtils;
 import com.sinata.common.utils.spring.SpringUtils;
 import com.sinata.system.domain.SysRoleDept;
 import com.sinata.system.domain.SysRoleMenu;
 import com.sinata.system.domain.SysUserRole;
+import com.sinata.system.domain.dto.SysRoleDTO;
+import com.sinata.system.domain.query.KeyWordQuery;
+import com.sinata.system.domain.vo.SysRoleVO;
 import com.sinata.system.mapper.SysRoleDeptMapper;
 import com.sinata.system.mapper.SysRoleMapper;
 import com.sinata.system.mapper.SysRoleMenuMapper;
 import com.sinata.system.mapper.SysUserRoleMapper;
+import com.sinata.system.service.ISysMenuService;
 import com.sinata.system.service.ISysRoleService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 /**
  * 角色 业务层处理
@@ -31,7 +44,7 @@
  * @author ruoyi
  */
 @Service
-public class SysRoleServiceImpl implements ISysRoleService
+public class SysRoleServiceImpl extends ServiceImpl<SysRoleMapper, SysRole> implements ISysRoleService
 {
     @Autowired
     private SysRoleMapper roleMapper;
@@ -44,6 +57,8 @@
 
     @Autowired
     private SysRoleDeptMapper roleDeptMapper;
+    @Autowired
+    private ISysMenuService menuService;
 
     /**
      * 根据条件分页查询角色数据
@@ -424,4 +439,50 @@
         }
         return userRoleMapper.batchUserRole(list);
     }
+
+    /**
+     * 角色分页列表
+     *
+     * @param query
+     * @return
+     */
+    @Override
+    public PageDTO<SysRoleVO> pageList(KeyWordQuery query) {
+        Page<SysRoleVO> page = baseMapper.pageList(new Page<SysRoleVO>(query.getPageCurr(), query.getPageSize()), query.getKeyword());
+        return PageDTO.of(page);
+    }
+
+    /**
+     * 保存角色信息
+     *
+     * @param dto
+     * @return
+     */
+    @Override
+    public void saveRole(SysRoleDTO dto) {
+        SysRole sysRole = BeanUtils.copyBean(dto, SysRole.class);
+        if (Objects.nonNull(sysRole.getRoleId())) {
+            baseMapper.insert(sysRole);
+        } else {
+            baseMapper.updateById(sysRole);
+        }
+    }
+
+    /**
+     * 获取角色详情
+     *
+     * @param roleId
+     * @return
+     */
+    @Override
+    public SysRoleVO getDetailInfo(Long roleId) {
+        SysRole sysRole = baseMapper.selectRoleById(roleId);
+        SysRoleVO sysRoleVO = BeanUtils.copyBean(sysRole, SysRoleVO.class);
+        //查询用户菜单id列表
+        List<SysMenu> sysMenus = menuService.selectListByRoleId(roleId);
+        if (CollUtils.isNotEmpty(sysMenus)) {
+            sysRoleVO.setMenuIds(sysMenus.stream().map(SysMenu::getMenuId).collect(Collectors.toList()));
+        }
+        return sysRoleVO;
+    }
 }

--
Gitblit v1.7.1