|
|
@ -4,6 +4,7 @@ using BBWY.Server.Model.Db; |
|
|
|
using BBWY.Server.Model.Dto; |
|
|
|
using Jd.Api; |
|
|
|
using Jd.Api.Request; |
|
|
|
using Jd.Api.Response; |
|
|
|
using Newtonsoft.Json; |
|
|
|
using Newtonsoft.Json.Linq; |
|
|
|
using System; |
|
|
@ -24,44 +25,22 @@ namespace BBWY.Test |
|
|
|
|
|
|
|
static void Main(string[] args) |
|
|
|
{ |
|
|
|
var sqlConnectString = "data source=rm-bp1508okrh23710yfao.mysql.rds.aliyuncs.com;port=3306;user id=qyroot;password=kaicn1132+-;initial catalog=bbwy_test;charset=utf8;sslmode=none;"; |
|
|
|
var fsql = new FreeSql.FreeSqlBuilder().UseConnectionString(FreeSql.DataType.MySql, sqlConnectString).Build(); |
|
|
|
var orderDropShippingList = fsql.Select<OrderSku, OrderDropShipping>() |
|
|
|
.InnerJoin((osku, ods) => osku.OrderId == ods.OrderId) |
|
|
|
.Where((osku, ods) => osku.OrderDropShippingId == null) |
|
|
|
.ToList((osku, ods) => new OrderDropShipping |
|
|
|
{ |
|
|
|
Id = ods.Id, |
|
|
|
OrderId = ods.OrderId |
|
|
|
}); |
|
|
|
|
|
|
|
var orderDropShoppingCount = orderDropShippingList.Count(); |
|
|
|
var threadCount = 3; |
|
|
|
var appKey = "120EA9EC65AB017567D78CC1139EEEA5"; |
|
|
|
var appSecret = "866a9877f5f24b03b537483b4defe75d"; |
|
|
|
var token = "940b1e24d84843ffbbee3833984a6f0bwyjf"; |
|
|
|
var jdClient = GetJdClient(appKey, appSecret); |
|
|
|
|
|
|
|
var perTaskCount = orderDropShoppingCount / threadCount; |
|
|
|
var lastTaskCount = orderDropShoppingCount % threadCount; |
|
|
|
PopAfsSoaRefundapplyQueryPageListRequest req = new PopAfsSoaRefundapplyQueryPageListRequest(); |
|
|
|
//req.ids = "1428310918";
|
|
|
|
req.orderId = "249207996365"; |
|
|
|
req.checkTimeStart = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd HH:mm:ss"); |
|
|
|
req.checkTimeEnd = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); |
|
|
|
req.pageIndex =1; |
|
|
|
req.pageSize = 50; |
|
|
|
|
|
|
|
Action<IList<OrderDropShipping>, int, int> insertAction = (taskList, threadIndex, lessCount) => |
|
|
|
{ |
|
|
|
foreach (var ods in taskList) |
|
|
|
{ |
|
|
|
fsql.Update<OrderSku>().Set(osku => osku.OrderDropShippingId, ods.Id).Where(osku => osku.OrderId == ods.OrderId).ExecuteAffrows(); |
|
|
|
lessCount--; |
|
|
|
Console.WriteLine($"ThreadId:{threadIndex} OrderDropShippingId {ods.Id},Less {lessCount}"); |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
for (var i = 0; i < threadCount; i++) |
|
|
|
{ |
|
|
|
var taskList = orderDropShippingList.Skip(i * perTaskCount).Take(perTaskCount + (i == threadCount - 1 ? lastTaskCount : 0)).ToList(); |
|
|
|
var threadIndex = i; |
|
|
|
Task.Factory.StartNew(() => |
|
|
|
{ |
|
|
|
var lessCount = taskList.Count(); |
|
|
|
insertAction(taskList, threadIndex, lessCount); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
PopAfsSoaRefundapplyQueryPageListResponse response = jdClient.Execute(req, token, DateTime.Now.ToLocalTime()); |
|
|
|
Console.WriteLine(JsonConvert.SerializeObject(response)); |
|
|
|
Console.ReadKey(); |
|
|
|
} |
|
|
|
} |
|
|
|