From 2bc1feb56716bb15c3a86914e6d2ae346d8c4429 Mon Sep 17 00:00:00 2001 From: Stormeye Wu Date: Tue, 23 Apr 2019 16:41:13 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=8F=9C=E5=8D=95][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E6=89=80=E6=9C=89=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iformall/domain/po/MallPermission.java | 3 +++ .../iformall/mapper/MallUserInfoMapper.java | 6 ++++++ .../service/MallPermissionService.java | 8 ++++++++ .../iformall/service/MallUserInfoService.java | 7 +++++++ .../impl/MallPermissionServiceImpl.java | 5 +++++ .../service/impl/MallUserInfoServiceImpl.java | 20 +++++++++++++++++++ .../resources/mapper/MallUserInfoMapper.xml | 9 +++++++++ 7 files changed, 58 insertions(+) diff --git a/mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java b/mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java index f3c08e04b..e9d950ed1 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/MallPermission.java @@ -35,6 +35,9 @@ public class MallPermission implements Serializable { private String nameLike; @io.swagger.annotations.ApiModelProperty(value="父编号ID,一级菜单为0",name="parentId") private Long parentId; + @Transient + @io.swagger.annotations.ApiModelProperty(value="父菜单",name="parentName") + private String parentName; @io.swagger.annotations.ApiModelProperty(value="是否可用 Y/N",name="permission") private String available; @io.swagger.annotations.ApiModelProperty(value="授权(多个用逗号分隔,如:user:list,user:create)",name="permission") diff --git a/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java b/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java index 337b1bcc1..af932b25f 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/MallUserInfoMapper.java @@ -1,6 +1,7 @@ package com.iformall.mapper; import com.iformall.common.CommonMapper; +import com.iformall.domain.po.MallPermission; import com.iformall.domain.po.MallUserInfo; import com.iformall.domain.vo.MallUserInfoVo; import org.apache.ibatis.annotations.Param; @@ -38,6 +39,11 @@ public interface MallUserInfoMapper extends CommonMapper { List selectUsersByWebOpenId(@Param("webOpenId") String webOpenId); + /** + * 查询用户的所有菜单 + * @param userId 用户ID + */ + List queryAllMenu(Long userId); /** * 查询用户的所有权限 * @param userId 用户ID diff --git a/mallinkService/src/main/java/com/iformall/service/MallPermissionService.java b/mallinkService/src/main/java/com/iformall/service/MallPermissionService.java index 1dde3dc27..20a7f9bda 100644 --- a/mallinkService/src/main/java/com/iformall/service/MallPermissionService.java +++ b/mallinkService/src/main/java/com/iformall/service/MallPermissionService.java @@ -47,6 +47,14 @@ public interface MallPermissionService { */ PageInfo listAsPage(MallPermission record, Integer pageIndex, Integer pageSize); + /** + * 根据实体查询分页列表 + * + * @param record + * @return + */ + List getList(MallPermission record); + /** * 根据Id获得实体 * diff --git a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java index 700802942..ea19f0f92 100644 --- a/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java +++ b/mallinkService/src/main/java/com/iformall/service/MallUserInfoService.java @@ -175,4 +175,11 @@ public interface MallUserInfoService { * @return */ Set getUserPermissions(MallUserInfo record); + + /** + * 用户所有菜单 + * @param record + * @return + */ + List getAllPermissions(MallUserInfo record); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java index 78adc8361..74b7a460f 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallPermissionServiceImpl.java @@ -101,6 +101,11 @@ public class MallPermissionServiceImpl implements MallPermissionService { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallPermissionMapper.findList(record)); } + @Override + public List getList(MallPermission record) { + return mallPermissionMapper.findList(record); + } + @Override public MallPermission getById(Long id) { return mallPermissionMapper.selectByPrimaryKey(id); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java index 829c2ea8e..8049f9ea4 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/MallUserInfoServiceImpl.java @@ -263,5 +263,25 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { return permsSet; } + @Override + public List getAllPermissions(MallUserInfo record) { + List menuList; + if(record.isFmSuperAdmin()) { + // 富茂超管 + MallPermission q = new MallPermission(); + q.setAvailable("Y"); + menuList = mallPermissionMapper.select(q); + } else { + menuList = mallUserInfoMapper.queryAllMenu(record.getId()); + } + for(MallPermission info: menuList) { + MallPermission parentMP = mallPermissionMapper.selectByPrimaryKey(info.getParentId()); + if(parentMP != null) { + info.setParentName(parentMP.getName()); + } + } + return menuList; + } + } diff --git a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml index f939343a9..4619d6eee 100644 --- a/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml +++ b/mallinkService/src/main/resources/mapper/MallUserInfoMapper.xml @@ -224,6 +224,15 @@ + + +