From 731198b78a35c8a323d781d76c1148ba19e913c7 Mon Sep 17 00:00:00 2001
From: shanj <18996038927@163.com>
Date: Sun, 14 May 2023 17:03:11 +0800
Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=87=87=E8=B4=AD=E5=8D=95?=
=?UTF-8?q?=E7=AD=BE=E6=94=B6=E6=8E=A5=E5=8F=A3?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../Controllers/PurchaseOrderController.cs | 13 ++-
.../PurchaseOrder/PurchaseOrderBusiness.cs | 37 ++++++--
.../Callback/BBWYBDelivertCallBackRequest.cs | 16 ++++
BBWY.Test/Program.cs | 91 +++++++++++++++----
4 files changed, 129 insertions(+), 28 deletions(-)
create mode 100644 BBWY.Server.Model/Dto/Request/PurchaseOrder/Callback/BBWYBDelivertCallBackRequest.cs
diff --git a/BBWY.Server.API/Controllers/PurchaseOrderController.cs b/BBWY.Server.API/Controllers/PurchaseOrderController.cs
index 1684f932..caf9b7c4 100644
--- a/BBWY.Server.API/Controllers/PurchaseOrderController.cs
+++ b/BBWY.Server.API/Controllers/PurchaseOrderController.cs
@@ -105,9 +105,20 @@ namespace BBWY.Server.API.Controllers
///
[HttpPost]
[AllowAnonymous]
- public void QuanTanEditPriceCallback(QuanTanEditPriceNotifyRequest request)
+ public void QuanTanEditPriceCallback([FromBody] QuanTanEditPriceNotifyRequest request)
{
purchaseOrderBusiness.QuanTanEditPriceCallback(request);
}
+
+ ///
+ /// 签收采购单
+ ///
+ ///
+ [HttpPost]
+ [AllowAnonymous]
+ public void SignPurchaseOrder([FromBody] BBWYBSignCallBackRequest request)
+ {
+ purchaseOrderBusiness.SignPurchaseOrder(request);
+ }
}
}
diff --git a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index 31092f97..c86f3325 100644
--- a/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWY.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -369,7 +369,7 @@ namespace BBWY.Server.Business
#region CallBack
- #region 1688CallBack
+ #region 1688 CallBack
public void CallbackFrom1688(string jsonStr)
{
nLogManager.Default().Info(jsonStr);
@@ -415,7 +415,7 @@ namespace BBWY.Server.Business
}
#endregion
- #region 拳探回调
+ #region QuanTan Callback
public void QuanTanSendGoodsCallback(QuanTanSendGoodsNotifyRequest request)
{
Task.Factory.StartNew(() => DeliveryCallback(request.OrderId, new WayBillNoResponse()
@@ -425,12 +425,12 @@ namespace BBWY.Server.Business
WayBillNo = request.WayBillNo,
}, Enums.Platform.拳探), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
- //Task.Factory.StartNew(() => DeliveryCallbackForPurchaseOrder(request.OrderId, new WayBillNoResponse()
- //{
- // LogisticsCompanyId = request.ExpressId,
- // LogisticsCompanyName = request.ExpressName,
- // WayBillNo = request.WayBillNo,
- //}, Enums.Platform.拳探), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
+ Task.Factory.StartNew(() => DeliveryCallbackForPurchaseOrder(request.OrderId, new WayBillNoResponse()
+ {
+ LogisticsCompanyId = request.ExpressId,
+ LogisticsCompanyName = request.ExpressName,
+ WayBillNo = request.WayBillNo,
+ }, Enums.Platform.拳探), CancellationToken.None, TaskCreationOptions.LongRunning, taskSchedulerManager.PurchaseOrderCallbackTaskScheduler);
}
public void QuanTanEditPriceCallback(QuanTanEditPriceNotifyRequest request)
@@ -442,6 +442,19 @@ namespace BBWY.Server.Business
}
#endregion
+ #region bbwyb Callback
+ public void SignPurchaseOrder(BBWYBSignCallBackRequest request)
+ {
+ var pv2 = fsql.Select(request.OrderId).ToOne();
+ if (pv2.OrderState == Enums.PurchaseOrderState.待收货)
+ {
+ fsql.Update(request.OrderId).Set(p => p.OrderState, Enums.PurchaseOrderState.待质检)
+ .Set(p => p.SignTime, DateTime.Now)
+ .ExecuteAffrows();
+ }
+ }
+ #endregion
+
///
/// 采购平台发货回调(一件代发)
///
@@ -572,6 +585,14 @@ namespace BBWY.Server.Business
if (purchaseOrderV2 == null)
throw new Exception("未查询到采购单信息");
+ fsql.Update(purchaseOrderId).SetIf(purchaseOrderV2.OrderState == Enums.PurchaseOrderState.待发货 ||
+ purchaseOrderV2.OrderState == Enums.PurchaseOrderState.待付款,
+ p => p.OrderState, Enums.PurchaseOrderState.待收货)
+ .Set(p => p.ExpressName, wayBillNoResponse.LogisticsCompanyName)
+ .Set(p => p.WaybillNo, wayBillNoResponse.WayBillNo)
+ .ExecuteAffrows();
+
+
}
catch (Exception ex)
{
diff --git a/BBWY.Server.Model/Dto/Request/PurchaseOrder/Callback/BBWYBDelivertCallBackRequest.cs b/BBWY.Server.Model/Dto/Request/PurchaseOrder/Callback/BBWYBDelivertCallBackRequest.cs
new file mode 100644
index 00000000..41008cd8
--- /dev/null
+++ b/BBWY.Server.Model/Dto/Request/PurchaseOrder/Callback/BBWYBDelivertCallBackRequest.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Text;
+
+namespace BBWY.Server.Model.Dto
+{
+ public class BBWYBDeliveryCallBackRequest
+ {
+ public string OrderId { get; set; }
+ }
+
+ public class BBWYBSignCallBackRequest : BBWYBDeliveryCallBackRequest
+ {
+
+ }
+}
diff --git a/BBWY.Test/Program.cs b/BBWY.Test/Program.cs
index f111c6f1..ec05aa1d 100644
--- a/BBWY.Test/Program.cs
+++ b/BBWY.Test/Program.cs
@@ -1,7 +1,11 @@
-using Jd.Api;
+using com.alibaba.openapi.client;
+using com.alibaba.openapi.client.policy;
+using Jd.Api;
using Jd.Api.Request;
+using Microsoft.Extensions.DependencyInjection;
using System;
using System.Linq;
+using System.Net.Http;
using System.Security.Cryptography;
using System.Text;
@@ -22,6 +26,14 @@ namespace BBWY.Test
}
}
+ private static SyncAPIClient GetSyncAPIClient(string appKey, string appSecret)
+ {
+ var sercvice = new ServiceCollection();
+ sercvice.AddHttpClient();
+ var servicePriovder = sercvice.BuildServiceProvider();
+ return new SyncAPIClient(appKey, appSecret, new Common.Http.RestApiService(servicePriovder.GetRequiredService()));
+ }
+
static void Main(string[] args)
{
@@ -41,29 +53,70 @@ namespace BBWY.Test
//var token = "4a0ddc095e054c7aa90adcaccb14f83cwzgr"; //可比车品
var token = "50a4c0f5c55848b5a8a715709e8d6fe0jntb"; //卿卿玩具专营店
- //var dt1 = DateTime.Now;
- //List list = new List();
- //for (var i = 1; i <= 5000000; i++)
- //{
- // var str = tomMd5($"Mozilla/5.0 (Linux; Android 12; 21121210C Build/SKQ1.211006.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/76.0.3809.89 Mobile Safari/537.36 T7/13.8 SP-engine/2.46.0 baiduboxapp/13.8.1.10 (Baidu; P1 12) NABar/1.0 Edg/102.0.5005.63_{i}_192.158.241.{i}_28726526517321");
- // Console.WriteLine($"生成第{i}位指纹,长度{str.Length},{str}");
- // list.Add(str);
- //}
- //var dt2 = DateTime.Now;
- //Console.WriteLine($"总数量{list.Count},总耗时{(dt2 - dt1).TotalSeconds}秒");
+ var request = new
+ {
+ AppKey = "3944754",
+ AppSecret = "NahdPJS5uzM",
+ AppToken = "a9a67b4a-1117-4ae6-8422-8188eedd3480",
+ OrderId = "1885695962273561469"
+ };
+ {
+ var client = GetSyncAPIClient(request.AppKey, request.AppSecret);
+ RequestPolicy reqPolicy = new RequestPolicy();
+ reqPolicy.HttpMethod = "POST";
+ reqPolicy.NeedAuthorization = false;
+ reqPolicy.RequestSendTimestamp = false;
+ reqPolicy.UseHttps = false;
+ reqPolicy.UseSignture = true;
+ reqPolicy.AccessPrivateApi = false;
+ Request _request = new Request();
+ APIId apiId = new APIId();
+ apiId.Name = "alibaba.trade.getLogisticsInfos.buyerView";
+ apiId.NamespaceValue = "com.alibaba.logistics";
+ apiId.Version = 1;
+ _request.ApiId = apiId;
- var jdClient = GetJdClient(appkey, appSecret);
- var req = new AscFreightViewRequest();
+ var param = new { orderId = request.OrderId, webSite = "1688", fields = "logisticsCompanyId,logisticsCompanyName,logisticsBillNo" };
+ _request.RequestEntity = param;
+ if (!string.IsNullOrEmpty(request.AppToken))
+ _request.AccessToken = request.AppToken;
+ var result = client.NewRequest(_request, reqPolicy);
+ }
+
+ {
+ var client = GetSyncAPIClient(request.AppKey, request.AppSecret);
+ RequestPolicy reqPolicy = new RequestPolicy();
+ reqPolicy.HttpMethod = "POST";
+ reqPolicy.NeedAuthorization = false;
+ reqPolicy.RequestSendTimestamp = false;
+ reqPolicy.UseHttps = false;
+ reqPolicy.UseSignture = true;
+ reqPolicy.AccessPrivateApi = false;
+
+ Request _request = new Request();
+ APIId apiId = new APIId
+ {
+ Name = "alibaba.trade.get.buyerView",
+ NamespaceValue = "com.alibaba.trade",
+ Version = 1
+ };
+ _request.ApiId = apiId;
+
+ var param = new
+ {
+ webSite = "1688",
+ orderId = request.OrderId,
+ includeFields = "baseInfo,productItems"
+ };
+ _request.RequestEntity = param;
+ if (!string.IsNullOrEmpty(request.AppToken))
+ _request.AccessToken = request.AppToken;
+ var result = client.NewRequest(_request, reqPolicy);
+ }
- req.buId = "11926867";
- req.operatePin = "开发测试";
- req.operateNick = "开发测试";
- req.serviceId = 1701316861;
- req.orderId = 264691201058;
- var res = jdClient.Execute(req,token, DateTime.Now.ToLocalTime());
Console.ReadKey();
}