|
@@ -1,11 +1,15 @@
|
|
|
package com.bizmatics.service.system.impl;
|
|
|
|
|
|
+import com.bizmatics.common.core.util.StringUtils;
|
|
|
+import com.bizmatics.model.User;
|
|
|
import com.bizmatics.model.system.SysUser;
|
|
|
+import com.bizmatics.service.UserService;
|
|
|
import com.bizmatics.service.system.ISysMenuService;
|
|
|
import com.bizmatics.service.system.ISysRoleService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Component;
|
|
|
|
|
|
+import java.lang.reflect.Field;
|
|
|
import java.util.HashSet;
|
|
|
import java.util.Set;
|
|
|
|
|
@@ -23,6 +27,9 @@ public class SysPermissionService
|
|
|
@Autowired
|
|
|
private ISysMenuService menuService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private UserService userService;
|
|
|
+
|
|
|
/**
|
|
|
* 获取角色数据权限
|
|
|
*
|
|
@@ -52,11 +59,15 @@ public class SysPermissionService
|
|
|
*/
|
|
|
public Set<String> getMenuPermission(SysUser user)
|
|
|
{
|
|
|
+
|
|
|
Set<String> perms = new HashSet<String>();
|
|
|
+ User userData=userService.getUser(user.getUserName());
|
|
|
// 管理员拥有所有权限
|
|
|
if (user.isAdmin())
|
|
|
{
|
|
|
perms.add("*:*:*");
|
|
|
+ }else if (!checkObjAllFieldsIsNull(userData)){
|
|
|
+ perms.add("*:*:*");
|
|
|
}
|
|
|
else
|
|
|
{
|
|
@@ -64,4 +75,23 @@ public class SysPermissionService
|
|
|
}
|
|
|
return perms;
|
|
|
}
|
|
|
+
|
|
|
+ public static boolean checkObjAllFieldsIsNull(Object object) {
|
|
|
+ if (null == object) {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ for (Field f : object.getClass().getDeclaredFields()) {
|
|
|
+ f.setAccessible(true);
|
|
|
+ System.out.print(f.getName() + ":");
|
|
|
+ System.out.println(f.get(object));
|
|
|
+ if (f.get(object) != null && StringUtils.isNotBlank(f.get(object).toString())) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return true;
|
|
|
+ }
|
|
|
}
|