From 9e39021f891484b6accb2abc77d34c87bd65681a Mon Sep 17 00:00:00 2001
From: Fixiaobai <fixiaobai@163.com>
Date: 星期六, 26 八月 2023 13:27:23 +0800
Subject: [PATCH] 角色管理

---
 user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java |   39 ++++++++++++++++++++++++++++++++++++---
 1 files changed, 36 insertions(+), 3 deletions(-)

diff --git a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
similarity index 76%
rename from laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
rename to user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
index eedf808..30bb77b 100644
--- a/laboratory-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
+++ b/user-server/src/main/java/com/yuanchu/limslaboratory/service/impl/RoleManagerServiceImpl.java
@@ -2,17 +2,18 @@
 
 import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.IdUtil;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.yuanchu.limslaboratory.mapper.MenuMapper;
 import com.yuanchu.limslaboratory.mapper.RoleManageMapper;
-import com.yuanchu.limslaboratory.pojo.LimitPage;
 import com.yuanchu.limslaboratory.pojo.Menu;
 import com.yuanchu.limslaboratory.pojo.RoleInfo;
 import com.yuanchu.limslaboratory.pojo.RoleMenu;
 import com.yuanchu.limslaboratory.pojo.dto.GetAllRoleAndMenuByConditionPageDto;
 import com.yuanchu.limslaboratory.pojo.dto.RoleAndMenuDto;
 import com.yuanchu.limslaboratory.pojo.dto.RoleInfoDto;
+import com.yuanchu.limslaboratory.pojo.dto.UpdateRoleMenuDto;
 import com.yuanchu.limslaboratory.service.RoleManagerService;
 import com.yuanchu.limslaboratory.utils.JsonUtil;
 import org.springframework.stereotype.Service;
@@ -87,7 +88,7 @@
         List<RoleAndMenuDto> roleAndMenuDtos = roleManageMapper.selectAllRoleAndMenu(dto);
         roleAndMenuDtos.forEach(r->{
             List<RoleMenu>roleMenuList=r.getRoleMenuList();
-            System.out.println(roleMenuList);
+            //System.out.println(roleMenuList);
             List<RoleMenu> collect = roleMenuList.stream()
                     .filter(t -> t.getParentId() == 0)
                     .peek((menu) -> menu.setChildren(this.getRoleMenuChildren(menu, roleMenuList)))
@@ -99,11 +100,43 @@
         });
         Map<String, Object>result=new HashMap<>(3);
         result.put("list",roleAndMenuDtos);
-        int size = roleManageMapper.getRoleByName(dto.getName()).size();
+        int size = roleManageMapper.getRoleInfoByName(dto.getName()).size();
         result.put("total",size);
         return result;
     }
 
+    @Override
+    public boolean deleteRole(Long id) {
+        return roleManageMapper.updateRoleState(id)>0;
+    }
+
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public boolean updateRoleMenu(UpdateRoleMenuDto dto) {
+        //淇敼role琛ㄤ俊鎭�
+        UpdateWrapper<RoleInfo>updateWrapper=new UpdateWrapper<>();
+        updateWrapper.lambda()
+                        .set(RoleInfo::getName,dto.getRoleName())
+                .set(RoleInfo::getUpdateTime,DateUtil.toLocalDateTime(DateUtil.date()))
+                                .eq(RoleInfo::getId,dto.getRoleId());
+        int update = roleManageMapper.update(null, updateWrapper);
+        //鍒犻櫎role_menu淇℃伅
+        int deleteRoleMenuByRoleId = roleManageMapper.deleteRoleMenuByRoleId(dto.getRoleId());
+        //娣诲姞鏈�鏂伴�夋嫨銆�
+        dto.getMenuData().forEach(l->{
+            l.setRoleId(dto.getRoleId());
+            l.setCreateTime(DateUtil.toLocalDateTime(DateUtil.date()));
+            l.setUpdateTime(DateUtil.toLocalDateTime(DateUtil.date()));
+        });
+        int insertBatchRoleMenu = roleManageMapper.insertBatchRoleMenu(dto.getMenuData());
+        return update>0&&deleteRoleMenuByRoleId>0&&insertBatchRoleMenu>0;
+    }
+
+    @Override
+    public RoleAndMenuDto getRoleAndMenuByRole(Long roleId) {
+        return roleManageMapper.selectAllRoleAndMenuByRoleId(roleId);
+    }
+
 
     private List<Menu> getEnumChildren(Menu root, List<Menu> all) {
         return all.stream()

--
Gitblit v1.9.3