866 lines
46 KiB
C#
866 lines
46 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading;
|
|
using System.Threading.Tasks;
|
|
using Api.Framework;
|
|
using Api.Framework.Enums;
|
|
using Api.Framework.Model;
|
|
using Api.Framework.SDK;
|
|
using Api.Framework.Tools;
|
|
using BackupAndImport.速推客云端.Entitys;
|
|
using Chat.Framework.WXSdk.IPAD;
|
|
using CsharpHttpHelper;
|
|
using CsharpHttpHelper.Enum;
|
|
using Newtonsoft.Json.Linq;
|
|
using static BackupAndImport.速推客云端.EventLog;
|
|
|
|
namespace BackupAndImport.速推客云端
|
|
{
|
|
public class Stk
|
|
{
|
|
private string ck;
|
|
|
|
public Stk(string ck)
|
|
{
|
|
this.ck = ck;
|
|
}
|
|
|
|
#region 云端速推客导入
|
|
|
|
/// <summary>
|
|
/// 获取机器人列表
|
|
/// </summary>
|
|
/// <param name="robots"></param>
|
|
public void GetRobot(Dictionary<string, string> robots, int page = 1, int pageSize = 30)
|
|
{
|
|
var url = "http://yun.yunsutuike.com/page/robot/data.php?typeName=robotList&type=1&page=" + page + "&limit=" + pageSize;
|
|
var html = GetHtml(url);
|
|
|
|
#region 数据结构
|
|
//{"code":0,"msg":"","count":"4","data":[{"uid":"11","wx_img":"http:\/\/wx.qlogo.cn\/mmhead\/ver_1\/0SXNqzaIpVNdlUrezfv6Hlepsp6FMr1qWa13ozRFhCC2z8ntELjhPbHWficegATH7cRa71Ria7pFQXqxMAghswfpV3ZzdwvF3UGO1KkZvj2D8\/0","wx_type":"1","wx_id":"wxid_qhemii9dknvp22","wx_name":"A \u7701\u94b1\u7ba1\u5bb6 \u638f\u3001\u62fc\u3001\u4eac\u67e5\u8be2","gruop_name":"\u672a\u5206\u7ec4","km_user":"letee88","km_ip":"118.24.33.97","version":"2.0.6","remarks":null,"wx_number":"","km_expire_time":"2022-07-01 20:14:04","update_time":"2022-05-27 19:54:06","oauth":"\u65e0\/\u65e0\/22222\/\u65e0","status":0,"wx_version":"3.3.0","member_num":"4370"},{"uid":"6","wx_img":"http:\/\/wx.qlogo.cn\/mmhead\/ver_1\/9Pias2AZwGBYcuLlLUSiad23q9smXM8g3f9lQIc8EQoHo8ek0N0ODYUpg2eeYVDU4IAxJOic2ibdvVVHlocezEQOU7Esn7opz7KQ5HdaQBDJNFU\/0","wx_type":"1","wx_id":"wxid_scynpy2cpotu12","wx_name":"A \u5238\u9505\u513f\uff08\u638f\u3001\u62fc\u3001\u4eac\uff09","gruop_name":"\u672a\u5206\u7ec4","km_user":"letao879","km_ip":"118.24.33.97","version":"2.0.6","remarks":null,"wx_number":"","km_expire_time":"2023-04-02 09:01:17","update_time":"2022-05-27 19:54:09","oauth":"\u65e0\/\u65e0\/22222\/\u65e0","status":0,"wx_version":"3.3.0","member_num":"5451"},{"uid":"3","wx_img":"http:\/\/wx.qlogo.cn\/mmhead\/ver_1\/m6qtl2JnRJ3ibQV1t7jfetl9xXH0j3VGTjA1ZjQXUwicN5uYcwZVMNBrJiahR0veicj0MH6sAQVRHOYEzzWHVeuyQm5Q1roeRZtoUaxPlgj0tUc\/0","wx_type":"1","wx_id":"wxid_64arztvjyh512","wx_name":"A \u5238\u5927\u5927 ? \u638f\u62fc\u4eac24\u5c0f\u65f6\u67e5\u8be2","gruop_name":"\u672a\u5206\u7ec4","km_user":"18550782199","km_ip":"118.24.33.97","version":"2.0.6","remarks":null,"wx_number":"","km_expire_time":"2023-03-02 20:41:01","update_time":"2022-05-27 19:54:14","oauth":"\u65e0\/\u65e0\/22222\/\u65e0","status":0,"wx_version":"3.3.0","member_num":"4931"},{"uid":"1","wx_img":"http:\/\/wx.qlogo.cn\/mmhead\/ver_1\/4XBEJdC1ULpibibalNibS8N48h8UdKVnMtDwC4BcCjPeg9Hgjsk2czUuDajq98GaqicaBOGn2SwhhibKKucWibIG0qOHxKEH64Au1gczc7vaAE4Q0\/0","wx_type":"1","wx_id":"lzy1249923552","wx_name":"A\u5341\u7c73??\u5b9d\u770b\u670b\u53cb\u5708\u6f6e\u978b\u5728\u89c6\u9891\u53f7","gruop_name":"\u672a\u5206\u7ec4","km_user":"17312558003","km_ip":"120.242.233.249","version":"1.9.2","remarks":null,"wx_number":"","km_expire_time":"2022-02-10 13:22:34","update_time":"2022-02-09 23:48:08","oauth":"\u65e0\/\u65e0\/\u65e0\/\u65e0","status":2,"wx_version":"3.3.5","member_num":"4"}]}
|
|
#endregion
|
|
|
|
OnEvent(this, $"正在获取第{page}页机器人数据...");
|
|
|
|
var jObj = JObject.Parse(html);
|
|
var count = jObj["count"].Value<int>();//总用户数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
if (data.Length == 0) throw new Exception("不存在机器人,疑似没有任何数据");
|
|
|
|
OnEvent(this, $"获取第{page}页机器人数据成功");
|
|
|
|
foreach (var tmp in data)
|
|
{
|
|
robots[tmp["wx_id"].ToString()] = tmp["wx_type"].ToString();
|
|
}
|
|
|
|
if (count > (page * pageSize))
|
|
{
|
|
page++;
|
|
//Thread.Sleep(200);
|
|
GetRobot(robots, page, pageSize);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
OnEvent(this, $"正在获取机器人,第{page}页数据异常");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取机器人对应的用户列表
|
|
/// </summary>
|
|
/// <param name="robotname"></param>
|
|
/// <param name="memberInfos"></param>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void GetMembers(string robotname, List<STKMemberInfo> memberInfos, int page = 1, int pageSize = 100)
|
|
{
|
|
if (ReadLogIsContains(robotname))
|
|
{
|
|
OnEvent(this, $"机器人{robotname},执行过用户导入。跳过");
|
|
return;
|
|
}
|
|
|
|
OnEvent(this, $"正在获取机器人{robotname},第{page}页用户数据...");
|
|
var url = "http://yun.yunsutuike.com/page/member/data.php?typeName=getMemberNew&data={%22desc_name%22:%22create_time%22,%22create_time%22:%22%22,%22order_time_type%22:%22update_money_time%22,%22order_time%22:%22%22,%22group_name%22:%22all%22,%22robot_id%22:%22" + robotname + "%22,%22screen_type%22:%22all%22,%22screen_val_1%22:%22%22,%22screen_val_2%22:%22%22,%22search_type%22:%22all%22,%22search_val%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
#region 数据结构
|
|
|
|
//
|
|
|
|
#endregion
|
|
|
|
var jObj = JObject.Parse(html);
|
|
var count = jObj["count"].Value<int>();//总用户数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
OnEvent(this, $"获取机器人{robotname},第{page}页用户数据成功");
|
|
|
|
if (data.Length != 0)
|
|
{
|
|
var members = jObj["data"].ToObject<List<STKMemberInfo>>();
|
|
if (members != null)
|
|
memberInfos.AddRange(members);
|
|
|
|
if (count > (page * pageSize))
|
|
{
|
|
page++;
|
|
//Thread.Sleep(200);
|
|
GetMembers(robotname, memberInfos, page, pageSize);
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
OnEvent(this, $"正在获取机器人{robotname},第{page}页用户数据异常");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 插入用户数据到秒单客数据库(包括绑定上下级)
|
|
/// </summary>
|
|
/// <param name="STKMemberInfos"></param>
|
|
public void STKInsertMember(string robotname, ChatType chatType, List<STKMemberInfo> STKMemberInfos)
|
|
{
|
|
if (ReadLogIsContains(robotname))
|
|
{
|
|
OnEvent(this, $"机器人{robotname},执行过用户导入。跳过");
|
|
return;
|
|
}
|
|
|
|
var session = ApiClient.GetSession();
|
|
session.BeginTransaction();
|
|
try
|
|
{
|
|
//var srcMemberInfo = session.Find<fl_member_info>("select * from fl_member_info");
|
|
|
|
List<fl_member_info> unMemberInfos = new List<fl_member_info>();//保存不存在的用户对象
|
|
List<fl_member_info> memberInfos = new List<fl_member_info>();//保存存在的用户对象
|
|
|
|
foreach (var member in STKMemberInfos)
|
|
{
|
|
//TODO 这里就不判断企业微信了
|
|
var user = session.Queryable<fl_member_info>().First(f => f.robot_type == chatType && f.username == member.wx_id);
|
|
if (user == null)
|
|
{
|
|
user = new fl_member_info()
|
|
{
|
|
username = member.wx_id,
|
|
robot_type = ChatType.微信,
|
|
usernick = member.wx_name.Replace("'", "''"),
|
|
cur_point = string.IsNullOrWhiteSpace(member.effec_money) ? 0 : double.Parse(member.effec_money),
|
|
sum_point = string.IsNullOrWhiteSpace(member.take_money) ? 0 : double.Parse(member.take_money),
|
|
ext_point = string.IsNullOrWhiteSpace(member.take_money) ? 0 : double.Parse(member.take_money),
|
|
finish_order = member.order_num == "无" ? 0 : int.Parse(member.order_num),
|
|
robot_name = member.robot_name,
|
|
headurl = member.wx_img,
|
|
bind_order = member.order_num == "无" ? 0 : int.Parse(member.order_num),
|
|
remark = member.wx_note,
|
|
realnick = member.wx_name,
|
|
alipay_name = string.Empty,
|
|
alipay_num = string.Empty,
|
|
};
|
|
var groups = session.FindGroups();
|
|
if (groups.Count != 0)
|
|
user.group_id = groups[0].id;
|
|
unMemberInfos.Add(user);
|
|
}
|
|
else
|
|
{
|
|
user.cur_point = (double)((decimal)user.cur_point + (string.IsNullOrWhiteSpace(member.effec_money) ? 0m : decimal.Parse(member.effec_money)));
|
|
user.finish_order = user.finish_order + (member.order_num == "无" ? 0 : long.Parse(member.order_num));
|
|
|
|
if (string.IsNullOrWhiteSpace(user.robot_name))
|
|
{
|
|
user.robot_name = member.robot_id;
|
|
user.robot_type = chatType;
|
|
}
|
|
memberInfos.Add(user);
|
|
}
|
|
}
|
|
OnEvent(this, $"机器人{robotname},执行用户导入操作...");
|
|
|
|
var _num1 = (int)Math.Ceiling((decimal)unMemberInfos.Count / 1000m);
|
|
for (int o = 1; o <= _num1; o++)
|
|
{
|
|
var _list = unMemberInfos.Skip((o - 1) * 1000).Take(1000).ToList();
|
|
session.Insertable(_list.ToArray()).ExecuteCommand();
|
|
}
|
|
|
|
var _num2 = (int)Math.Ceiling((decimal)memberInfos.Count / 1000m);
|
|
for (int o = 1; o <= _num2; o++)
|
|
{
|
|
var _list = memberInfos.Skip((o - 1) * 1000).Take(1000).ToList();
|
|
session.Updateable(_list.ToArray()).ExecuteCommand();
|
|
}
|
|
|
|
OnEvent(this, $"机器人{robotname},导入数据完成,正在绑定上下级...");
|
|
//将有上级的用户筛选出来
|
|
STKMemberInfos = STKMemberInfos.Where(f => !string.IsNullOrEmpty(f.father_id)).ToList();
|
|
//绑定上下级
|
|
if (STKMemberInfos != null && STKMemberInfos.Count != 0)
|
|
{
|
|
foreach (var item in STKMemberInfos)
|
|
{
|
|
var new_user = session.Queryable<fl_member_info>().First(f => f.robot_type == chatType && f.username == item.wx_id);
|
|
if (new_user != null && new_user.inviter_id == 0)
|
|
{
|
|
var inviter = session.Queryable<fl_member_info>().First(f => f.robot_type == chatType && f.username == item.father_id);//找出上级账号
|
|
if (inviter != null)
|
|
{
|
|
new_user.inviter_id = inviter.id;//填写上级ID
|
|
session.Updateable<fl_member_info>(new { inviter_id = inviter.id }).Where(f => f.id == new_user.id).ExecuteCommand();
|
|
}
|
|
else
|
|
{
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
OnEvent(this, $"用户上下级关系绑定成功!");
|
|
session.Commit();
|
|
|
|
WriteLog(robotname);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
OnEvent(this, $"导入用户数据异常,开始回滚数据...");
|
|
session.Rollback();
|
|
OnEvent(this, $"导入用户数据异常,回滚执行成功! 异常:{ex.Message} ~ {ex.StackTrace}");
|
|
throw new Exception($"{ex.Message} ~ {ex.StackTrace}");
|
|
}
|
|
}
|
|
|
|
private void WriteLog(string _log)
|
|
{
|
|
var log = _log;
|
|
var m = new Action(delegate ()
|
|
{
|
|
try
|
|
{
|
|
string filename = CsharpHttpHelper.HttpExtend.MapFile($"stk.log", "Cache");
|
|
|
|
//(优化写法)创建或打开日志文件,向日志文件末尾追加记录,关闭日志文件
|
|
using (StreamWriter mySw = File.AppendText(filename))
|
|
{
|
|
string writeContent = log;
|
|
mySw.WriteLine(writeContent);//向日志文件写入内容
|
|
mySw.Close(); //关闭日志文件
|
|
}
|
|
}
|
|
catch (Exception)
|
|
{
|
|
}
|
|
});
|
|
m.BeginInvoke(null, null);
|
|
}
|
|
|
|
private bool ReadLogIsContains(string log)
|
|
{
|
|
string filename = CsharpHttpHelper.HttpExtend.MapFile($"stk.log", "Cache");
|
|
if (File.Exists(filename))
|
|
{
|
|
var lines = File.ReadLines(filename).ToList();
|
|
return lines.Contains(log);
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void Exchanges(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取未审核数据,第{page}页...");
|
|
|
|
//未审核的订单
|
|
var url = "http://yun.yunsutuike.com/page/retrieve/data.php?typeName=mainListNew&data={%22create_time%22:%22%22,%22robot_id%22:%22all%22,%22grant_type%22:%22all%22,%22order_status%22:%220%22,%22search_type%22:%22all%22,%22search_val%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
var money = item["money"].ToObject<double>();
|
|
|
|
var exchange = new fl_exchange_info();
|
|
|
|
var member = db.FindMemberInfoByUsername(wx_id);
|
|
if (member != null)
|
|
{
|
|
var robot = db.FindRobotInfo(robot_id, member.robot_type);
|
|
if (robot != null)
|
|
{
|
|
exchange.rid = robot.id;
|
|
}
|
|
exchange.uid = member.id;
|
|
}
|
|
|
|
var time = DateTime.Now;
|
|
try
|
|
{
|
|
time = item["create_time"].ToObject<DateTime>();
|
|
}
|
|
catch (Exception e)
|
|
{
|
|
time = DateTime.Now;
|
|
}
|
|
|
|
exchange.IsTransmatic = false;
|
|
exchange.point = money;
|
|
exchange.time = time;
|
|
exchange.state = ApplyType.未审核;
|
|
|
|
db.Saveable(exchange).ExecuteCommand();
|
|
|
|
}
|
|
OnEvent(this, $"未审核数据,第{page}页完成,并成功导入信息");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindTBOrder(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取淘宝绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getTbListNew&data={%22desc_name%22:%22tk_create_time%22,%22order_time_type%22:%22tk_create_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22order_type%22:%22all%22,%22tk_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var trade_parent_id = item["trade_parent_id"].ToString();
|
|
var trade_id = item["trade_id"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var order = db.FindSingle<fl_order_alimama>("trade_parent_id = @trade_parent_id and trade_id = @trade_id",
|
|
new { trade_parent_id = trade_parent_id, trade_id = trade_id });
|
|
if (order != null && order.db_userid == 0)
|
|
{
|
|
var member = db.FindMemberInfoByUsername(wx_id);
|
|
if (member != null)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_userid = member.id;
|
|
order.db_robottype = member.robot_type;
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
}
|
|
OnEvent(this, $"淘宝绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindJDOrder(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取京东绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getJdListNew&data={%22desc_name%22:%22order_time%22,%22order_time_type%22:%22order_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22plus%22:%22all%22,%22valid_code%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var order_id = item["order_parent_id"].ToString();
|
|
var sku_id = item["sku_id"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var order = db.FindSingle<fl_order_jingdong>("orderId = @orderId and skuId = @skuId",
|
|
new { orderId = order_id, skuId = sku_id });
|
|
if (order != null && order.db_userid == 0)
|
|
{
|
|
var member = db.FindMemberInfoByUsername(wx_id);
|
|
if (member != null)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_userid = member.id;
|
|
order.db_robottype = member.robot_type;
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
}
|
|
OnEvent(this, $"京东绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindPDDOrder(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取拼多多绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getPddListNew&data={%22desc_name%22:%22order_pay_time%22,%22order_time_type%22:%22order_pay_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
//http://yun.yunsutuike.com/page/order/data.php?typeName=getPddListNew&data={%22desc_name%22:%22order_pay_time%22,%22order_time_type%22:%22order_pay_time%22,%22order_time%22:%222022-02-28%20-%202022-05-28%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=1&limit=15
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var order_sn = item["order_sn"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var order = db.FindSingle<fl_order_pinduoduo>("order_sn = @order_sn", new { order_sn = order_sn });
|
|
if (order != null && order.db_userid == 0)
|
|
{
|
|
var member = db.FindMemberInfoByUsername(wx_id);
|
|
if (member != null)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_userid = member.id;
|
|
order.db_robottype = member.robot_type;
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
}
|
|
OnEvent(this, $"拼多多绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindWPHOrder(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取唯品会绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getVipListNew&data={%22desc_name%22:%22order_time%22,%22order_time_type%22:%22order_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22order_sub_status_name%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
//http://yun.yunsutuike.com/page/order/data.php?typeName=getVipListNew&data={%22desc_name%22:%22order_time%22,%22order_time_type%22:%22order_time%22,%22order_time%22:%222022-02-28%20-%202022-05-28%22,%22cps_user_id%22:%22all%22,%22order_sub_status_name%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=1&limit=15
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var orderSn = item["order_parent_sn"].ToString();
|
|
var goodsId = item["goods_id"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var orders = db.Find<fl_order_weipinhui>("orderSn = @orderSn and goodsId= @goodsId", new { orderSn = orderSn, goodsId = goodsId }).ToList();
|
|
if (orders.Count != 0)
|
|
{
|
|
foreach (var order in orders)
|
|
{
|
|
if (order.db_userid == 0)
|
|
{
|
|
var member = db.FindMemberInfoByUsername(wx_id);
|
|
if (member != null)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_userid = member.id;
|
|
order.db_robottype = member.robot_type;
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
}
|
|
OnEvent(this, $"唯品会绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindDYOrder(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取抖音绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getDyListNew&data={%22desc_name%22:%22pay_time%22,%22order_time_type%22:%22pay_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
//http://yun.yunsutuike.com/page/order/data.php?typeName=getDyListNew&data={%22desc_name%22:%22pay_time%22,%22order_time_type%22:%22pay_time%22,%22order_time%22:%222022-05-02%20-%202022-06-14%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=1&limit=15
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var order_id = item["order_id"].ToString();
|
|
var product_id = item["product_id"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var order = db.FindSingle<fl_order_douyin>("order_id = @order_id and product_id=@product_id", new { order_id = order_id, product_id = product_id });
|
|
if (order != null && order.db_userid == 0)
|
|
{
|
|
var member = db.FindMemberInfoByUsername(wx_id);
|
|
if (member != null)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_userid = member.id;
|
|
order.db_robottype = member.robot_type;
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
}
|
|
OnEvent(this, $"抖音绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
|
|
//-------------------------------
|
|
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindTBOrder2(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取淘宝绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
//var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getTbListNew&data={%22desc_name%22:%22tk_create_time%22,%22order_time_type%22:%22tk_create_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22order_type%22:%22all%22,%22tk_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getTbListNew&data={%22desc_name%22:%22tk_create_time%22,%22order_time_type%22:%22tk_create_time%22,%22order_time%22:%22%22,%22cps_user_id%22:%22all%22,%22order_type%22:%22all%22,%22tk_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%222%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var trade_parent_id = item["trade_parent_id"].ToString();
|
|
var trade_id = item["trade_id"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var order = db.FindSingle<fl_order_alimama>("trade_parent_id = @trade_parent_id and trade_id = @trade_id",
|
|
new { trade_parent_id = trade_parent_id, trade_id = trade_id });
|
|
if (order != null)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_status = SystemOrderStatus.订单冻结;
|
|
order.db_endtime = DateTime.Now.AddMinutes(10);
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
OnEvent(this, $"淘宝绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindJDOrder2(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取京东绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
//var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getJdListNew&data={%22desc_name%22:%22order_time%22,%22order_time_type%22:%22order_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22plus%22:%22all%22,%22valid_code%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getJdListNew&data={%22desc_name%22:%22order_time%22,%22order_time_type%22:%22order_time%22,%22order_time%22:%22%22,%22cps_user_id%22:%22all%22,%22plus%22:%22all%22,%22valid_code%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%222%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var order_id = item["order_parent_id"].ToString();
|
|
var sku_id = item["sku_id"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var order = db.FindSingle<fl_order_jingdong>("orderId = @orderId and skuId = @skuId",
|
|
new { orderId = order_id, skuId = sku_id });
|
|
if (order != null)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_status = SystemOrderStatus.订单冻结;
|
|
order.db_endtime = DateTime.Now.AddMinutes(10);
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
OnEvent(this, $"京东绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindPDDOrder2(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取拼多多绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
//var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getPddListNew&data={%22desc_name%22:%22order_pay_time%22,%22order_time_type%22:%22order_pay_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getPddListNew&data={%22desc_name%22:%22order_pay_time%22,%22order_time_type%22:%22order_pay_time%22,%22order_time%22:%22%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%222%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
//http://yun.yunsutuike.com/page/order/data.php?typeName=getPddListNew&data={%22desc_name%22:%22order_pay_time%22,%22order_time_type%22:%22order_pay_time%22,%22order_time%22:%222022-02-28%20-%202022-05-28%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=1&limit=15
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var order_sn = item["order_sn"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var order = db.FindSingle<fl_order_pinduoduo>("order_sn = @order_sn", new { order_sn = order_sn });
|
|
if (order != null)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_status = SystemOrderStatus.订单冻结;
|
|
order.db_endtime = DateTime.Now.AddMinutes(10);
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
OnEvent(this, $"拼多多绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindWPHOrder2(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取唯品会绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
//var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getVipListNew&data={%22desc_name%22:%22order_time%22,%22order_time_type%22:%22order_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22order_sub_status_name%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getVipListNew&data={%22desc_name%22:%22order_time%22,%22order_time_type%22:%22order_time%22,%22order_time%22:%22%22,%22cps_user_id%22:%22all%22,%22order_sub_status_name%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%222%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
//http://yun.yunsutuike.com/page/order/data.php?typeName=getVipListNew&data={%22desc_name%22:%22order_time%22,%22order_time_type%22:%22order_time%22,%22order_time%22:%222022-02-28%20-%202022-05-28%22,%22cps_user_id%22:%22all%22,%22order_sub_status_name%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=1&limit=15
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var orderSn = item["order_parent_sn"].ToString();
|
|
var goodsId = item["goods_id"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var orders = db.Find<fl_order_weipinhui>("orderSn = @orderSn and goodsId= @goodsId", new { orderSn = orderSn, goodsId = goodsId }).ToList();
|
|
if (orders.Count != 0)
|
|
{
|
|
foreach (var order in orders)
|
|
{
|
|
//if (order.db_userid == 0)
|
|
//{
|
|
// var member = db.FindMemberInfoByUsername(wx_id);
|
|
// if (member != null)
|
|
// {
|
|
// order.db_robotname = robot_id;
|
|
// order.db_userid = member.id;
|
|
// order.db_robottype = member.robot_type;
|
|
// db.Updateable(order).ExecuteCommand();
|
|
// }
|
|
//}
|
|
order.db_robotname = robot_id;
|
|
order.db_status = SystemOrderStatus.订单冻结;
|
|
order.db_endtime = DateTime.Now.AddMinutes(10);
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
|
|
}
|
|
}
|
|
OnEvent(this, $"唯品会绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 下载并绑定订单数据
|
|
/// </summary>
|
|
/// <param name="page"></param>
|
|
/// <param name="pageSize"></param>
|
|
public void BindDYOrder2(DateTime date, int page, int pageSize, out int total)
|
|
{
|
|
OnEvent(this, $"正在获取抖音绑定数据,第{page}页...");
|
|
|
|
//三个月已经绑定的订单请求
|
|
//var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getDyListNew&data={%22desc_name%22:%22pay_time%22,%22order_time_type%22:%22pay_time%22,%22order_time%22:%22" + date.AddMonths(-3).ToString("yyyy-MM-dd") + "%20-%20" + date.ToString("yyyy-MM-dd") + "%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
var url = "http://yun.yunsutuike.com/page/order/data.php?typeName=getDyListNew&data={%22desc_name%22:%22pay_time%22,%22order_time_type%22:%22pay_time%22,%22order_time%22:%22%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%222%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=" + page + "&limit=" + pageSize;
|
|
|
|
//http://yun.yunsutuike.com/page/order/data.php?typeName=getDyListNew&data={%22desc_name%22:%22pay_time%22,%22order_time_type%22:%22pay_time%22,%22order_time%22:%222022-05-02%20-%202022-06-14%22,%22cps_user_id%22:%22all%22,%22order_status%22:%22all%22,%22robot_id%22:%22all%22,%22fl_status%22:%22100%22,%22fl_source%22:%22all%22,%22search_type%22:%22all%22,%22search_val%22:%22%22,%22user_rate%22:%22%22}&page=1&limit=15
|
|
|
|
var html = GetHtml(url);
|
|
html = HttpExtend.Unicode2String(html);
|
|
|
|
var jObj = JObject.Parse(html);
|
|
total = jObj["count"].Value<int>();//总订单数
|
|
var data = jObj["data"]?.ToArray();
|
|
if (data != null)
|
|
{
|
|
var db = ApiClient.GetSession();
|
|
foreach (var item in data)
|
|
{
|
|
var order_id = item["order_id"].ToString();
|
|
var product_id = item["product_id"].ToString();
|
|
var robot_id = item["robot_id"].ToString();
|
|
var wx_id = item["wx_id"].ToString();
|
|
|
|
var order = db.FindSingle<fl_order_douyin>("order_id = @order_id and product_id=@product_id", new { order_id = order_id, product_id = product_id });
|
|
if (order != null && order.db_userid == 0)
|
|
{
|
|
order.db_robotname = robot_id;
|
|
order.db_status = SystemOrderStatus.订单冻结;
|
|
order.db_endtime = DateTime.Now.AddMinutes(10);
|
|
db.Updateable(order).ExecuteCommand();
|
|
}
|
|
}
|
|
OnEvent(this, $"抖音绑定数据,第{page}页完成,并成功绑定用户信息");
|
|
}
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
/// http请求方法
|
|
/// </summary>
|
|
/// <param name="url"></param>
|
|
/// <returns></returns>
|
|
private string GetHtml(string url)
|
|
{
|
|
for (int i = 0; i < 10; i++)
|
|
{
|
|
HttpHelper http = new HttpHelper();
|
|
HttpItem item = new HttpItem()
|
|
{
|
|
URL = url,
|
|
Method = "GET",
|
|
Timeout = 100000,
|
|
ReadWriteTimeout = 30000,
|
|
IsToLower = false,
|
|
Cookie = ck,
|
|
UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0",
|
|
Accept = "text/html, application/xhtml+xml, */*",
|
|
ContentType = "text/html",
|
|
Referer = "http://yun.yunsutuike.com/page/member/mainNew.php",
|
|
Allowautoredirect = false,
|
|
AutoRedirectCookie = false,
|
|
Postdata = "",
|
|
ResultType = ResultType.String,
|
|
};
|
|
HttpResult result = http.GetHtml(item);
|
|
if (result.StatusCode == System.Net.HttpStatusCode.OK)
|
|
{
|
|
string html = result.Html;
|
|
if (html.Contains("Empty needle in"))
|
|
throw new Exception("可能Cookie错误");
|
|
return html;
|
|
}
|
|
|
|
OnEvent(this, $"请求数据异常,正在重试第{(i + 1)}次...");
|
|
Thread.Sleep(2000);
|
|
}
|
|
throw new Exception("多次请求数据异常:终止操作");
|
|
}
|
|
|
|
#endregion
|
|
|
|
}
|
|
}
|