public async Task <List <ModuleFieldsEntity> > GetFieldsList(string roleId)
        {
            var data = new List <ModuleFieldsEntity>();

            if (currentuser.IsSystem)
            {
                data = await moduleFieldsApp.GetListNew();
            }
            else
            {
                var fieldsdata = await moduleFieldsApp.GetListNew();

                var role = await uniwork.FindEntity <RoleEntity>(roleId);

                if (role == null || role.F_EnabledMark == false)
                {
                    return(data);
                }
                var authorizedata = (await repository.CheckCacheList(cacheKey + "list")).Where(t => t.F_ObjectId == roleId && t.F_ItemType == 3).ToList();
                foreach (var item in authorizedata)
                {
                    ModuleFieldsEntity moduleFieldsEntity = fieldsdata.Find(t => t.F_Id == item.F_ItemId && t.F_IsPublic == false);
                    if (moduleFieldsEntity != null)
                    {
                        data.Add(moduleFieldsEntity);
                    }
                }
                data.AddRange(fieldsdata.Where(a => a.F_IsPublic == true));
            }
            return(data.OrderByDescending(t => t.F_CreatorTime).ToList());
        }