/// <summary> /// 获取用户分组ID测试 /// </summary> public static void GetUserGroupIdTest() { IMpClient mpClient = new MpClient(); AccessTokenGetRequest request = new AccessTokenGetRequest() { AppIdInfo = new AppIdInfo() { AppID = appId, AppSecret = appSecret } }; AccessTokenGetResponse response = mpClient.Execute(request); if (response.IsError) { Console.WriteLine("获取令牌环失败.."); return; } GetUserGroupRequest request2 = new GetUserGroupRequest() { AccessToken = response.AccessToken.AccessToken, UserId = "oSFK4t4xIdeddd4wpxXaUmtKKpMA" }; var response2 = mpClient.Execute(request2); if (response2.IsError) { Console.WriteLine("查询用户分组ID失败,错误信息为:" + response2.ErrInfo.ErrCode + "-" + response2.ErrInfo.ErrMsg); } else { Console.WriteLine("查询用户分组ID成功,分组ID为:" + response2.GroupId); } }
/// <summary> /// 获取用户分组ID /// </summary> public static GetUserGroupResponse GetUserGroupId(string userId) { try { IMpClient mpClient = new MpClient(); var request = new AccessTokenGetRequest() { AppIdInfo = new AppIdInfo() { AppId = AppId, AppSecret = AppSecret } }; var response = mpClient.Execute(request); if (response.IsError) { return(null); } var request2 = new GetUserGroupRequest() { AccessToken = response.AccessToken.AccessToken, UserId = userId }; return(mpClient.Execute(request2)); } catch (Exception ex) { LogHelper.WriteLog(typeof(UserGroupOperation), ex); throw new Exception(ex.Message); } }
public GetUserGroupResponse Any(GetUserGroupRequest request) { GetUserGroupResponse resp = new GetUserGroupResponse(); using (var con = this.TenantDbFactory.ObjectsDB.GetNewConnection()) { con.Open(); string sql = ""; if (request.id > 0) { sql = @"SELECT id,name,description FROM eb_usergroup WHERE id = @id; SELECT id,firstname FROM eb_users WHERE id IN(SELECT userid FROM eb_user2usergroup WHERE groupid = @id AND eb_del = FALSE)"; DbParameter[] parameters = { this.TenantDbFactory.ObjectsDB.GetNewParameter("id", System.Data.DbType.Int32, request.id) }; var ds = this.TenantDbFactory.ObjectsDB.DoQueries(sql, parameters); Dictionary <string, object> result = new Dictionary <string, object>(); foreach (var dr in ds.Tables[0].Rows) { result.Add("name", dr[1].ToString()); result.Add("description", dr[2].ToString()); } List <int> users = new List <int>(); if (ds.Tables.Count > 1) { foreach (EbDataRow dr in ds.Tables[1].Rows) { users.Add(Convert.ToInt32(dr[0])); result.Add(dr[0].ToString(), dr[1]); } result.Add("userslist", users); } resp.Data = result; } else { sql = "SELECT id,name FROM eb_usergroup"; var dt = this.TenantDbFactory.ObjectsDB.DoQueries(sql); Dictionary <string, object> returndata = new Dictionary <string, object>(); foreach (EbDataRow dr in dt.Tables[0].Rows) { returndata[dr[0].ToString()] = dr[1].ToString(); } resp.Data = returndata; } } return(resp); }