Commit 7ecea0c2 authored by liudong1993's avatar liudong1993

1

parent da7e9a63
using Newtonsoft.Json.Linq;
using Test.Model;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Text.RegularExpressions;
using Test.DBHelper;
using System.Linq;
namespace Test.Helper
{
/// <summary>
/// 订单帮助类
/// </summary>
public class OrderHelper
{
/// <summary>
/// 获取数据
/// </summary>
/// <param name="cookie"></param>
public static void GetUserData()
{
string cookie = "";
int pageIndex = 1;
int pageCount = 2;
while (pageIndex <= pageCount)
{
var tempImgList = GetUserImgList(cookie, pageIndex, out pageCount);
Console.WriteLine(pageIndex + "/" + pageCount + " Edd");
if (tempImgList != null && tempImgList.Any())
{
foreach (var subItem in tempImgList)
{
if (subItem.user_id >= 19992 && subItem.user_id <= 101706)
{
StringBuilder stringBuilder = new StringBuilder();
//stringBuilder.AppendFormat("update rb_member_user set Photo = '{0}',Name='{1}',SuperiorId={2} where Id = {3}", subItem.avatar, subItem.nickname, subItem.parent_id, subItem.user_id);
stringBuilder.AppendFormat("update rb_member_user set SuperiorId={0} where Id = {1} and SuperiorId not in (5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)", subItem.parent_id, subItem.user_id);
try
{
var newResult = MySqlHelper.ExecuteNonQuery(MySqlHelper.defaultConnection, System.Data.CommandType.Text, stringBuilder.ToString(), null);
//Console.WriteLine("请求:" + subItem.avatar + " " + subItem.nickname + " " + subItem.parent_id);
}
catch (Exception ex)
{
Console.WriteLine("失败UserId:" + subItem.user_id + " Msg:" + ex.Message);
}
}
}
}
pageIndex++;
var ranDomNum = new Random().Next(3, 7);
Thread.Sleep(1000 * ranDomNum);
}
}
/// <summary>
/// 获取订单列表
/// </summary>
/// <param name="cookie"></param>
/// <param name="pageIndex"></param>
/// <param name="pageCount"></param>
/// <returns></returns>
static List<UserImage> GetOrderList(string cookie, int pageIndex, out int pageCount)
{
pageCount = 2;
List<UserImage> list = new List<UserImage>();
string newImaApi = "http://wx.weibaoge.cn/web/index.php?r=mall%2Forder%2Findex&keyword=&keyword_1=1&date_start=&date_end=&platform=&status=-1&plugin=all&send_type=-1&type=&page=" + pageIndex;
cookie = "__login_route=%2Fadmin%2Fpassport%2Flogin; __login_role=admin; HJ_SESSION_ID=lgfv5vck57rj84nh4npn59b4pj; _csrf=1febe37678187521a164220da9a9293f67d6d638a1cc01acebf0d3123757216ea%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22e5vd7mYVeGAfqcBMV_m0lkeiJLXFghtc%22%3B%7D";
string jsonData = HttpGet(newImaApi, cookie);
if (jsonData != null && !string.IsNullOrEmpty(jsonData))
{
JObject obj = JObject.Parse(jsonData);
JObject dataObj = JObject.Parse(obj["data"].ToString());
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserImage>>(dataObj["list"].ToString());
var pageObj = JObject.Parse(dataObj["pagination"].ToString());
Int32.TryParse(pageObj["page_count"].ToString(), out pageCount);
}
return list;
}
/// <summary>
/// Get获取数据
/// </summary>
/// <param name="url">url地址</param>
/// <param name="encode">编码方式</param>
/// <param name="Source">来源</param>
/// <returns></returns>
static string HttpGet(string url, string cookie)
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Headers.Add("Cookie", cookie);
myRequest.Headers.Add("X-Requested-With", "XMLHttpRequest");
myRequest.Method = "GET";
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
string content = reader.ReadToEnd();
reader.Close();
return content;
}
/// <summary>
/// Get获取数据
/// </summary>
/// <param name="url">url地址</param>
/// <param name="encode">编码方式</param>
/// <param name="Source">来源</param>
/// <returns></returns>
public static string HttpGet(string url, Encoding encode, string Source, string cookie = "")
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
if (!string.IsNullOrEmpty(Source))
{
myRequest.Referer = Source;
}
if (!string.IsNullOrEmpty(cookie))
{
myRequest.Headers.Add("cookie", cookie);
}
myRequest.Method = "GET";
HttpWebResponse myResponse = null;
try
{
myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), encode);
string content = reader.ReadToEnd();
return content;
}
//异常请求
catch (WebException e)
{
myResponse = (HttpWebResponse)e.Response;
using (Stream errData = myResponse.GetResponseStream())
{
using (StreamReader reader = new StreamReader(errData))
{
string text = reader.ReadToEnd();
return text;
}
}
}
}
}
}
using Newtonsoft.Json.Linq;
using Test.Model;
using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Text;
using System.Threading;
using System.Text.RegularExpressions;
using Test.DBHelper;
using System.Linq;
namespace Test.Helper
{
/// <summary>
/// 用户帮助类
/// </summary>
public class UserHelper
{
/// <summary>
/// 获取数据
/// </summary>
/// <param name="cookie"></param>
public static void GetUserData()
{
string cookie = "";
int pageIndex = 1;
int pageCount = 2;
while (pageIndex <= pageCount)
{
var tempImgList = GetUserImgList(cookie, pageIndex, out pageCount);
Console.WriteLine(pageIndex + "/" + pageCount + " Edd");
if (tempImgList != null && tempImgList.Any())
{
foreach (var subItem in tempImgList)
{
if (subItem.user_id >= 19992 && subItem.user_id <= 101706)
{
StringBuilder stringBuilder = new StringBuilder();
//stringBuilder.AppendFormat("update rb_member_user set Photo = '{0}',Name='{1}',SuperiorId={2} where Id = {3}", subItem.avatar, subItem.nickname, subItem.parent_id, subItem.user_id);
stringBuilder.AppendFormat("update rb_member_user set SuperiorId={0} where Id = {1} and SuperiorId not in (5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)", subItem.parent_id, subItem.user_id);
try
{
var newResult = MySqlHelper.ExecuteNonQuery(MySqlHelper.defaultConnection, System.Data.CommandType.Text, stringBuilder.ToString(), null);
//Console.WriteLine("请求:" + subItem.avatar + " " + subItem.nickname + " " + subItem.parent_id);
}
catch (Exception ex)
{
Console.WriteLine("失败UserId:" + subItem.user_id + " Msg:" + ex.Message);
}
}
}
}
pageIndex++;
var ranDomNum = new Random().Next(3, 7);
Thread.Sleep(1000 * ranDomNum);
}
}
/// <summary>
/// 获取用户头像
/// </summary>
/// <param name="cookie"></param>
/// <param name="pageIndex"></param>
/// <param name="pageCount"></param>
/// <returns></returns>
static List<UserImage> GetUserImgList(string cookie, int pageIndex, out int pageCount)
{
pageCount = 2;
List<UserImage> list = new List<UserImage>();
string newImaApi = "http://wx.weibaoge.cn/web/index.php?r=mall%2Fuser%2Findex&page=" + pageIndex + "&member_level=0&platform=0&keyword=";
cookie = "__login_route=%2Fadmin%2Fpassport%2Flogin; __login_role=admin; HJ_SESSION_ID=lgfv5vck57rj84nh4npn59b4pj; _csrf=1febe37678187521a164220da9a9293f67d6d638a1cc01acebf0d3123757216ea%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22e5vd7mYVeGAfqcBMV_m0lkeiJLXFghtc%22%3B%7D";
string jsonData = HttpGet(newImaApi, cookie);
if (jsonData != null && !string.IsNullOrEmpty(jsonData))
{
JObject obj = JObject.Parse(jsonData);
JObject dataObj = JObject.Parse(obj["data"].ToString());
list = Newtonsoft.Json.JsonConvert.DeserializeObject<List<UserImage>>(dataObj["list"].ToString());
var pageObj = JObject.Parse(dataObj["pagination"].ToString());
Int32.TryParse(pageObj["page_count"].ToString(), out pageCount);
}
return list;
}
/// <summary>
/// Get获取数据
/// </summary>
/// <param name="url">url地址</param>
/// <param name="encode">编码方式</param>
/// <param name="Source">来源</param>
/// <returns></returns>
static string HttpGet(string url, string cookie)
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Headers.Add("Cookie", cookie);
myRequest.Headers.Add("X-Requested-With", "XMLHttpRequest");
myRequest.Method = "GET";
HttpWebResponse myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
string content = reader.ReadToEnd();
reader.Close();
return content;
}
/// <summary>
/// Get获取数据
/// </summary>
/// <param name="url">url地址</param>
/// <param name="encode">编码方式</param>
/// <param name="Source">来源</param>
/// <returns></returns>
public static string HttpGet(string url, Encoding encode, string Source, string cookie = "")
{
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
if (!string.IsNullOrEmpty(Source))
{
myRequest.Referer = Source;
}
if (!string.IsNullOrEmpty(cookie))
{
myRequest.Headers.Add("cookie", cookie);
}
myRequest.Method = "GET";
HttpWebResponse myResponse = null;
try
{
myResponse = (HttpWebResponse)myRequest.GetResponse();
StreamReader reader = new StreamReader(myResponse.GetResponseStream(), encode);
string content = reader.ReadToEnd();
return content;
}
//异常请求
catch (WebException e)
{
myResponse = (HttpWebResponse)e.Response;
using (Stream errData = myResponse.GetResponseStream())
{
using (StreamReader reader = new StreamReader(errData))
{
string text = reader.ReadToEnd();
return text;
}
}
}
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test.Model
{
/// <summary>
/// 订单信息
/// </summary>
public class OrderInfo
{
/// <summary>
/// 主键编号
/// </summary>
public int id { get; set; }
/// <summary>
/// 用户id
/// </summary>
public int user_id { get; set; }
/// <summary>
/// 订单号
/// </summary>
public string order_no { get; set; }
/// <summary>
/// 订单总金额
/// </summary>
public decimal total_price { get; set; }
/// <summary>
/// 支付金额
/// </summary>
public decimal total_pay_price { get; set; }
public decimal express_original_price { get; set; }
public decimal express_price { get; set; }
public decimal total_goods_price { get; set; }
public decimal total_goods_original_price { get; set; }
public decimal member_discount_price { get; set; }
public int use_user_coupon_id { get; set; }
public decimal coupon_discount_price { get; set; }
public int use_integral_num { get; set; }
public decimal integral_deduction_price { get; set; }
public string name { get; set; }
public string mobile { get; set; }
/// <summary>
/// 收货地址
/// </summary>
public string address { get; set; }
public string remark { get; set; }
public string seller_remark { get; set; }
public DateTime pay_time { get; set; }
public DateTime send_time { get; set; }
public DateTime confirm_time { get; set; }
public DateTime comment_time { get; set; }
public DateTime created_at { get; set; }
/// <summary>
/// 取消状态 =1 表示取消
/// </summary>
public int cancel_status { get; set; }
/// <summary>
/// 是否回收站 1是 0否
/// </summary>
public int is_recycle { get; set; }
public List<DetailExpress> detailExpress { get; set; }
}
public class OrderDetailInfo{
public int id { get; set; }
public int order_id { get; set; }
public int goods_id { get; set; }
public decimal unit_price { get; set; }
public decimal total_original_price { get; set; }
public decimal total_price { get; set; }
public decimal member_discount_price { get; set; }
public DateTime created_at { get; set; }
public string goods_no { get; set; }
public GoodsInfo goods_info { get; set; }
public ExpressRelation expressRelation { get; set; }
}
public class ExpressRelation {
public int id { get; set; }
public int order_id { get; set; }
public int order_detail_id { get; set; }
public int order_detail_express_id { get; set; }
public int is_delete { get; set; }
}
public class GoodsInfo {
public List<GoodsAttrList> attr_list { get; set; }
public GoodsAttr goods_attr { get; set; }
}
public class GoodsAttrList {
public string attr_group_name { get; set; }
public int attr_group_id { get; set; }
public int attr_id { get; set; }
public string attr_name { get; set; }
}
public class GoodsAttr {
public int id { get; set; }
public int goods_id { get; set; }
public string sign_id { get; set; }
public string no { get; set; }
public int weight { get; set; }
public int number { get; set; }
}
public class DetailExpress {
public int id { get; set; }
public int order_id { get; set; }
public string express { get; set; }
public int send_type { get; set; }
public string express_no { get; set; }
/// <summary>
/// send_type=2
/// </summary>
public string express_content { get; set; }
public int is_delete { get; set; }
public DateTime created_at { get; set; }
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Test.Model
{
/// <summary>
/// 用户头像图片实体
/// </summary>
public class UserImage
{
/// <summary>
/// 主键编号
/// </summary>
public int id { get; set; }
/// <summary>
/// 头像地址
/// </summary>
public string avatar { get; set; }
/// <summary>
/// 用户id
/// </summary>
public int user_id { get; set; }
/// <summary>
/// 父级id
/// </summary>
public int parent_id { get; set; }
/// <summary>
/// 昵称
/// </summary>
public string nickname { get; set; }
}
}
......@@ -13,6 +13,21 @@
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
<PublishUrl>publish\</PublishUrl>
<Install>true</Install>
<InstallFrom>Disk</InstallFrom>
<UpdateEnabled>false</UpdateEnabled>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdatePeriodically>false</UpdatePeriodically>
<UpdateRequired>false</UpdateRequired>
<MapFileExtensions>true</MapFileExtensions>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>1.0.0.%2a</ApplicationVersion>
<IsWebBootstrapper>false</IsWebBootstrapper>
<UseApplicationTrust>false</UseApplicationTrust>
<BootstrapperEnabled>true</BootstrapperEnabled>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
......@@ -52,7 +67,9 @@
</ItemGroup>
<ItemGroup>
<Compile Include="DBHelper\MySqlHelper.cs" />
<Compile Include="Helper\UserHelper.cs" />
<Compile Include="Helper\MallHelper.cs" />
<Compile Include="Model\UserImage.cs" />
<Compile Include="Model\Category.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
......@@ -61,6 +78,17 @@
<None Include="App.config" />
<None Include="packages.config" />
</ItemGroup>
<ItemGroup />
<ItemGroup>
<BootstrapperPackage Include=".NETFramework,Version=v4.6">
<Visible>False</Visible>
<ProductName>Microsoft .NET Framework 4.6 %28x86 和 x64%29</ProductName>
<Install>true</Install>
</BootstrapperPackage>
<BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
<Visible>False</Visible>
<ProductName>.NET Framework 3.5 SP1</ProductName>
<Install>false</Install>
</BootstrapperPackage>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment