12
12
import org .springframework .beans .factory .annotation .Autowired ;
13
13
import org .springframework .cache .annotation .CacheConfig ;
14
14
15
- import com .alibaba .dubbo .config .annotation .Service ;
16
15
import com .weibo .api .motan .config .springsupport .annotation .MotanService ;
17
16
18
17
import top .ibase4j .core .base .BaseServiceImpl ;
23
22
* @version 2016年5月20日 下午3:19:19
24
23
*/
25
24
@ CacheConfig (cacheNames = "sysMenu" )
26
- @ Service (interfaceClass = SysMenuService .class )
27
25
@ MotanService (interfaceClass = SysMenuService .class )
28
26
public class SysMenuServiceImpl extends BaseServiceImpl <SysMenu , SysMenuMapper > implements SysMenuService {
29
27
@ Autowired
@@ -50,90 +48,58 @@ public List<SysMenu> queryList(Map<String, Object> params) {
50
48
params .put ("orderBy" , "parent_id,sort_no" );
51
49
List <SysMenu > pageInfo = super .queryList (params );
52
50
Map <String , String > menuTypeMap = sysDicService .queryDicByType ("MENUTYPE" );
53
- Map <Long , Integer > leafMap = InstanceUtil .newHashMap ();
54
51
List <SysMenu > resultList = InstanceUtil .newArrayList ();
55
52
Map <Long , List <SysMenu >> map = InstanceUtil .newHashMap ();
56
53
for (SysMenu sysMenu : pageInfo ) {
57
54
if (sysMenu != null ) {
58
55
if (sysMenu .getMenuType () != null ) {
59
56
sysMenu .setTypeName (menuTypeMap .get (sysMenu .getMenuType ().toString ()));
60
57
}
61
- if (leafMap .get (sysMenu .getParentId ()) == null ) {
62
- leafMap .put (sysMenu .getParentId (), 0 );
63
- }
64
- leafMap .put (sysMenu .getParentId (), leafMap .get (sysMenu .getParentId ()) + 1 );
65
- if (map .get (sysMenu .getParentId ()) == null ) {
66
- map .put (sysMenu .getParentId (), new ArrayList <SysMenu >());
67
- }
68
- map .get (sysMenu .getParentId ()).add (sysMenu );
69
58
if (sysMenu .getParentId () == null || sysMenu .getParentId () == 0 ) {
70
59
resultList .add (sysMenu );
60
+ } else {
61
+ if (map .get (sysMenu .getParentId ()) == null ) {
62
+ map .put (sysMenu .getParentId (), new ArrayList <SysMenu >());
63
+ }
64
+ map .get (sysMenu .getParentId ()).add (sysMenu );
71
65
}
72
66
}
73
67
}
74
68
for (SysMenu sysMenu : pageInfo ) {
75
69
if (sysMenu != null ) {
76
- if (leafMap .get (sysMenu .getId ()) != null && leafMap .get (sysMenu .getId ()) > 0 ) {
77
- sysMenu .setLeaf (0 );
78
- }
79
70
if (map .get (sysMenu .getId ()) != null ) {
71
+ sysMenu .setLeaf (0 );
80
72
resultList .addAll (resultList .indexOf (sysMenu ) + 1 , map .get (sysMenu .getId ()));
81
73
}
82
74
}
83
75
}
84
-
85
76
return resultList ;
86
77
}
87
78
88
79
@ Override
89
80
public List <Object > queryTreeList (Map <String , Object > params ) {
90
- params .put ("orderBy" , "parent_id,sort_no" );
91
- List <SysMenu > pageInfo = super .queryList (params );
92
- Map <String , String > menuTypeMap = sysDicService .queryDicByType ("MENUTYPE" );
81
+ List <SysMenu > menuList = queryList (params );
93
82
Map <String , Object > dicParam = InstanceUtil .newHashMap ();
94
83
dicParam .put ("type" , "CRUD" );
84
+ dicParam .put ("orderBy" , "sort_no" );
95
85
List <SysDic > sysDics = sysDicService .queryList (dicParam );
96
- Map <Long , Integer > leafMap = InstanceUtil .newHashMap ();
97
86
List <Object > resultList = InstanceUtil .newArrayList ();
98
- Map <Long , List <SysMenu >> map = InstanceUtil .newHashMap ();
99
- for (SysMenu sysMenu : pageInfo ) {
100
- if (sysMenu != null ) {
101
- if (sysMenu .getMenuType () != null ) {
102
- sysMenu .setTypeName (menuTypeMap .get (sysMenu .getMenuType ().toString ()));
103
- }
104
- if (leafMap .get (sysMenu .getParentId ()) == null ) {
105
- leafMap .put (sysMenu .getParentId (), 0 );
106
- }
107
- leafMap .put (sysMenu .getParentId (), leafMap .get (sysMenu .getParentId ()) + 1 );
108
- if (map .get (sysMenu .getParentId ()) == null ) {
109
- map .put (sysMenu .getParentId (), new ArrayList <SysMenu >());
110
- }
111
- map .get (sysMenu .getParentId ()).add (sysMenu );
112
- if (sysMenu .getParentId () == null || sysMenu .getParentId () == 0 ) {
113
- resultList .add (sysMenu );
114
- }
115
- }
116
- }
117
- for (SysMenu sysMenu : pageInfo ) {
87
+ resultList .addAll (menuList );
88
+ for (SysMenu sysMenu : menuList ) {
118
89
if (sysMenu != null ) {
119
- if (map .get (sysMenu .getId ()) != null ) {
120
- resultList .addAll (resultList .indexOf (sysMenu ) + 1 , map .get (sysMenu .getId ()));
121
- }
122
- }
123
- }
124
- for (SysMenu sysMenu : pageInfo ) {
125
- if (sysMenu != null ) {
126
- if (leafMap .get (sysMenu .getId ()) != null && leafMap .get (sysMenu .getId ()) > 0 ) {
127
- sysMenu .setLeaf (0 );
128
- } else {
90
+ if (sysMenu .getLeaf () != 0 ) {
129
91
List <Map <String , Object >> dicMaps = InstanceUtil .newArrayList ();
130
92
for (SysDic sysDic : sysDics ) {
131
93
if (!"read" .equals (sysDic .getCode ())) {
132
- Map <String , Object > dicMap = InstanceUtil .transBean2Map (sysDic );
133
- dicMap .put ("id" , "D" + sysDic .getId ());
134
- dicMap .put ("menuName" , sysDic .getCodeText ());
135
- dicMap .put ("parentId" , sysMenu .getId ().toString ());
136
- dicMaps .add (dicMap );
94
+ if ("add" .equals (sysDic .getCode ()) || "update" .equals (sysDic .getCode ())
95
+ || "delete" .equals (sysDic .getCode ())
96
+ || "sys.task.scheduled" .equals (sysMenu .getPermission ())) {
97
+ Map <String , Object > dicMap = InstanceUtil .transBean2Map (sysDic );
98
+ dicMap .put ("id" , "D" + sysDic .getId ());
99
+ dicMap .put ("menuName" , sysDic .getCodeText ());
100
+ dicMap .put ("parentId" , sysMenu .getId ().toString ());
101
+ dicMaps .add (dicMap );
102
+ }
137
103
}
138
104
}
139
105
resultList .addAll (resultList .indexOf (sysMenu ) + 1 , dicMaps );
0 commit comments