|
|
@@ -4,10 +4,7 @@ import com.roma.romaapi.dao.PageDao;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
-import java.util.ArrayList;
|
|
|
-import java.util.HashMap;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
|
|
|
@Service
|
|
|
public class PageService {
|
|
|
@@ -27,7 +24,7 @@ public class PageService {
|
|
|
|
|
|
List<Map<String, Object>> treeMenu = this.treeMenu(renderMenu); // 生成树结构
|
|
|
|
|
|
- return renderMenu;
|
|
|
+ return treeMenu;
|
|
|
}
|
|
|
|
|
|
// 渲染节点内容
|
|
|
@@ -73,26 +70,48 @@ public class PageService {
|
|
|
|
|
|
// 转换tree结构数据
|
|
|
private List<Map<String, Object>> treeMenu(List<Map<String, Object>> renderMenu){
|
|
|
- List<Map<String, Object>> retList = new ArrayList<Map<String, Object>>();
|
|
|
- // 构建数据
|
|
|
- System.out.print("dsdsadsd---tree");
|
|
|
- for (int i = 0; i < renderMenu.size(); i++) {
|
|
|
- Map map = renderMenu.get(i);
|
|
|
- System.out.println(map.get("id"));
|
|
|
- System.out.println(map.get("parent_id"));
|
|
|
+ // 处理的数据存在
|
|
|
+ List<Map<String, Object>> pList = new ArrayList<Map<String, Object>>();// eTree
|
|
|
+ // 获取父节点
|
|
|
+ for (Map<String, Object> tmp : renderMenu) {
|
|
|
+ Object parentId = tmp.get("parent_id");
|
|
|
+ String stringParentId = parentId.toString();
|
|
|
+ Integer intParentId = Integer.parseInt(stringParentId); // 上级id
|
|
|
+ Object dataId = tmp.get("id");
|
|
|
+ String stringDataId = dataId.toString();
|
|
|
+ Integer intDataId = Integer.parseInt(stringDataId); // 主键id
|
|
|
+ System.out.println(stringParentId.equals("0"));
|
|
|
+ if (stringParentId.equals("0")) {
|
|
|
+ // 组装子节点,开始循环去获取子节点
|
|
|
+ tmp.put("children", menuChild(stringDataId, renderMenu));
|
|
|
+ pList.add(tmp);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return pList;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 处理子节点
|
|
|
+ * @param id
|
|
|
+ * @param data
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ private List<?> menuChild(String id, List<Map<String, Object>> data) {
|
|
|
+ List<Object> lists = new ArrayList<Object>();
|
|
|
+ for (Map<String, Object> map : data) {
|
|
|
Object parentId = map.get("parent_id");
|
|
|
String stringParentId = parentId.toString();
|
|
|
Integer intParentId = Integer.parseInt(stringParentId); // 上级id
|
|
|
Object dataId = map.get("id");
|
|
|
String stringDataId = dataId.toString();
|
|
|
Integer intDataId = Integer.parseInt(stringDataId); // 主键id
|
|
|
-
|
|
|
-System.out.println(map);
|
|
|
-// $id = $item[$primary_key];
|
|
|
-// $parent_id = $item[$parent_key];
|
|
|
-// $r[$parent_id][$id] = $item;
|
|
|
+ if (stringParentId.equals(id)) {
|
|
|
+ // 组装子节点,开始循环去获取子节点
|
|
|
+ map.put("children", menuChild(stringDataId, data));
|
|
|
+ lists.add(map);
|
|
|
+ }
|
|
|
}
|
|
|
-
|
|
|
- return retList;
|
|
|
+ return lists;
|
|
|
}
|
|
|
}
|