|
|
@@ -10,6 +10,7 @@ namespace RMYY_CallCenter_Api.Controllers
|
|
10
|
10
|
{
|
|
11
|
11
|
public class IndexController : BaseController
|
|
12
|
12
|
{
|
|
|
13
|
+ private Bll.T_Sys_Menu menbll = new Bll.T_Sys_Menu();
|
|
13
|
14
|
// GET: Index
|
|
14
|
15
|
/// <summary>
|
|
15
|
16
|
/// 获取当前用户
|
|
|
@@ -27,14 +28,14 @@ namespace RMYY_CallCenter_Api.Controllers
|
|
27
|
28
|
/// <returns></returns>
|
|
28
|
29
|
public ActionResult GetMenu()
|
|
29
|
30
|
{
|
|
|
31
|
+ var dt = new DataTable();
|
|
30
|
32
|
var Menus = CacheHelper.Get<DataTable>("RoleMenus_" + User.F_RoleId);
|
|
31
|
33
|
if (Menus != null)
|
|
32
|
34
|
{
|
|
33
|
|
- return Success("成功", Menus);
|
|
|
35
|
+ dt = Menus;
|
|
34
|
36
|
}
|
|
35
|
37
|
else
|
|
36
|
38
|
{
|
|
37
|
|
- var dt = new DataTable();
|
|
38
|
39
|
if (User.F_UserCode == "8000")
|
|
39
|
40
|
{
|
|
40
|
41
|
dt = DB.DbHelperSQL.Query("select * FROM T_Sys_Menu m with(nolock) where F_State=1 ").Tables[0];
|
|
|
@@ -44,10 +45,29 @@ namespace RMYY_CallCenter_Api.Controllers
|
|
44
|
45
|
dt = DB.DbHelperSQL.Query("select m.* FROM T_Sys_RoleMenu rm with(nolock) left join T_Sys_Menu m with(nolock) on rm.F_MenuId=m.F_MenuId where m.F_State=1 and rm.RoleId=" + User.F_RoleId + " and isnull(m.F_Action,'')!='' ").Tables[0];
|
|
45
|
46
|
}
|
|
46
|
47
|
|
|
47
|
|
- CacheHelper.Insert("RoleMenus_" + User.F_RoleId, dt, 10);
|
|
|
48
|
+ CacheHelper.Insert("RoleMenus_" + User.F_RoleId, dt, 10);
|
|
|
49
|
+
|
|
|
50
|
+ }
|
|
|
51
|
+ List<Model.T_Sys_Menu> moduleInfoList = menbll.DataTableToList(dt);
|
|
|
52
|
+ moduleInfoList.Sort((x, y) => x.F_Sort ?? 0 - y.F_Sort ?? 0);
|
|
|
53
|
+ return Success("获取符合权限的菜单", TreeRecursion(moduleInfoList));
|
|
|
54
|
+ }
|
|
48
|
55
|
|
|
49
|
|
- return Success("成功", dt);
|
|
|
56
|
+
|
|
|
57
|
+ private List<Model.T_Sys_Menu> TreeRecursion(List<Model.T_Sys_Menu> data, string parentId = "0")
|
|
|
58
|
+ {
|
|
|
59
|
+ List<Model.T_Sys_Menu> newList = new List<Model.T_Sys_Menu>();
|
|
|
60
|
+ List<Model.T_Sys_Menu> item = data.FindAll(t => t.F_ParentId.ToString() == parentId);//data建议在调用此扩展方法前已经排序过
|
|
|
61
|
+ if (item.Count > 0)
|
|
|
62
|
+ {
|
|
|
63
|
+ foreach (Model.T_Sys_Menu entity in item)
|
|
|
64
|
+ {
|
|
|
65
|
+ entity.children = TreeRecursion(data, entity.F_MenuId.ToString());
|
|
|
66
|
+ newList.Add(entity);
|
|
|
67
|
+ }
|
|
50
|
68
|
}
|
|
|
69
|
+
|
|
|
70
|
+ return newList;
|
|
51
|
71
|
}
|
|
52
|
72
|
|
|
53
|
73
|
/// <summary>
|