83 lines
3.5 KiB
C#
83 lines
3.5 KiB
C#
|
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
|
|||
|
{ }
|
|||
|
}
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 获取缓存
|
|||
|
/// </summary>
|
|||
|
/// <returns></returns>
|
|||
|
private List<string> FindforbidApplyFriendInfos()
|
|||
|
{
|
|||
|
var results = ApiClient.Cache.Get<List<string>>(user_fission_cache);//根据KEY、获得缓存
|
|||
|
if (results == null)
|
|||
|
{
|
|||
|
results = new List<string>();
|
|||
|
ApiClient.Cache.Set(user_fission_cache, results, 60);
|
|||
|
}
|
|||
|
return results;
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|