From 6c56f35bef519265b4e7ae98fda6ca87855daf9f Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期四, 15 十二月 2022 11:29:08 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_server --- ycl-common/src/main/java/com/ycl/service/user/impl/UmsMenuServiceImpl.java | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 54 insertions(+), 5 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..846b1bc 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,32 @@ 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.UmsAdminRoleRelationMapper; 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; + @Resource + UmsAdminRoleRelationMapper umsAdminRoleRelationMapper; @Override public boolean create(UmsMenu umsMenu) { @@ -26,6 +38,7 @@ updateLevel(umsMenu); return save(umsMenu); } + /** * 淇敼鑿滃崟灞傜骇 @@ -54,11 +67,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,10 +91,46 @@ 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()); + } + + @Override + public String getPermission(Long userId) { + List<String> permission = umsAdminRoleRelationMapper.selectPermissionById(userId); + if (permission.size()<2){ + return permission.get(0); + }else { + if (permission.contains("鎿嶄綔涓旀煡鐪�")){ + return "operation and view"; + } + else if (permission.contains("鍙搷浣�")&&!permission.contains("浠呮煡鐪�")){ + return "operation"; + } + else if (permission.contains("浠呮煡鐪�")&&!permission.contains("鍙搷浣�")){ + return "view"; + }else return "operation and view"; + } + } + /** * 灏哢msMenu杞寲涓篣msMenuNode骞惰缃甤hildren灞炴�� */ - private UmsMenuNode covertMenuNode(UmsMenu menu, List<UmsMenu> menuList) { + @Override + public UmsMenuNode covertMenuNode(UmsMenu menu, List<UmsMenu> menuList) { UmsMenuNode node = new UmsMenuNode(); BeanUtils.copyProperties(menu, node); List<UmsMenuNode> children = menuList.stream() -- Gitblit v1.8.0