/// <summary> /// 获取群列表 /// </summary> /// <param name="package"></param> /// <returns></returns> public static Model.GetGroupListPackage GetGroupListPackage(Model.GetGroupListPackage package) { var resp = new Util.Webs.Clients.WebClient().Post(IMServiceURL.GetGroupList) .Header("token", SDKClient.Instance.property.CurrentAccount.token) .Header("signature", Util.Helpers.Encrypt.Md5By32(SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks + ProtocolBase.ImLinkSignUri)) .Header("version", SDKClient.Instance.property.CurrentAccount.httpVersion ?? "1.0") .Header("timeStamp", SDKClient.Instance.property.CurrentAccount.lastlastLoginTime.Value.Ticks) .JsonData <Model.GetGroupListPackage>(package) .OnFail((s, c) => SDKClient.logger.Error($"GetMyGroupList 调用失败: {s},错误码:{(int)c}")) .ContentType(Util.Webs.Clients.HttpContentType.Json) .ResultFromJson <Model.GetGroupListPackage>(); return(resp); }
public static async Task InsertGroupInfo(Model.GetGroupListPackage getGroupListPackage) { List <DB.GroupInfo> lst = new List <DB.GroupInfo>(); var glist = await SDKProperty.SQLiteConn.Table <DB.GroupInfo>().ToListAsync(); foreach (var group in getGroupListPackage.data.items.adminGroup) { var model = glist.Find(g => g.groupId == group.groupId); if (model != null) { continue; } GetGroupPackage package = new GetGroupPackage() { data = new Model.GetGroupPackage.Data() { groupId = group.groupId, item = group } }; DB.GroupInfo info = new DB.GroupInfo() { getGroupPackage = Util.Helpers.Json.ToJson(package), groupId = group.groupId }; lst.Add(info); } foreach (var group in getGroupListPackage.data.items.joinGroup) { var model = glist.Find(g => g.groupId == group.groupId); if (model != null) { continue; } GetGroupPackage package = new GetGroupPackage() { data = new Model.GetGroupPackage.Data() { groupId = group.groupId, item = group } }; DB.GroupInfo info = new DB.GroupInfo() { getGroupPackage = Util.Helpers.Json.ToJson(package), groupId = group.groupId }; lst.Add(info); } foreach (var group in getGroupListPackage.data.items.ownerGroup) { var model = glist.Find(g => g.groupId == group.groupId); if (model != null) { continue; } GetGroupPackage package = new GetGroupPackage() { data = new Model.GetGroupPackage.Data() { groupId = group.groupId, item = group } }; DB.GroupInfo info = new DB.GroupInfo() { getGroupPackage = Util.Helpers.Json.ToJson(package), groupId = group.groupId }; lst.Add(info); } try { await SDKProperty.SQLiteConn.InsertAllAsync(lst); } catch (Exception) { } }
public static async Task UpdateGroupInfo(Model.GetGroupListPackage getGroupListPackage) { await DeleteGroupListPackage(); await InsertGroupInfo(getGroupListPackage); }