using Api.Framework; using Api.Framework.SDK; using Api.Framework.Utils; using Chat.Framework; using CsharpHttpHelper; using System; using System.Collections.Generic; using System.Linq; using UserFission.Entitys; namespace UserFission { class AdoptApplyFriendThread : TimerTask { private string user_fission_cache = "user_fission_cache"; public override void Run(object state, bool timedOut)//DOTO 这里还有问题,以前留下来的请求token,再次请求会出现未将对象实例化的问题.我将其个这个请求给删除了 { try { //var session = ApiClient.GetSession(); //var clients = Chat.Framework.ChatClient.WXClient.Values.Where(f=>f.Status == Chat.Framework.WXSdk.WxStatus.在线).ToList(); //var clients = Chat.Framework.ChatClient.WXClient.Values;//获取所有的机器人集合 //foreach (var item in friends) //{ // var client = clients.FirstOrDefault(f => f.User != null && f.WeixinHao == item.robot_name && f.Status == Chat.Framework.WXSdk.WxStatus.在线 && f.WeixinType == Chat.Framework.WXSdk.Implement.WeixinType.Grpc微信);//获取账号相符、在线类型为Grpc微信的微信, // if (client != null) // { // var values = FindforbidApplyFriendInfos();//获取需要等待的人 // if (values.FirstOrDefault(f => f == client.WeixinHao) != null) return;//查看缓存中是否存在该机器人 // string result = client.AgreeAddMe(HttpHelper.URLDecode(item.token)); // if (string.IsNullOrEmpty(result)) // { // item.state = "已接受"; // item.allow_time = DateTime.Now; // session.Update(item); // break; // } // else // { // item.state = "已接受"; // item.allow_time = DateTime.Now; // session.Update(item); // break; // } // //由于判断有问题,导致无限请求,暂时先给你注释掉 // //else if (result == "未将对象实例化") // //{ // // session.Delete(item); // //} // //else if (result.Contains("操作过于频繁") || result.Contains("不满足指定条件"))//token 不满足指定条件 // //{ // // values.Add(client.WeixinHao); // // ApiClient.Cache.Set(user_fission_cache, values, 60); // //} // } //} } catch { } } /// /// 获取缓存 /// /// private List FindforbidApplyFriendInfos() { var results = ApiClient.Cache.Get>(user_fission_cache);//根据KEY、获得缓存 if (results == null) { results = new List(); ApiClient.Cache.Set(user_fission_cache, results, 60); } return results; } } }