/// <summary>
        /// account 人员离职,删除后删除相应人员的绑定信息
        /// </summary>
        /// <param name="tenantId"></param>
        /// <param name="userId"></param>
        public void UnBindInfo(int tenantId, int userId)
        {
            var filter = new BooleanFilter()
                         .Must(new TermFilter(UserInfoMappingConstants.UserInfo_ISVTenantId, tenantId))
                         .Must(new TermFilter(UserInfoMappingConstants.UserInfo_StaffId, userId))
                         .Must(new TermFilter(UserInfoMappingConstants.UserInfo_SuiteKey, SystemInfo.SuiteKey));

            var metaobj      = CloudDataHelper.GetMetaObject(tenantId, UserInfoMappingConstants.MetaName);
            var userInfoList = CloudDataHelper.GetEntityAllList(UserInfoMappingConstants.MetaName, tenantId, filter).ToList();

            if (userInfoList != null && userInfoList.Any())
            {
                userInfoList.ForEach(n =>
                {
                    n["Status"] = (int)BindStatusEnum.unbind;
                });
                CloudDataHelper.Update(metaobj, userInfoList);
            }

            var sysMetaObj      = CloudDataHelper.GetMetaObject(SystemInfo.ISVSystemTenantId, UserInfoMappingConstants.MetaName);
            var sysUserInfoList = CloudDataHelper.GetEntityAllList(UserInfoMappingConstants.MetaName, SystemInfo.ISVSystemTenantId, filter).ToList();

            if (sysUserInfoList != null && sysUserInfoList.Any())
            {
                sysUserInfoList.ForEach(n =>
                {
                    n["Status"] = (int)BindStatusEnum.unbind;
                });
                CloudDataHelper.Update(sysMetaObj, sysUserInfoList);
            }
        }
Пример #2
0
        private static ObjectData IsExistLogin(int tenantId, AppUserAccountInfo appUserAccountInfo)
        {
            ApplicationContext.Current.ApplicationName = AppUserConstants.MetaName;
            ApplicationContext.Current.TenantId        = tenantId;
            ApplicationContext.Current.UserId          = appUserAccountInfo.UserId;
            ObjectData objectData = new ObjectData();
            var        filter     = new BooleanFilter()
                                    .Must(new TermFilter(AppUserConstants.AppUser_AppId, appUserAccountInfo.AppId))
                                    .Must(new TermFilter(AppUserConstants.AppUser_OpenId, appUserAccountInfo.OpenId));
            // .Must(new TermFilter(AppUserConstants.AppUser_UserId, appUserAccountInfo.UserId));
            var result = CloudDataHelper.GetEntityAllList("AppConnect.AppUser", tenantId, filter).ToList();

            if (result != null && result.Count > 0)
            {
                if (result.Count > 1)
                {
                    AppConnectLogHelper.Error("AppId下面的OpenId个数大于一个!appUserAccountInfo:" + JsonConvert.SerializeObject(appUserAccountInfo));
                    objectData = null;
                }
                else
                {
                    objectData = result.First();
                }
            }
            else
            {
                objectData = null;
            }
            return(objectData);
        }
        public void updateStatus(int tenantId, string[] userMappingInfoId)
        {
            var metaobj             = CloudDataHelper.GetMetaObject(tenantId, UserInfoMappingConstants.MetaName);
            var userMappingInfoList = CloudDataHelper.GetEntityListByIds(UserInfoMappingConstants.MetaName, tenantId, userMappingInfoId).ToList();

            if (userMappingInfoList != null && userMappingInfoList.Any())
            {
                foreach (var item in userMappingInfoList)
                {
                    item["Status"] = (int)BindStatusEnum.unbind;
                    CloudDataHelper.Update(metaobj, new List <ObjectData> {
                        item
                    });

                    //解绑公共租户数据
                    var filter = new BooleanFilter()
                                 .Must(new TermFilter(UserInfoMappingConstants.UserInfo_StaffId, Convert.ToInt32(item["StaffId"])))
                                 .Must(new TermFilter(UserInfoMappingConstants.UserInfo_SuiteKey, SystemInfo.SuiteKey))
                                 .Must(new TermFilter(UserInfoMappingConstants.UserInfo_CorpId, Convert.ToString(item["CorpId"])))
                                 .Must(new TermFilter(UserInfoMappingConstants.UserInfo_AppId, Convert.ToString(item["AppId"])))
                                 .Must(new TermFilter(UserInfoMappingConstants.UserInfo_Status, (int)BindStatusEnum.bind));

                    var sysMetaobj      = CloudDataHelper.GetMetaObject(SystemInfo.ISVSystemTenantId, UserInfoMappingConstants.MetaName);
                    var sysUserInfoList = CloudDataHelper.GetEntityAllList(UserInfoMappingConstants.MetaName, SystemInfo.ISVSystemTenantId, filter).ToList().FirstOrDefault();
                    sysUserInfoList["Status"] = (int)BindStatusEnum.unbind;
                    CloudDataHelper.Update(sysMetaobj, new List <ObjectData> {
                        sysUserInfoList
                    });
                }
            }
        }
Пример #4
0
        /// <summary>
        /// 删除数据记录(Cloud)
        /// </summary>
        /// <param name="tenantId"></param>
        /// <param name="userId"></param>
        internal static void DeleteCLoud(int tenantId, int userId)
        {
            ApplicationContext.Current.ApplicationName = "AppConnect";
            ApplicationContext.Current.TenantId        = tenantId;
            ApplicationContext.Current.UserId          = userId;
            var filter = new BooleanFilter()
                         .Must(new TermFilter(AppUserConstants.AppUser_UserId, userId));
            var resultList    = CloudDataHelper.GetEntityAllList("AppConnect.AppUser", tenantId, filter);
            var objectDataIds = resultList.Select(t => Convert.ToString(t.ID));

            CloudDataHelper.Delete("AppConnect.AppUser", tenantId, objectDataIds.ToArray());
        }
        public void DeletedUIBuilderComponentTest()
        {
            ApplicationContext.Current.ApplicationName = AppUserConstants.ApplicationName;
            ApplicationContext.Current.TenantId        = 100002;
            ApplicationContext.Current.UserId          = 112737565;
            var aa      = CloudDataHelper.GetEntityAllList(AppUserConstants.MetaName, 100002).ToList();
            var oidList = CloudDataHelper.GetEntityAllList(AppUserConstants.MetaName, 100002).Select(s => s.ID.ToString()).ToArray();

            CloudDataHelper.Delete(AppUserConstants.MetaName, 100002, oidList.ToArray());

            //  var oidList = CloudDataHelper.GetEntityAllList(UPaasPortalApp.UIBuilderComponentMetaName, TenantId).ToArray();
            // CloudDataHelper.Delete(AppUserConstants.MetaName, 100002, "1cfedd2b-2035-46c3-8a30-9e126ed681c4");
        }
Пример #6
0
        private static List <ObjectData> GetMultiTenantData(int tenantId)
        {
            var sortString = string.Format("{0}.{1}", "AppConnect.AppUser", "SqlId");
            Dictionary <string, SortDirection> sortFields = new Dictionary <string, SortDirection>();

            sortFields.Add(sortString, SortDirection.Asc);
            var list = CloudDataHelper.GetEntityAllList("AppConnect.AppUser", tenantId, sortFields: sortFields);

            if (list == null)
            {
                return(null);
            }
            return(list.ToList());
        }
Пример #7
0
 internal static List <ObjectData> GetAppUserList(int tenantId, string ids)
 {
     if (!string.IsNullOrWhiteSpace(ids))
     {
         var filter = new BooleanFilter()
                      .Must(new TermsFilter("_id", ids.Split(',').ToArray()))
                      .Must(new TermFilter("AppConnect.AppUser.StdIsDeleted", false));
         var result = CloudDataHelper.GetEntityAllList("AppConnect.AppUser", tenantId, filter);
         return(result.ToList());
     }
     else
     {
         return(null);
     }
 }
        public void DeletedAllTenantId()
        {
            var appUserAccountInfos = GetAppUserAccountInSql();

            if (appUserAccountInfos != null && appUserAccountInfos.Count > 0)
            {
                var tenantIds = GetTenantId(appUserAccountInfos);
                if (tenantIds != null && tenantIds.Count > 0)
                {
                    foreach (var tenantId in tenantIds)
                    {
                        ApplicationContext.Current.ApplicationName = AppUserConstants.ApplicationName;
                        ApplicationContext.Current.TenantId        = tenantId;
                        ApplicationContext.Current.UserId          = 112737565;
                        var oidList = CloudDataHelper.GetEntityAllList(AppUserConstants.MetaName, tenantId).Select(s => s.ID.ToString()).ToArray();
                        CloudDataHelper.Delete(AppUserConstants.MetaName, tenantId, oidList.ToArray());
                    }
                }
            }
        }
        public bool VerifyAppAccount(int tenantId, string agentId, string appSecret)
        {
            var result = false;
            //添加去重条件:AgentId、AppSecret
            //思路:根据AgentId过滤多租赁,数据为空,继续根据AppSecret过滤多租赁,数据为空,则没有重复,继续之后的保存、更新操作
            var agentIdFilter = new BooleanFilter()
                                .Must(new TermFilter(AppAccount.AppAccount_AgentId, agentId));
            var appAccountList = CloudDataHelper.GetEntityAllList(AppAccount.MetaName, tenantId, agentIdFilter).ToList();

            if (appAccountList.Count <= 0)
            {
                var appSecretFilter = new BooleanQuery()
                                      .Must(new MatchQuery(AppAccount.AppAccount_AppSecret, appSecret));
                var appAccount = CloudDataHelper.GetEntityAllList(AppAccount.MetaName, tenantId, queryJson: ElasticSearchSerialization.Serialize(appSecretFilter)).ToList();
                if (appAccount.Count <= 0)
                {
                    result = true;
                }
            }

            return(result);
        }
Пример #10
0
 public static void RunRepair_UserId(List <int> tenantIdList, string metaObjectName, ref string message)
 {
     foreach (var tenantId in tenantIdList)
     {
         try
         {
             BeisenUserDao.SetContext(tenantId);
             message += string.Format("租户:{tenantId} 开始处理\r\n");
             var userInfoMappingList = CloudDataHelper.GetEntityAllList(metaObjectName, tenantId).ToList();
             var count = userInfoMappingList.Count;
             if (!userInfoMappingList.Any())
             {
                 message += string.Format("租户:{tenantId} 处理完毕,共处理{0}条数据 \r\n");
                 continue;
             }
             int tempId = 0;
             foreach (var item in userInfoMappingList)
             {
                 item["StaffId"] = item["UserId"];
                 tempId++;
             }
             if (tempId > 0)
             {
                 var metaobj = CloudDataHelper.GetMetaObject(tenantId, metaObjectName);
                 CloudDataHelper.Update(metaobj, userInfoMappingList);
             }
             message += string.Format("租户:{tenantId} 处理完毕,UserInfo映射信息共{count}条记录,处理{tempId}条数据 \r\n");
         }
         catch (Exception ex)
         {
             message += string.Format("租户:{tenantId} 修复数据失败!\r\n");
             logger.ErrorFormat(message, ex);
             MessageBox.Show(message);
             return;
         }
     }
 }