Browse Source

权限:资源设置多级目录

wangdy 8 years ago
parent
commit
d67c198a2d

+ 3 - 0
src/main/java/com/uas/platform/b2c/common/account/dao/ResourceDao.java

@@ -14,4 +14,7 @@ public interface ResourceDao extends JpaRepository<Resource, Long> {
     @OrderBy("id")
     public List<Resource> findAll();
 
+    @OrderBy("id")
+    public List<Resource> findByParentid(Long parentId);
+
 }

+ 28 - 0
src/main/java/com/uas/platform/b2c/common/account/model/Resource.java

@@ -5,6 +5,7 @@ import org.hibernate.annotations.CacheConcurrencyStrategy;
 
 import javax.persistence.*;
 import java.io.Serializable;
+import java.util.List;
 import java.util.Set;
 
 /**
@@ -42,6 +43,18 @@ public class Resource implements Serializable {
 	@Column(name = "res_desc")
 	private String desc;
 
+	/**
+	 * 所含子资源
+	 */
+	@Transient
+	private List<Resource> children;
+
+	/**
+	 * 父级类目的id号
+	 */
+	@Column(name = "res_parentid")
+	private Long parentid;
+
 	/**
 	 * 资源的详细清单
 	 */
@@ -83,4 +96,19 @@ public class Resource implements Serializable {
 		this.items = items;
 	}
 
+	public List<Resource> getChildren() {
+		return children;
+	}
+
+	public void setChildren(List<Resource> children) {
+		this.children = children;
+	}
+
+	public Long getParentid() {
+		return parentid;
+	}
+
+	public void setParentid(Long parentid) {
+		this.parentid = parentid;
+	}
 }

+ 19 - 5
src/main/java/com/uas/platform/b2c/common/account/service/impl/ResourceServiceImpl.java

@@ -9,6 +9,7 @@ import com.uas.platform.b2c.common.account.service.ResourceService;
 import com.uas.platform.b2c.core.support.SystemSession;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 
@@ -18,6 +19,12 @@ public class ResourceServiceImpl implements ResourceService {
     @Autowired
     private ResourceDao resourceDao;
 
+    /**
+     * 商城运营商企业UU号
+     */
+    @Value("#{sys.enUU}")
+    private Long enUU;
+
   /*  @Autowired
     private MallAdministratorsDao mallAdministratorsDao;*/
 
@@ -25,18 +32,25 @@ public class ResourceServiceImpl implements ResourceService {
     public List<Resource> findAll() {
       /*  List<MallAdministrators> admins = mallAdministratorsDao
                 .findByAdenuu(SystemSession.getUser().getEnterprise().getUu());*/
-        List<Resource> resources = resourceDao.findAll();
-        /*if (!CollectionUtils.isEmpty(resources)) {
-            if (CollectionUtils.isEmpty(admins)) {// 如果不存在商城管理员设置权限,这个不显示出来
+        List<Resource> resources = getAllChildResource(0L);
+        if (!CollectionUtils.isEmpty(resources)) {
+            if (!SystemSession.getUser().getEnterprise().getUu().equals(enUU)) {// 如果不存在商城管理员设置权限,这个不显示出来
                 for (Iterator<Resource> it = resources.iterator(); it.hasNext();) {
                     Resource re = it.next();
-                    if (re.getName().equals("优软商城后台-管理")) {
+                    if (re.getName().equals("优软商城-管理")) {
                         it.remove();
                     }
                 }
             }
-        }*/
+        }
         return resources;
     }
+    public List<Resource> getAllChildResource(Long parentid) {
+        List<Resource> resourceList = resourceDao.findByParentid(parentid);
+        for (Resource res : resourceList) {
+                res.setChildren(getAllChildResource(res.getId()));
+        }
+        return resourceList;
+    }
 
 }