Пример #1
0
        public async Task <object> GetMenuByIds(string ids)
        {
            var data = await _menuSvc.Query();

            var menuList = await _menuSvc.GetDataByids(ids, data);

            for (int i = 0; i < menuList.Count; i++)
            {
                menuList[i].ParentName = menuList[i].ParentId.HasValue ? (data.FirstOrDefault(s => s.Id == menuList[i].ParentId).MenuName) : "";
            }

            var menuList1 = menuList.Where(s => !s.ParentId.HasValue).OrderBy(s => s.Index).ToList(); //获取一级菜单(顶部)

            for (int i = 0; i < menuList1.Count; i++)
            {
                var menuList2 = menuList.Where(s => s.ParentId == menuList1[i].Id).OrderBy(s => s.Index).ToList(); //获取二级菜单

                for (int j = 0; j < menuList2.Count; j++)
                {
                    menuList2[j].Children = menuList.Where(s => s.ParentId == menuList2[j].Id).OrderBy(s => s.Index).ToList(); //获取三级菜单
                }
                menuList1[i].Children = menuList2;
            }

            return(new MessageModel <object>()
            {
                Response = menuList1,
                Success = true,
                Message = "获取成功"
            });
        }
Пример #2
0
        /// <summary>
        /// 数据库基础表数据导出到json文件
        /// </summary>
        /// <param name="tableName">指定表名称</param>
        /// <param name="path">存放路径</param>
        /// <returns></returns>
        public async Task <string> ExportTable(string tableName, string path)
        {
            string outPaths = string.Empty;
            Dictionary <string, string> dic = new Dictionary <string, string>();

            switch (tableName.ToLower())
            {
            case "user":
                dic.Add(typeof(User).Name, JsonHelper.JSON(await _userSvc.Query()));
                break;

            case "dept":
                dic.Add(typeof(Dept).Name, JsonHelper.JSON(await _deptSvc.Query()));
                break;

            case "role":
                dic.Add(typeof(Role).Name, JsonHelper.JSON(await _roleSvc.Query()));
                break;

            case "menu":
                dic.Add(typeof(Menu).Name, JsonHelper.JSON(await _menuSvc.Query()));
                break;

            case "tasksqz":
                dic.Add(typeof(TasksQz).Name, JsonHelper.JSON(await _tasksQzSvc.Query()));
                break;

            default:
                dic.Add(typeof(User).Name, JsonHelper.JSON(await _userSvc.Query()));
                dic.Add(typeof(Dept).Name, JsonHelper.JSON(await _deptSvc.Query()));
                dic.Add(typeof(Role).Name, JsonHelper.JSON(await _roleSvc.Query()));
                dic.Add(typeof(Menu).Name, JsonHelper.JSON(await _menuSvc.Query()));
                dic.Add(typeof(TasksQz).Name, JsonHelper.JSON(await _tasksQzSvc.Query()));
                break;
            }

            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }

            foreach (var item in dic)
            {
                string filePath = Path.Combine(path, $@"{item.Key}.json");

                using (FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.ReadWrite))
                {
                    fs.SetLength(0); //清空文件内容
                    using (StreamWriter sw = new StreamWriter(fs, Encoding.UTF8))
                    {
                        sw.WriteLine(item.Value);
                    }
                }

                outPaths += $"表{item.Key}-数据生成:{filePath} || ";
            }
            return(outPaths[0..^ 4]);
Пример #3
0
        public async Task <object> GetLoginByToken(string token)
        {
            var data           = new MessageModel <LoginViewModel>();
            var loginViewModel = new LoginViewModel();

            if (!string.IsNullOrEmpty(token))
            {
                var tokenModel = JwtHelper.SerializeJwt(token);
                if (tokenModel != null && tokenModel.Id > 0)
                {
                    var model = await _userSvc.QueryById(tokenModel.Id);

                    if (model != null)
                    {
                        loginViewModel = _mapper.Map <LoginViewModel>(model);

                        if (model.RoleIds != "")
                        {
                            var roleList = await _roleSvc.GetDataByids(model.RoleIds);

                            loginViewModel.RoleInfoList = _mapper.Map <IList <Role>, IList <RoleViewModel> >(roleList);

                            var menuIds = roleList.Select(s => s.MenuIds).ToList().JoinToString(",");

                            var menuData = await _menuSvc.Query();

                            var menuList = await _menuSvc.GetDataByids(menuIds, menuData);

                            if (menuList.Count > 0)
                            {
                                for (int i = 0; i < menuList.Count; i++)
                                {
                                    menuList[i].ParentName = menuList[i].ParentId.HasValue ? (menuData.FirstOrDefault(s => s.Id == menuList[i].ParentId).MenuName) : "";
                                }

                                var menuList1 = menuList.Where(s => !s.ParentId.HasValue).OrderBy(s => s.Index).ToList(); //获取一级菜单(顶部)
                                for (int i = 0; i < menuList1.Count; i++)
                                {
                                    var menuList2 = menuList.Where(s => s.ParentId == menuList1[i].Id).OrderBy(s => s.Index).ToList(); //获取二级菜单

                                    for (int j = 0; j < menuList2.Count; j++)
                                    {
                                        menuList2[j].Children = menuList.Where(s => s.ParentId == menuList2[j].Id).OrderBy(s => s.Index).ToList(); //获取三级菜单
                                    }
                                    menuList1[i].Children = menuList2;
                                }

                                loginViewModel.MenuInfoList = _mapper.Map <IList <Menu>, IList <MenuViewModel> >(menuList1);

                                data.Success  = true;
                                data.Message  = "登陆成功";
                                data.Response = loginViewModel;
                            }
                            else
                            {
                                data.Message = "该角色没有绑定菜单!";
                            }
                        }
                        else
                        {
                            data.Message = "该用户没有绑定角色!";
                        }
                    }
                    else
                    {
                        data.Message = "该用户不存在,请核实!";
                    }
                }
            }
            return(data);
        }