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;
}
}