From 187bca28db728904da9a9136bcae751767879045 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期三, 12 十月 2022 15:50:44 +0800
Subject: [PATCH] 菜单权限 和启用菜单 然后日志功能

---
 ycl-common/src/main/java/com/ycl/service/user/impl/UmsMenuServiceImpl.java |   35 +++++++++++++++++++++++++++++++----
 1 files changed, 31 insertions(+), 4 deletions(-)

diff --git a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsMenuServiceImpl.java b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsMenuServiceImpl.java
index 1370b28..1ce1c77 100644
--- a/ycl-common/src/main/java/com/ycl/service/user/impl/UmsMenuServiceImpl.java
+++ b/ycl-common/src/main/java/com/ycl/service/user/impl/UmsMenuServiceImpl.java
@@ -5,20 +5,29 @@
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ycl.dto.UmsMenuNode;
 import com.ycl.entity.user.UmsMenu;
+import com.ycl.entity.user.vo.UmsMenuVo;
+import com.ycl.mapper.user.AdminMenuRelationMapper;
 import com.ycl.mapper.user.UmsMenuMapper;
 import com.ycl.service.user.UmsMenuService;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
 /**
  * 鍚庡彴鑿滃崟绠$悊Service瀹炵幇绫�
  */
 @Service
-public class UmsMenuServiceImpl extends ServiceImpl<UmsMenuMapper, UmsMenu>implements UmsMenuService {
+public class UmsMenuServiceImpl extends ServiceImpl<UmsMenuMapper, UmsMenu> implements UmsMenuService {
+
+    @Resource
+    AdminMenuRelationMapper adminMenuRelationMapper;
+    @Resource
+    UmsMenuMapper umsMenuMapper;
 
     @Override
     public boolean create(UmsMenu umsMenu) {
@@ -26,6 +35,7 @@
         updateLevel(umsMenu);
         return save(umsMenu);
     }
+
 
     /**
      * 淇敼鑿滃崟灞傜骇
@@ -54,11 +64,11 @@
 
     @Override
     public Page<UmsMenu> list(Long parentId, Integer pageSize, Integer pageNum) {
-        Page<UmsMenu> page = new Page<>(pageNum,pageSize);
+        Page<UmsMenu> page = new Page<>(pageNum, pageSize);
         QueryWrapper<UmsMenu> wrapper = new QueryWrapper<>();
-        wrapper.lambda().eq(UmsMenu::getParentId,parentId)
+        wrapper.lambda().eq(UmsMenu::getParentId, parentId)
                 .orderByDesc(UmsMenu::getSort);
-        return page(page,wrapper);
+        return page(page, wrapper);
     }
 
     @Override
@@ -78,6 +88,23 @@
         return updateById(umsMenu);
     }
 
+    @Override
+    public List<UmsMenuVo> ListTreeMyself(Long id) {
+        List<UmsMenuVo> fatherUmsMenuVoList = umsMenuMapper.adminMenuRelation(id);
+        List<UmsMenuVo> umsMenuVoList = fatherUmsMenuVoList.stream()
+                .filter(item -> item.getParentId() == 0L)
+                .peek(item -> item.setMenuVoArrayList(getChildren(item, fatherUmsMenuVoList)))
+                .collect(Collectors.toList());
+        return umsMenuVoList;
+    }
+
+    public List<UmsMenuVo> getChildren(UmsMenuVo root, List<UmsMenuVo> allMenus) {
+        return allMenus.stream()
+                .filter(menu -> Objects.equals(menu.getParentId(), root.getId()))
+                .peek(menu -> menu.setMenuVoArrayList(getChildren(menu, allMenus)))
+                .collect(Collectors.toList());
+    }
+
     /**
      * 灏哢msMenu杞寲涓篣msMenuNode骞惰缃甤hildren灞炴��
      */

--
Gitblit v1.8.0