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 @@ + + +