| @@ -298,43 +298,18 @@ public class MallUserInfoController extends BaseController { | |||||
| info.protectInfos(); | info.protectInfos(); | ||||
| // TODO 请用 /menu/nav 获取菜单及权限 | // TODO 请用 /menu/nav 获取菜单及权限 | ||||
| if(info.getTenantId().equalsIgnoreCase(Constant.FM_SYS_ADMIN)) { | |||||
| if(info.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { | |||||
| // 富茂系统管理员 | |||||
| List<Long> menuList = mallPermissionService.queryAdminMenuList(info); | |||||
| StringBuilder sb = new StringBuilder(); | |||||
| boolean bFirst = true; | |||||
| for(Long id: menuList) { | |||||
| if(bFirst) { | |||||
| sb.append(id); | |||||
| bFirst = false; | |||||
| } else { | } else { | ||||
| // 富茂普通管理员 | |||||
| } | |||||
| } else if (info.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { | |||||
| // 各商场超管 | |||||
| MallUserInfo q = new MallUserInfo(); | |||||
| q.setId(info.getId()); | |||||
| List<MallPermission> list = mallPermissionService.getUserMenuList(q); | |||||
| String menus = ""; | |||||
| for (MallPermission rp : list) { | |||||
| menus += rp.getId() + ","; | |||||
| } | |||||
| if (menus.length() > 0) { | |||||
| menus = menus.substring(0, menus.length() - 1); | |||||
| } | |||||
| info.setMenus(menus); | |||||
| } else { | |||||
| MallUserRole mur = mallUserRoleService.getByUid(info.getId()); | |||||
| if (mur != null) { | |||||
| Long roleId = mur.getRoleId(); | |||||
| MallRolePermission p = new MallRolePermission(); | |||||
| p.setRoleId(roleId); | |||||
| p.setTenantId(info.getTenantId()); | |||||
| List<MallRolePermission> mrpList = mallRolePermissionService.getList(p); | |||||
| String menus = ""; | |||||
| for (MallRolePermission rp : mrpList) { | |||||
| menus += rp.getPermissionId() + ","; | |||||
| } | |||||
| if (menus.length() > 0) { | |||||
| menus = menus.substring(0, menus.length() - 1); | |||||
| } | |||||
| info.setMenus(menus); | |||||
| sb.append(',').append(id); | |||||
| } | } | ||||
| } | } | ||||
| info.setMenus(sb.toString()); | |||||
| return new ResultData(info); | return new ResultData(info); | ||||
| } | } | ||||
| @@ -27,6 +27,9 @@ public class TenantInfoImpl implements TenantInfo { | |||||
| if ("mall_permission".equals(tableName)) { | if ("mall_permission".equals(tableName)) { | ||||
| return true; | return true; | ||||
| } | } | ||||
| if ("mall_sale_type".equals(tableName)) { | |||||
| return true; | |||||
| } | |||||
| if ("mall_user_role".equals(tableName)) { | if ("mall_user_role".equals(tableName)) { | ||||
| return true; | return true; | ||||
| } | } | ||||
| @@ -31,6 +31,9 @@ public class TenantInfoImpl implements TenantInfo { | |||||
| if ("mall_permission".equals(tableName)) { | if ("mall_permission".equals(tableName)) { | ||||
| return true; | return true; | ||||
| } | } | ||||
| if ("mall_sale_type".equals(tableName)) { | |||||
| return true; | |||||
| } | |||||
| if ("mall_user_role".equals(tableName)) { | if ("mall_user_role".equals(tableName)) { | ||||
| return true; | return true; | ||||
| } | } | ||||
| @@ -31,6 +31,9 @@ public class TenantInfoImpl implements TenantInfo { | |||||
| if ("mall_permission".equals(tableName)) { | if ("mall_permission".equals(tableName)) { | ||||
| return true; | return true; | ||||
| } | } | ||||
| if ("mall_sale_type".equals(tableName)) { | |||||
| return true; | |||||
| } | |||||
| if ("mall_user_role".equals(tableName)) { | if ("mall_user_role".equals(tableName)) { | ||||
| return true; | return true; | ||||
| } | } | ||||
| @@ -28,7 +28,7 @@ public interface MallPermissionService { | |||||
| /** | /** | ||||
| * 所有菜单 | * 所有菜单 | ||||
| */ | */ | ||||
| List<MallPermission> queryNotButtonList(); | |||||
| List<Long> queryAdminMenuList(MallUserInfo userInfo); | |||||
| /** | /** | ||||
| * 用户菜单 | * 用户菜单 | ||||
| @@ -57,8 +57,16 @@ public class MallPermissionServiceImpl implements MallPermissionService { | |||||
| } | } | ||||
| @Override | @Override | ||||
| public List<MallPermission> queryNotButtonList() { | |||||
| return mallPermissionMapper.queryNotButtonList(); | |||||
| public List<Long> queryAdminMenuList(MallUserInfo userInfo) { | |||||
| if(userInfo.isFmSuperAdmin() || | |||||
| userInfo.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { | |||||
| String menus = wxMallMapper.queryMenusByTenantId(userInfo.getTenantId()); | |||||
| JSONArray menuIdList = JSON.parseArray(menus); | |||||
| return menuIdList.toJavaList(Long.class); | |||||
| } else { | |||||
| List<Long> menuIdList = mallUserInfoMapper.queryAllMenuId(userInfo.getId()); | |||||
| return menuIdList; | |||||
| } | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -67,15 +75,16 @@ public class MallPermissionServiceImpl implements MallPermissionService { | |||||
| // 富茂超级管理员,返回所有菜单 | // 富茂超级管理员,返回所有菜单 | ||||
| return getAllMenuList(null); | return getAllMenuList(null); | ||||
| } | } | ||||
| if(userInfo.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { | |||||
| else if(userInfo.getIsAdmin().equals(EnumUserAdmin.ADMIN.getCode())) { | |||||
| // 租户超管 | // 租户超管 | ||||
| String menus = wxMallMapper.queryMenusByTenantId(userInfo.getTenantId()); | String menus = wxMallMapper.queryMenusByTenantId(userInfo.getTenantId()); | ||||
| JSONArray menuIdList = JSON.parseArray(menus); | JSONArray menuIdList = JSON.parseArray(menus); | ||||
| return getAllMenuList(menuIdList.toJavaList(Long.class)); | return getAllMenuList(menuIdList.toJavaList(Long.class)); | ||||
| } else { | |||||
| //用户菜单列表 | |||||
| List<Long> menuIdList = mallUserInfoMapper.queryAllMenuId(userInfo.getId()); | |||||
| return getAllMenuList(menuIdList); | |||||
| } | } | ||||
| //用户菜单列表 | |||||
| List<Long> menuIdList = mallUserInfoMapper.queryAllMenuId(userInfo.getId()); | |||||
| return getAllMenuList(menuIdList); | |||||
| } | } | ||||
| /** | /** | ||||
| @@ -138,7 +138,7 @@ | |||||
| </select> | </select> | ||||
| <select id="queryMenusByTenantId" parameterType="string" resultType="string"> | <select id="queryMenusByTenantId" parameterType="string" resultType="string"> | ||||
| select menus | |||||
| select st.menus | |||||
| from mall_sale_type st, wx_mall m | from mall_sale_type st, wx_mall m | ||||
| where st.type = m.sale_type and m.`tenant_id` = #{value} | where st.type = m.sale_type and m.`tenant_id` = #{value} | ||||
| </select> | </select> | ||||