1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package common.service.impl;
import common.model.Menu;
import common.repository.MenuRepository;
import common.service.MenuService;
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;
/**
* Created by mxq on 2017/12/21.
*/
@Service
public class MenuServiceImpl implements MenuService {
@Autowired
private MenuRepository menuRepository;
@Override
public List<Menu> listAll() {
List<Menu> result = new ArrayList<>();
List<Menu> parentMenuList = menuRepository.listAllParentMenu();
List<Menu> menuList = menuRepository.listAllSonMenu();
Map<Long, List<Menu>> map = new HashMap<>();
for(Menu m : menuList){
if(map.containsKey(m.getParent())){
List<Menu> list = map.get(m.getParent());
list.add(m);
map.put(m.getParent(),list);
} else{
List<Menu> list = new ArrayList<>();
list.add(m);
map.put(m.getParent(), list);
}
}
for(Menu m : parentMenuList){
m.setSons(map.get(m.getId()));
result.add(m);
}
return result;
}
}