From dc31792dc1b8ad1658e49ba8fce9a1be924e6fbb Mon Sep 17 00:00:00 2001
From: wu <731351411@qq.com>
Date: 星期四, 30 十一月 2023 08:44:04 +0800
Subject: [PATCH] 理片笼测试修改
---
springboot-vue3/src/main/java/com/example/springboot/service/impl/MenuListServiceImpl.java | 73 ++++++++++++++++++++++++++++++++++++
1 files changed, 73 insertions(+), 0 deletions(-)
diff --git a/springboot-vue3/src/main/java/com/example/springboot/service/impl/MenuListServiceImpl.java b/springboot-vue3/src/main/java/com/example/springboot/service/impl/MenuListServiceImpl.java
new file mode 100644
index 0000000..4de2090
--- /dev/null
+++ b/springboot-vue3/src/main/java/com/example/springboot/service/impl/MenuListServiceImpl.java
@@ -0,0 +1,73 @@
+package com.example.springboot.service.impl;
+
+import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.example.springboot.entity.vo.MenuListVo;
+import com.example.springboot.mapper.MenuListMapper;
+import com.example.springboot.mapper.RoleMenuListMapper;
+import com.example.springboot.security.util.SecurityUtil;
+import com.example.springboot.service.MenuListService;
+import com.example.springboot.service.RoleService;
+import com.example.springboot.entity.MenuList;
+import com.example.springboot.entity.Role;
+import com.example.springboot.entity.RoleMenuList;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.stream.Collectors;
+
+@Service
+@Slf4j
+public class MenuListServiceImpl extends ServiceImpl<MenuListMapper, MenuList> implements MenuListService {
+ @Autowired
+ private RoleService roleService;
+ @Autowired
+ private RoleMenuListMapper roleMenuListDao;
+
+ @Override
+ public IPage<MenuList> selectPage(MenuListVo menuListVO) {
+ return lambdaQuery()
+ .like(StrUtil.isNotBlank(menuListVO.getName()), MenuList::getName, menuListVO.getName())
+ .eq(null != menuListVO.getState(), MenuList::getState, menuListVO.getState())
+ .between(null != menuListVO.getStartTime() && null != menuListVO.getEndTime(), MenuList::getCreateTime, menuListVO.getStartTime(), menuListVO.getEndTime())
+ .orderByAsc(MenuList::getParentId).last(",create_time desc")
+ .page(new Page<>(menuListVO.getPageNum(), menuListVO.getPageSize()));
+ }
+
+ @Override
+ public List<MenuList> selectList(Long roleId) {
+ List<Role> roles = roleService.selectRoles(roleId == null ? SecurityUtil.getCurrentUser().getRoleId() : roleId, true);
+ List<Long> ids = roles.stream().map(Role::getId).collect(Collectors.toList());
+ List<RoleMenuList> roleMenuLists = roleMenuListDao.selectList(new QueryWrapper<RoleMenuList>().lambda()
+ .in(RoleMenuList::getRoleId, ids));
+ List<Long> collect = roleMenuLists.stream().map(RoleMenuList::getMenuListId).collect(Collectors.toList());
+ if (CollectionUtil.isEmpty(collect)) return new ArrayList<>();
+ List<MenuList> menuLists = lambdaQuery()
+ .or(menuListLambdaQueryWrapper -> menuListLambdaQueryWrapper.isNull(MenuList::getParentId).or().eq(MenuList::getParentId, ""))
+ .in(MenuList::getId, collect)
+ .list();
+ for (MenuList menuList : menuLists) {
+ List<MenuList> list = selectByParentId(menuList.getId(), collect);
+ menuList.setMenuLists(list);
+ }
+ return menuLists;
+ }
+
+ @Override
+ public List<MenuList> selectByParentId(Long parentId, List<Long> ids) {
+ List<MenuList> list = lambdaQuery().eq(MenuList::getParentId, parentId).in(MenuList::getId, ids).list();
+ if (CollectionUtil.isEmpty(list)) return null;
+ for (MenuList menuList : list) {
+ List<MenuList> menuLists = selectByParentId(menuList.getId(), ids);
+ menuList.setMenuLists(menuLists);
+ }
+ return list;
+ }
+}
\ No newline at end of file
--
Gitblit v1.8.0