shanji 2 years ago
parent
commit
3af5187c39
  1. 14
      BBWY.Server.API/Controllers/OrderSyncController.cs
  2. 27
      BBWY.Server.Business/Sync/OrderSyncBusiness.cs
  3. 68
      BBWY.Test/Program.cs

14
BBWY.Server.API/Controllers/OrderSyncController.cs

@ -2,6 +2,7 @@
using BBWY.Server.Model.Dto; using BBWY.Server.Model.Dto;
using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;
namespace BBWY.Server.API.Controllers namespace BBWY.Server.API.Controllers
{ {
@ -34,6 +35,19 @@ namespace BBWY.Server.API.Controllers
orderSyncBusiness.ManualSyncOrder(shopId, orderId, null, null); orderSyncBusiness.ManualSyncOrder(shopId, orderId, null, null);
} }
/// <summary>
/// 订单同步
/// </summary>
/// <param name="shopId"></param>
/// <param name="orderIds"></param>
[HttpPost("{shopId}")]
public void SyncOrders([FromRoute] long shopId, [FromBody] IList<string> orderIds)
{
orderSyncBusiness.ManualSyncOrder(shopId, orderIds, null, null);
}
/// <summary> /// <summary>
/// 根据日期同步 /// 根据日期同步
/// </summary> /// </summary>

27
BBWY.Server.Business/Sync/OrderSyncBusiness.cs

@ -16,6 +16,7 @@ using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Net.Http; using System.Net.Http;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Yitter.IdGenerator; using Yitter.IdGenerator;
@ -63,6 +64,32 @@ namespace BBWY.Server.Business
SyncOrder(shop, orderId, startTime, endTime, isAuto: false, Enums.SortTimeType.StartTime); SyncOrder(shop, orderId, startTime, endTime, isAuto: false, Enums.SortTimeType.StartTime);
} }
/// <summary>
/// 手动同步订单
/// </summary>
/// <param name="shopId"></param>
/// <param name="orderIds"></param>
/// <param name="startTime"></param>
/// <param name="endTime"></param>
public void ManualSyncOrder(long shopId, IList<string> orderIds, DateTime? startTime = null, DateTime? endTime = null)
{
var shop = venderBusiness.GetShopByShopId(shopId.ToString());
Task.Factory.StartNew(() =>
{
var i = 1;
foreach (var orderId in orderIds)
{
SyncOrder(shop, orderId, startTime, endTime, isAuto: false, Enums.SortTimeType.StartTime);
Thread.Sleep(500);
i++;
Console.WriteLine();
Console.WriteLine($"Sync Order {orderId}, {i}");
}
Console.WriteLine("job done");
}, System.Threading.CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.SyncOrderTaskScheduler);
}
private void SyncOrder(ShopResponse shop, string orderId, DateTime? startTime = null, DateTime? endTime = null, bool isAuto = false, Enums.SortTimeType? sortTimeType = null) private void SyncOrder(ShopResponse shop, string orderId, DateTime? startTime = null, DateTime? endTime = null, bool isAuto = false, Enums.SortTimeType? sortTimeType = null)
{ {
try try

68
BBWY.Test/Program.cs

@ -45,42 +45,44 @@ namespace BBWY.Test
//var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具 //var token = "44c19a1c1fbd4641957e6e8985ed1358jmtl"; //森王玩具
var qtAppId = "BBWY2023022001"; //var qtAppId = "BBWY2023022001";
var qtAppSecret = "908e131365d5448ca651ba20ed7ddefe"; //var qtAppSecret = "908e131365d5448ca651ba20ed7ddefe";
var url = "https://qt.qiyue666.com/api/platform/product/spu/208"; //var url = "https://qt.qiyue666.com/api/platform/product/spu/208";
var callTime = DateTime.Now.ToString("yyyyMMddHHmmss"); //var callTime = DateTime.Now.ToString("yyyyMMddHHmmss");
var randomNum = new Random().Next(100000, 999999).ToString(); //var randomNum = new Random().Next(100000, 999999).ToString();
var p = new object[] { }; //var p = new object[] { };
var jmStr = JsonConvert.SerializeObject(new QuanTanSignParam() //var jmStr = JsonConvert.SerializeObject(new QuanTanSignParam()
{ //{
appId = qtAppId, // appId = qtAppId,
appSecret = qtAppSecret, // appSecret = qtAppSecret,
callTime = callTime, // callTime = callTime,
_params = JsonConvert.SerializeObject(p), // _params = JsonConvert.SerializeObject(p),
randomNum = randomNum // randomNum = randomNum
}); //});
var md5Str = Md5Encrypt(jmStr); //var md5Str = Md5Encrypt(jmStr);
var qtToken = $"{qtAppId}-{callTime}-{md5Str}-{randomNum}"; //var qtToken = $"{qtAppId}-{callTime}-{md5Str}-{randomNum}";
//var qtRequestParam = new QuanTanRequestParam()
//{
// Params = p,
// token = qtToken
//};
//using (var httpClient = new HttpClient())
//{
// using (var request = new HttpRequestMessage(HttpMethod.Post, url))
// {
// request.Content = new StringContent(JsonConvert.SerializeObject(qtRequestParam), Encoding.UTF8, "application/json");
// using (var response = httpClient.SendAsync(request).Result)
// {
// var result = response.Content.ReadAsStringAsync().Result;
// Console.WriteLine(result);
// }
// }
//}
var qtRequestParam = new QuanTanRequestParam()
{
Params = p,
token = qtToken
};
using (var httpClient = new HttpClient())
{
using (var request = new HttpRequestMessage(HttpMethod.Post, url))
{
request.Content = new StringContent(JsonConvert.SerializeObject(qtRequestParam), Encoding.UTF8, "application/json");
using (var response = httpClient.SendAsync(request).Result)
{
var result = response.Content.ReadAsStringAsync().Result;
Console.WriteLine(result);
}
}
}
Console.ReadKey(); Console.ReadKey();
} }

Loading…
Cancel
Save