shanji 2 years ago
parent
commit
0b4348926f
  1. 89
      BBWY.Server.Business/PlatformSDK/JDBusiness.cs
  2. 2
      BBWY.Test/JDProductAPITest.cs
  3. 4
      BBWY.Test/JDPromotionAPITest.cs
  4. 47
      BBWY.Test/Program.cs

89
BBWY.Server.Business/PlatformSDK/JDBusiness.cs

@ -1157,23 +1157,7 @@ namespace BBWY.Server.Business
}
#endregion
#region 审核活动
{
stepText = "审核活动";
Thread.Sleep(3000);
var req = new SellerPromotionCheckRequest();
req.promoId = promotionId;
req.status = 4;
var res = jdClient.Execute(req, request.AppToken, DateTime.Now.ToLocalTime());
if (res.IsError)
{
RollBackWhenStartPromotionError(deleteGiftSkuRequest, request, brandName, haveGiftTemplateSku);
throw new BusinessException($"审核活动失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}");
}
}
#endregion
Task.Factory.StartNew(() => StartJDPromotionTaskDelay(deleteGiftSkuRequest, request, brandName), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.JDPromotionDelayTaskScheduler);
Task.Factory.StartNew(() => StartJDPromotionTaskDelay(deleteGiftSkuRequest, request, brandName, promotionId), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.JDPromotionDelayTaskScheduler);
//#region 下架赠品sku
//stepText = "下架赠品sku";
@ -1240,6 +1224,54 @@ namespace BBWY.Server.Business
throw new BusinessException($"暂停JD活动失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}");
}
private void CheckJDPromotionTask(long promotionId, string appkey, string appSecret, string token)
{
var jdClient = GetJdClient(appkey, appSecret);
Thread.Sleep(3000);
var req = new SellerPromotionCheckRequest();
req.promoId = promotionId;
req.status = 4;
var res = jdClient.Execute(req, token, DateTime.Now.ToLocalTime());
if (res.IsError)
{
//RollBackWhenStartPromotionError(deleteGiftSkuRequest, request, brandName, haveGiftTemplateSku);
//throw new BusinessException($"审核活动失败-{(string.IsNullOrEmpty(res.ErrorMsg) ? res.ErrMsg : res.ErrorMsg)}");
}
}
private List<JToken> GetPromotionTaskSku(string appkey, string appSecret, string token, long promotionId)
{
var jdClient = GetJdClient(appkey, appSecret);
var pageIndex = 1;
List<JToken> skuList = new List<JToken>();
while (true)
{
var req = new SellerPromotionV2SkuListRequest();
req.promoId = promotionId;
//req.bindType = ;
req.promoType = 4;
req.page = pageIndex.ToString();
req.pageSSize = "50";
var response = jdClient.Execute(req, token, DateTime.Now.ToLocalTime());
Console.WriteLine(JsonConvert.SerializeObject(response));
if (response.IsError)
continue;
if (response.Json == null)
response.Json = JObject.Parse(response.Body);
var jarray = response.Json["jingdong_seller_promotion_v2_sku_list_responce"]["promotion_sku_list"] as JArray;
skuList.AddRange(jarray);
if (jarray.Count() >= 50)
pageIndex++;
else
break;
}
return skuList;
}
public override IList<WaiterResponse> GetServiceGroupList(PlatformRequest request)
{
var jdClient = GetJdClient(request.AppKey, request.AppSecret);
@ -1258,9 +1290,28 @@ namespace BBWY.Server.Business
}
private void StartJDPromotionTaskDelay(DeleteSkuListRequest deleteSkuRequest, StartPromotionTaskRequest2 startRequest, string brandName)
private void StartJDPromotionTaskDelay(DeleteSkuListRequest deleteSkuRequest, StartPromotionTaskRequest2 startRequest, string brandName, long promotionId)
{
Thread.Sleep(20 * 1000);
Thread.Sleep(30 * 1000);
CheckJDPromotionTask(promotionId, deleteSkuRequest.AppKey, deleteSkuRequest.AppSecret, deleteSkuRequest.AppToken);
Thread.Sleep(30 * 1000);
#region 检查奶妈sku是否完全生效
{
var i = 0;
while (i < 10)
{
i++;
var promotionTaskSkuList = GetPromotionTaskSku(deleteSkuRequest.AppKey, deleteSkuRequest.AppSecret, deleteSkuRequest.AppToken, promotionId);
if (promotionTaskSkuList.Any(s => s.Value<int>("bind_type") == 1 && s.Value<int>("sku_status") == 0))
{
Thread.Sleep(2000);
continue;
}
break;
}
}
#endregion
RollBackWhenStartPromotionError(deleteSkuRequest, startRequest, brandName, true);
}
}

2
BBWY.Test/JDProductAPITest.cs

@ -361,7 +361,7 @@ namespace BBWY.Test
public void GetPromotionDetailById(IJdClient client, string token)
{
var req = new SellerPromotionV2GetRequest();
req.promoId = 5619039473;
req.promoId = 5623871513;
req.promoType = 4;
var response = client.Execute(req, token, DateTime.Now.ToLocalTime());
Console.WriteLine(JsonConvert.SerializeObject(response));

4
BBWY.Test/JDPromotionAPITest.cs

@ -33,7 +33,7 @@ namespace BBWY.Test
req.page = pageIndex.ToString();
req.pageSSize = "100";
req.pageSSize = "50";
var response = client.Execute(req, token, DateTime.Now.ToLocalTime());
Console.WriteLine(JsonConvert.SerializeObject(response));
if (response.IsError)
@ -41,7 +41,7 @@ namespace BBWY.Test
if (response.Json == null)
response.Json = JObject.Parse(response.Body);
var jarray = response.Json["jingdong_seller_promotion_v2_sku_list_responce"]["promotion_sku_list"] as JArray;
if (jarray.Count() >= 100)
if (jarray.Count() >= 50)
pageIndex++;
else
break;

47
BBWY.Test/Program.cs

@ -18,16 +18,17 @@ namespace BBWY.Test
static void Main(string[] args)
{
//var appkey = "E1AA9247D5583A6D87449CE6AB290185";
//var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c";
var appkey = "E1AA9247D5583A6D87449CE6AB290185";
var appSecret = "e479558ddd9e40f8929cfc00c6cbbc9c";
////0e61c4a8ec3e4df4b5836e10884db9220yth 齐盛
////2ace3023200c4ea9aa682bbf8bffee18jztm 布莱特玩具
//var token = "01dc6f6e7fc34dcd99090d690312556cmdfk"; //齐盛
//var token = "9fffa982da23446fb035499ae5622f49odjk"; //腾奇
var token = "c22ff4d37b6c4bbd82cd9e8d0dab42dbziyz"; //森王车品
var appkey = "120EA9EC65AB017567D78CC1139EEEA5";
var appSecret = "8a42bc2301e8439b896e99f5475e0a9b";
var token = "2ace3023200c4ea9aa682bbf8bffee18jztm";
//var appkey = "120EA9EC65AB017567D78CC1139EEEA5";
//var appSecret = "8a42bc2301e8439b896e99f5475e0a9b";
//var token = "2ace3023200c4ea9aa682bbf8bffee18jztm";
//var path = @"C:\Users\pengcong001\Desktop\含赠品SKU.txt";
//var j = JToken.Parse(System.IO.File.ReadAllText(path, System.Text.Encoding.UTF8));
@ -40,33 +41,19 @@ namespace BBWY.Test
IJdClient client = GetJdClient(appkey, appSecret);
//var p = new JDProductAPITest();
//p.GetPromotionDetailById(client, token);
var p = new JDPromotionAPITest();
p.GetPromotionDetailById(client, token, 5623916808);
//var p = new JDProductAPITest();
//p.GetSkus(client, token);
{
var sopReq = new PopOrderEnSearchRequest();
sopReq.startDate = "2022-11-11 13:52:00";
//sopReq.endDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
sopReq.endDate = "2022-11-11 13:55:00";
//sopReq.endDate = searchOrderRequest.EndDate.Value.ToString("yyyy-MM-dd HH:mm:ss");
//WAIT_SELLER_STOCK_OUT,WAIT_GOODS_RECEIVE_CONFIRM,WAIT_SELLER_DELIVER,PAUSE,FINISHED_L,TRADE_CANCELED,LOCKED
sopReq.orderState = "WAIT_SELLER_STOCK_OUT,WAIT_GOODS_RECEIVE_CONFIRM,PAUSE,FINISHED_L,TRADE_CANCELED,LOCKED,NOT_PAY";
sopReq.optionalFields = "orderId,venderId,orderType,payType,orderTotalPrice,orderSellerPrice,orderPayment,freightPrice,orderState,orderStateRemark,orderRemark,orderStartTime,orderEndTime,modified,consigneeInfo,itemInfoList,couponDetailList,taxFee,venderRemark,pin,waybill,storeOrder,storeId,sellerDiscount";
sopReq.page = "1";
sopReq.pageSize = "50";
sopReq.sortType = "0";
sopReq.dateType = "1";
var sopResponse = client.Execute(sopReq, token, DateTime.Now.ToLocalTime());
var req = new PopOrderEnGetRequest();
req.optionalFields = "orderId,venderId,orderType,payType,orderTotalPrice,orderSellerPrice,orderPayment,freightPrice,orderState,orderStateRemark,orderRemark,orderStartTime,orderEndTime,modified,consigneeInfo,itemInfoList,couponDetailList,taxFee,venderRemark,pin,waybill,storeOrder,storeId,sellerDiscount";
req.orderId = "256810504651";
var jdResponse = client.Execute(req, token, DateTime.Now.ToLocalTime());
}
//{
// var req = new SellerPromotionCheckRequest();
// req.promoId = 5623871513;
// req.status = 4;
// var res = client.Execute(req, token, DateTime.Now.ToLocalTime());
// Console.WriteLine(JsonConvert.SerializeObject(res));
//}
Console.ReadKey();
}

Loading…
Cancel
Save