shanji 3 years ago
parent
commit
b822803e4a
  1. 49
      BBWY.Test/Program.cs

49
BBWY.Test/Program.cs

@ -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 appKey = "120EA9EC65AB017567D78CC1139EEEA5";
var appSecret = "866a9877f5f24b03b537483b4defe75d";
var token = "940b1e24d84843ffbbee3833984a6f0bwyjf";
var jdClient = GetJdClient(appKey, appSecret);
var orderDropShoppingCount = orderDropShippingList.Count();
var threadCount = 3;
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;
var perTaskCount = orderDropShoppingCount / threadCount;
var lastTaskCount = orderDropShoppingCount % threadCount;
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();
}
}

Loading…
Cancel
Save