java实现遍历树形菜单方法——service层

简介: java实现遍历树形菜单方法——service层

Service接口:

/**  
* @Title: IVoteTreeService.java
* @Package org.Service
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-5-6 下午10:42:10
* @version V1.0  
*/
package org.Service;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.entity.VoteTree;
 /**   
 *    
 * 项目名称:testTree   
 * 类名称:IVoteTreeService   
 * 类描述:   
 * 创建人:Mu Xiongxiong  
 * 创建时间:2017-5-6 下午10:42:10   
 * 修改人:Mu Xiongxiong   
 * 修改时间:2017-5-6 下午10:42:10   
 * 修改备注:   
 * @version    
 *    
 */
public interface IVoteTreeService {
  
  public JSONArray getTreeJson();
  List<VoteTree> treeList();
}


Service实现类:

/**  
* @Title: VoteTreeServiceImpl.java
* @Package org.Service.impl
* @Description: TODO该方法的主要作用:
* @author A18ccms A18ccms_gmail_com  
* @date 2017-5-6 下午10:43:10
* @version V1.0  
*/
package org.Service.impl;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.Service.IVoteTreeService;
import org.dao.IVoteTreeDao;
import org.dao.impl.IVoteTreeDaoImpl;
import org.entity.VoteTree;
import org.junit.Test;
import com.alibaba.fastjson.JSON;
import com.sun.org.apache.xerces.internal.parsers.IntegratedParserConfiguration;
 /**   
 *    
 * 项目名称:testTree   
 * 类名称:VoteTreeServiceImpl   
 * 类描述:   
 * 创建人:Mu Xiongxiong  
 * 创建时间:2017-5-6 下午10:43:10   
 * 修改人:Mu Xiongxiong   
 * 修改时间:2017-5-6 下午10:43:10   
 * 修改备注:   
 * @version    
 *    
 */
public class VoteTreeServiceImpl implements IVoteTreeService {
  IVoteTreeDao voteTreeDao = new IVoteTreeDaoImpl();
  
  
  public JSONArray getTreeJson(){
    Map<String, Object> treeMap = new HashMap<String, Object>();
    Map<String, Object> treejsonMap = new HashMap<String, Object>();
    treeMap.put("id",1);
    treeMap.put("text", "用户");
    treeMap.put("children", treeList());
    JSONArray jsonObject = JSONArray.fromObject(treeMap);
    return jsonObject;
    
  }
  
  
  
  @Override
  public List<VoteTree> treeList() {
    List<VoteTree> nextSubSet = new ArrayList<VoteTree>();
    //最小的level
    Long minLevel =voteTreeDao.minId();  
    //一级目录
    List<VoteTree> friList = voteTreeDao.getFirstLevel(minLevel);
    for (VoteTree voteTree : friList) {
      //根据一级目录查找所有的子集
      voteTree.setChildren(nextSubSet);
      nextSubSet =voteTreeDao.getNextSubSet(voteTree);
    }
    return nextSubSet;
  }
  
}


目录
相关文章
|
5天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
33 3
|
2天前
|
Java
Java 与垃圾回收有关的方法
Java 与垃圾回收有关的方法
|
3天前
|
存储 Java 测试技术
一文搞清楚Java中的方法、常量、变量、参数
在JVM的运转中,承载的是数据,而数据的一种变现形式就是“量”,量分为:**常量与变量**,我们在数学和物理学中已经接触过变量的概念了,在Java中的变量就是在程序运行过程中可以改变其值的量。
14 0
|
7天前
|
存储 Java
Java动态转发代理IP的实现方法
Java动态转发代理IP的实现方法
23 11
|
9天前
|
Java
Java接口中可以定义哪些方法?
【4月更文挑战第13天】
14 0
Java接口中可以定义哪些方法?
|
15天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
14 0
|
16天前
|
Java
Java中关于ConditionObject的signal()方法的分析
Java中关于ConditionObject的signal()方法的分析
22 4
|
7月前
|
Java
JAVA方法的定义
JAVA方法的定义
36 0
|
2月前
|
Java 编译器
探究Java【方法的定义及使用】----【简单面试题】
探究Java【方法的定义及使用】----【简单面试题】
30 2
|
4月前
|
Java Go
【Java 泛型方法】泛型方法的定义和使用,泛型的通配符和泛型的上下限,泛型的注意事项
【Java 泛型方法】泛型方法的定义和使用,泛型的通配符和泛型的上下限,泛型的注意事项