| @@ -35,6 +35,9 @@ public class MallPermission implements Serializable { | |||||
| private String nameLike; | private String nameLike; | ||||
| @io.swagger.annotations.ApiModelProperty(value="父编号ID,一级菜单为0",name="parentId") | @io.swagger.annotations.ApiModelProperty(value="父编号ID,一级菜单为0",name="parentId") | ||||
| private Long parentId; | private Long parentId; | ||||
| @Transient | |||||
| @io.swagger.annotations.ApiModelProperty(value="父菜单",name="parentName") | |||||
| private String parentName; | |||||
| @io.swagger.annotations.ApiModelProperty(value="是否可用 Y/N",name="permission") | @io.swagger.annotations.ApiModelProperty(value="是否可用 Y/N",name="permission") | ||||
| private String available; | private String available; | ||||
| @io.swagger.annotations.ApiModelProperty(value="授权(多个用逗号分隔,如:user:list,user:create)",name="permission") | @io.swagger.annotations.ApiModelProperty(value="授权(多个用逗号分隔,如:user:list,user:create)",name="permission") | ||||
| @@ -1,6 +1,7 @@ | |||||
| package com.iformall.mapper; | package com.iformall.mapper; | ||||
| import com.iformall.common.CommonMapper; | import com.iformall.common.CommonMapper; | ||||
| import com.iformall.domain.po.MallPermission; | |||||
| import com.iformall.domain.po.MallUserInfo; | import com.iformall.domain.po.MallUserInfo; | ||||
| import com.iformall.domain.vo.MallUserInfoVo; | import com.iformall.domain.vo.MallUserInfoVo; | ||||
| import org.apache.ibatis.annotations.Param; | import org.apache.ibatis.annotations.Param; | ||||
| @@ -38,6 +39,11 @@ public interface MallUserInfoMapper extends CommonMapper<MallUserInfo, String> { | |||||
| List<MallUserInfoVo> selectUsersByWebOpenId(@Param("webOpenId") String webOpenId); | List<MallUserInfoVo> selectUsersByWebOpenId(@Param("webOpenId") String webOpenId); | ||||
| /** | |||||
| * 查询用户的所有菜单 | |||||
| * @param userId 用户ID | |||||
| */ | |||||
| List<MallPermission> queryAllMenu(Long userId); | |||||
| /** | /** | ||||
| * 查询用户的所有权限 | * 查询用户的所有权限 | ||||
| * @param userId 用户ID | * @param userId 用户ID | ||||
| @@ -47,6 +47,14 @@ public interface MallPermissionService { | |||||
| */ | */ | ||||
| PageInfo<MallPermission> listAsPage(MallPermission record, Integer pageIndex, Integer pageSize); | PageInfo<MallPermission> listAsPage(MallPermission record, Integer pageIndex, Integer pageSize); | ||||
| /** | |||||
| * 根据实体查询分页列表 | |||||
| * | |||||
| * @param record | |||||
| * @return | |||||
| */ | |||||
| List<MallPermission> getList(MallPermission record); | |||||
| /** | /** | ||||
| * 根据Id获得实体 | * 根据Id获得实体 | ||||
| * | * | ||||
| @@ -175,4 +175,11 @@ public interface MallUserInfoService { | |||||
| * @return | * @return | ||||
| */ | */ | ||||
| Set<String> getUserPermissions(MallUserInfo record); | Set<String> getUserPermissions(MallUserInfo record); | ||||
| /** | |||||
| * 用户所有菜单 | |||||
| * @param record | |||||
| * @return | |||||
| */ | |||||
| List<MallPermission> getAllPermissions(MallUserInfo record); | |||||
| } | } | ||||
| @@ -101,6 +101,11 @@ public class MallPermissionServiceImpl implements MallPermissionService { | |||||
| return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallPermissionMapper.findList(record)); | return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> mallPermissionMapper.findList(record)); | ||||
| } | } | ||||
| @Override | |||||
| public List<MallPermission> getList(MallPermission record) { | |||||
| return mallPermissionMapper.findList(record); | |||||
| } | |||||
| @Override | @Override | ||||
| public MallPermission getById(Long id) { | public MallPermission getById(Long id) { | ||||
| return mallPermissionMapper.selectByPrimaryKey(id); | return mallPermissionMapper.selectByPrimaryKey(id); | ||||
| @@ -263,5 +263,25 @@ public class MallUserInfoServiceImpl implements MallUserInfoService { | |||||
| return permsSet; | return permsSet; | ||||
| } | } | ||||
| @Override | |||||
| public List<MallPermission> getAllPermissions(MallUserInfo record) { | |||||
| List<MallPermission> 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; | |||||
| } | |||||
| } | } | ||||
| @@ -224,6 +224,15 @@ | |||||
| </if> | </if> | ||||
| </select> | </select> | ||||
| <!-- 查询用户的所有权限 --> | |||||
| <select id="queryAllMenu" resultType="com.iformall.domain.po.MallPermission"> | |||||
| select p.* | |||||
| from mall_permission p | |||||
| LEFT JOIN mall_role_permission rp on rp.permission_id = p.id | |||||
| LEFT JOIN mall_user_role ur on ur.role_id = rp.role_id | |||||
| where ur.uid = #{userId} | |||||
| </select> | |||||
| <!-- 查询用户的所有权限 --> | <!-- 查询用户的所有权限 --> | ||||
| <select id="queryAllPerms" resultType="string"> | <select id="queryAllPerms" resultType="string"> | ||||
| select p.permission from mall_user_role ur | select p.permission from mall_user_role ur | ||||