diff --git a/BBWYB.Client/Models/APIModel/Response/Order/OrderPurchaseInfoResponse.cs b/BBWYB.Client/Models/APIModel/Response/Order/OrderPurchaseInfoResponse.cs
index 328dbf7..8465133 100644
--- a/BBWYB.Client/Models/APIModel/Response/Order/OrderPurchaseInfoResponse.cs
+++ b/BBWYB.Client/Models/APIModel/Response/Order/OrderPurchaseInfoResponse.cs
@@ -19,5 +19,17 @@ namespace BBWYB.Client.Models
public string PurchaserName { get; set; }
+ public string WaybillNo { get; set; }
+
+ public string SourceExpressName { get; set; }
+
+ public string SourceExpressId { get; set; }
+
+ public string TargetExpressName { get; set; }
+
+ public string TargetExpressId { get; set; }
+
+ public string BelongSkuIds { get; set; }
+
}
}
diff --git a/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs b/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs
index fde50af..0547981 100644
--- a/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs
+++ b/BBWYB.Client/Models/APIModel/Response/Order/OrderResponse.cs
@@ -92,15 +92,15 @@ namespace BBWYB.Client.Models
///
public string PurchaseRemark { get; set; }
- ///
- /// 运单号
- ///
- public string WaybillNo { get; set; }
-
- ///
- /// 快递公司名称
- ///
- public string ExpressName { get; set; }
+ /////
+ ///// 运单号
+ /////
+ //public string WaybillNo { get; set; }
+
+ /////
+ ///// 快递公司名称
+ /////
+ //public string ExpressName { get; set; }
///
/// 来源Sku
diff --git a/BBWYB.Client/Models/Order/Order.cs b/BBWYB.Client/Models/Order/Order.cs
index c4b97ba..e73d727 100644
--- a/BBWYB.Client/Models/Order/Order.cs
+++ b/BBWYB.Client/Models/Order/Order.cs
@@ -13,7 +13,6 @@ namespace BBWYB.Client.Models
}
private OrderState orderState;
- private string waybillNo;
private string venderRemark;
public string Id { get; set; }
@@ -105,19 +104,12 @@ namespace BBWYB.Client.Models
///
public OrderState OrderState { get => orderState; set { SetProperty(ref orderState, value); } }
- public string WaybillNo { get => waybillNo; set { SetProperty(ref waybillNo, value); } }
-
///
/// 商家备注
///
public string VenderRemark { get => venderRemark; set { SetProperty(ref venderRemark, value); } }
- ///
- /// 快递公司名称
- ///
- public string ExpressName { get; set; }
-
///
/// 来源Sku
///
diff --git a/BBWYB.Client/Views/MainWindow.xaml b/BBWYB.Client/Views/MainWindow.xaml
index bc462a4..4a42e33 100644
--- a/BBWYB.Client/Views/MainWindow.xaml
+++ b/BBWYB.Client/Views/MainWindow.xaml
@@ -24,7 +24,7 @@
-
+
diff --git a/BBWYB.Client/Views/Order/OrderList.xaml b/BBWYB.Client/Views/Order/OrderList.xaml
index 098ef33..1f8075d 100644
--- a/BBWYB.Client/Views/Order/OrderList.xaml
+++ b/BBWYB.Client/Views/Order/OrderList.xaml
@@ -180,12 +180,12 @@
Foreground="{Binding OrderState,Converter={StaticResource objConverter},ConverterParameter=已完成:White:#4A4A4A}"
Command="{Binding SetOrderStateCommand}" CommandParameter="{x:Static cmodel:OrderState.已完成}"/>
-
+
@@ -316,7 +316,7 @@
-
+
@@ -377,21 +377,13 @@
-
-
+
@@ -510,30 +502,7 @@
-
-
+
@@ -561,25 +530,6 @@
-
-
@@ -627,11 +577,11 @@
-
-
-
+ -->
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -671,8 +641,7 @@
-
+
-
+
+
diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs
index 024204a..5f379fd 100644
--- a/BBWYB.Server.Business/Order/OrderBusiness.cs
+++ b/BBWYB.Server.Business/Order/OrderBusiness.cs
@@ -5,6 +5,7 @@ using BBWYB.Server.Model;
using BBWYB.Server.Model.Db;
using BBWYB.Server.Model.Dto;
using FreeSql;
+using Newtonsoft.Json;
using SDKAdapter;
using SDKAdapter.OperationPlatform.Client;
using SDKAdapter.OperationPlatform.Models;
@@ -84,13 +85,13 @@ namespace BBWYB.Server.Business
StartTime = o.StartTime,
VenderRemark = o.VenderRemark,
PurchaseRemark = o.PurchaseRemark,
- WaybillNo = o.WaybillNo,
+ //WaybillNo = o.WaybillNo,
SellerPreferentialAmount = o.SellerPreferentialAmount,
PreferentialAmount = o.PreferentialAmount,
ClientOrderId = o.ClientOrderId,
SourceShopName = o.SourceShopName,
SourceSku = o.SourceSku,
- ExpressName = o.ExpressName,
+ //ExpressName = o.ExpressName,
IsPurchased = o.IsPurchased,
BuyerAccount = o.BuyerAccount,
@@ -160,26 +161,51 @@ namespace BBWYB.Server.Business
var dbOrder = fsql.Select(request.OrderId).ToOne();
if (dbOrder == null)
throw new BusinessException($"订单{request.OrderId}不存在");
- if (dbOrder.OrderState != Enums.OrderState.待出库)
- throw new BusinessException($"订单{request.OrderId} 只有在待出库时才允许出库");
-
- opPlatformClientFactory.GetClient((AdapterEnums.PlatformType)request.Platform)
- .OutStock(new OP_OutStockRequest()
- {
- AppKey = request.AppKey,
- AppSecret = request.AppSecret,
- AppToken = request.AppToken,
- ExpressId = request.ExpressId,
- ExpressName = request.ExpressName,
- OrderId = request.OrderId,
- Platform = (AdapterEnums.PlatformType)request.Platform,
- WayBillNo = request.WayBillNo
- });
-
- fsql.Update(request.OrderId).Set(o => o.OrderState, Enums.OrderState.待收货)
- .Set(o => o.WaybillNo, request.WayBillNo)
- .Set(o => o.ExpressName, request.ExpressName)
- .ExecuteAffrows();
+ //if (dbOrder.OrderState != Enums.OrderState.待出库)
+ // throw new BusinessException($"订单{request.OrderId} 只有在待出库时才允许出库");
+
+ if (!string.IsNullOrEmpty(request.TargetExpressId))
+ {
+ try
+ {
+ opPlatformClientFactory.GetClient((AdapterEnums.PlatformType)request.Platform)
+ .OutStock(new OP_OutStockRequest()
+ {
+ AppKey = request.AppKey,
+ AppSecret = request.AppSecret,
+ AppToken = request.AppToken,
+ ExpressId = request.TargetExpressId,
+ ExpressName = request.TargetExpressName,
+ OrderId = request.OrderId,
+ Platform = (AdapterEnums.PlatformType)request.Platform,
+ WayBillNo = request.WayBillNo
+ });
+ }
+ catch (Exception ex)
+ {
+ nLogManager.Default().Error(ex, $"OutStock Request {JsonConvert.SerializeObject(request)}");
+ }
+ }
+
+ fsql.Transaction(() =>
+ {
+ fsql.Update().Where(opi => opi.PurchaseOrderId == request.PurchaseOrderId)
+ .Set(opi => opi.WaybillNo, request.WayBillNo)
+ .Set(opi => opi.SourceExpressId, request.SourceExpressId)
+ .Set(opi => opi.SourceExpressName, request.SourceExpressName)
+ .Set(opi => opi.TargetExpressId, request.TargetExpressId)
+ .Set(opi => opi.TargetExpressName, request.TargetExpressName)
+ .ExecuteAffrows();
+
+ if (dbOrder.OrderState == Enums.OrderState.待出库)
+ fsql.Update(request.OrderId).Set(o => o.OrderState, Enums.OrderState.待收货).ExecuteAffrows();
+ });
+
+
+ //fsql.Update(request.OrderId).Set(o => o.OrderState, Enums.OrderState.待收货)
+ // .Set(o => o.WaybillNo, request.WayBillNo)
+ // .Set(o => o.ExpressName, request.ExpressName)
+ // .ExecuteAffrows();
}
}
}
diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
index c5a37c3..deb9957 100644
--- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
+++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs
@@ -8,6 +8,7 @@ using FreeSql;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SDKAdapter;
+using SDKAdapter.OperationPlatform.Models;
using SDKAdapter.PurchasePlatform.Client;
using SDKAdapter.PurchasePlatform.Models;
using System.Text;
@@ -273,7 +274,8 @@ namespace BBWYB.Server.Business
PurchaseOrderId = createOrderResponse.OrderId,
PurchasePlatform = cargoParamGroup.PurchasePlatform,
PurchaserName = cargoParamGroup.PurchaserName,
- ShopId = request.ShopId
+ ShopId = request.ShopId,
+ BelongSkuIds = string.Join(",", belongSkuGroups.Select(bsg => bsg.Key))
};
insertOrderPurchaseInfos.Add(orderPurchaserInfo);
#endregion
@@ -313,6 +315,7 @@ namespace BBWYB.Server.Business
updateOrderCost?.ExecuteAffrows();
insertOrderCost?.ExecuteAffrows();
fsql.Update(request.OrderId).SetIf(dbOrder.OrderState == Enums.OrderState.等待采购, o => o.OrderState, Model.Enums.OrderState.待出库)
+ .SetIf(!string.IsNullOrEmpty(request.Remark), o => o.PurchaseRemark, request.Remark)
.Set(o => o.IsPurchased, true)
.ExecuteAffrows();
});
@@ -431,39 +434,42 @@ namespace BBWYB.Server.Business
#region 物流公司翻译
currentProgress = "物流公司翻译";
- //logisticsCompanyId = ConvertLogisticsCompanyId(wayBillNoResponse.LogisticsCompanyName, logisticsCompanyList, shop.Platform);
- var convertExpressCompany = expressCompanyNameConverter.Converter(wayBillNoResponse.ExpressName,
- (AdapterEnums.PlatformType)callbackPlatform,
- (AdapterEnums.PlatformType)shop.PlatformId,
- expressCompanyList);
- expressCompanyInfo = JsonConvert.SerializeObject(convertExpressCompany);
- #endregion
- #region 店铺平台订单出库
- currentProgress = "店铺平台订单出库";
- //outStockRequest = new OutStockRequest()
- //{
- // AppKey = shop.AppKey,
- // AppSecret = shop.AppSecret,
- // AppToken = shop.AppToken,
- // OrderId = orderPurchaseInfo.OrderId,
- // Platform = shop.PlatformId,
- // WayBillNo = wayBillNoResponse.WayBillNo,
- // LogisticsId = logisticsCompanyId, //物流公司Id
- // SaveResponseLog = true
- //};
- //orderBusiness.OutStock(outStockRequest);
- orderBusiness.OutStock(new OutStockRequest()
+ OP_QueryExpressCompanyResponse convertExpressCompany = null;
+
+ try
{
- AppKey = shop.AppKey,
- AppSecret = shop.AppSecret,
- AppToken = shop.AppToken,
- OrderId = orderId,
- ExpressId = convertExpressCompany.ExpressId, //物流公司Id
- ExpressName = convertExpressCompany.ExpressName, //物流公司名称
- Platform = shop.PlatformId,
- WayBillNo = wayBillNoResponse.WayBillNo
- });
+ convertExpressCompany = expressCompanyNameConverter.Converter(wayBillNoResponse.ExpressName,
+ (AdapterEnums.PlatformType)callbackPlatform,
+ (AdapterEnums.PlatformType)shop.PlatformId,
+ expressCompanyList);
+ if (convertExpressCompany != null)
+ expressCompanyInfo = JsonConvert.SerializeObject(convertExpressCompany);
+ }
+ catch
+ {
+ throw;
+ }
+ finally
+ {
+ #region 店铺平台订单出库
+ currentProgress = "店铺平台订单出库";
+ orderBusiness.OutStock(new OutStockRequest()
+ {
+ AppKey = shop.AppKey,
+ AppSecret = shop.AppSecret,
+ AppToken = shop.AppToken,
+ OrderId = orderId,
+ TargetExpressId = convertExpressCompany?.ExpressId ?? string.Empty, //物流公司Id
+ TargetExpressName = convertExpressCompany?.ExpressName ?? string.Empty, //物流公司名称
+ SourceExpressId = wayBillNoResponse.ExpressId,
+ SourceExpressName = wayBillNoResponse.ExpressName,
+ PurchaseOrderId = purchaseOrderId,
+ Platform = shop.PlatformId,
+ WayBillNo = wayBillNoResponse.WayBillNo
+ });
+ #endregion
+ }
#endregion
nLogManager.Default().Info($"DeliveryCallback 回调平台{callbackPlatform},订单号{orderId},采购单号{purchaseOrderId},执行进度[{currentProgress}],采购单物流信息:{wayBillNoResponseInfo},店铺平台物流公司列表:{expressCompanyListInfo},翻译后的物流公司:{expressCompanyInfo}");
diff --git a/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs b/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
index b34a584..ae75191 100644
--- a/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
+++ b/BBWYB.Server.Business/Sync/OrderSyncBusiness.cs
@@ -92,7 +92,7 @@ namespace BBWYB.Server.Business.Sync
Id = qtOrder.OrderId,
BuyerRemark = qtOrder.BuyerRemark,
EndTime = qtOrder.EndTime,
- ExpressName = qtOrder.DeliveryResponse.ExpressName,
+ //ExpressName = qtOrder.DeliveryResponse.ExpressName,
FreightPrice = qtOrder.FreightAmount,
ModifyTime = qtOrder.ModifyTime,
IsPurchased = false,
@@ -103,12 +103,12 @@ namespace BBWYB.Server.Business.Sync
PayType = qtOrder.PayType,
Platform = Enums.Platform.拳探,
PreferentialAmount = qtOrder.PreferentialAmount,
- PurchaseRemark = String.Empty,
+ //PurchaseRemark = String.Empty,
ShopId = shopId,
SellerPreferentialAmount = qtOrder.SellerPreferentialAmount,
StartTime = qtOrder.StartTime,
VenderRemark = qtOrder.VenderRemark,
- WaybillNo = qtOrder.DeliveryResponse.WayBillNo,
+ //WaybillNo = qtOrder.DeliveryResponse.WayBillNo,
OrderState = orderState,
ClientOrderId = qtOrder.ClientOrderId,
BuyerAccount = qtOrder.UserAccount
@@ -166,8 +166,8 @@ namespace BBWYB.Server.Business.Sync
else
{
var updateOrderState = false;
- var updateWaybillNo = false;
- var updateExpressName = false;
+ //var updateWaybillNo = false;
+ //var updateExpressName = false;
var updateModifyTime = false;
var updateBuyerRemark = false;
var updateVenderRemark = false;
@@ -175,10 +175,10 @@ namespace BBWYB.Server.Business.Sync
if (dbOrder.OrderState != orderState)
updateOrderState = true;
- if (dbOrder.WaybillNo != qtOrder.DeliveryResponse.WayBillNo)
- updateWaybillNo = true;
- if (dbOrder.ExpressName != qtOrder.DeliveryResponse.ExpressName)
- updateExpressName = true;
+ //if (dbOrder.WaybillNo != qtOrder.DeliveryResponse.WayBillNo)
+ // updateWaybillNo = true;
+ //if (dbOrder.ExpressName != qtOrder.DeliveryResponse.ExpressName)
+ // updateExpressName = true;
if (dbOrder.ModifyTime != qtOrder.ModifyTime)
updateModifyTime = true;
if (dbOrder.BuyerRemark != qtOrder.BuyerRemark)
@@ -188,11 +188,11 @@ namespace BBWYB.Server.Business.Sync
if (dbOrder.BuyerAccount != qtOrder.UserAccount)
updateBuyerAccount = true;
- if (updateOrderState || updateWaybillNo || updateModifyTime || updateBuyerRemark || updateVenderRemark || updateBuyerAccount)
+ if (updateOrderState || updateModifyTime || updateBuyerRemark || updateVenderRemark || updateBuyerAccount)
{
var update = fsql.Update(dbOrder.Id).SetIf(updateOrderState, o => o.OrderState == orderState)
- .SetIf(updateWaybillNo, o => o.WaybillNo, qtOrder.DeliveryResponse.WayBillNo)
- .SetIf(updateExpressName, o => o.ExpressName, qtOrder.DeliveryResponse.ExpressName)
+ //.SetIf(updateWaybillNo, o => o.WaybillNo, qtOrder.DeliveryResponse.WayBillNo)
+ //.SetIf(updateExpressName, o => o.ExpressName, qtOrder.DeliveryResponse.ExpressName)
.SetIf(updateModifyTime, o => o.ModifyTime, qtOrder.ModifyTime)
.SetIf(updateBuyerRemark, o => o.BuyerRemark, qtOrder.BuyerRemark)
.SetIf(updateVenderRemark, o => o.VenderRemark, qtOrder.VenderRemark)
diff --git a/BBWYB.Server.Model/Db/Order/Order.cs b/BBWYB.Server.Model/Db/Order/Order.cs
index 670cc35..c99fd79 100644
--- a/BBWYB.Server.Model/Db/Order/Order.cs
+++ b/BBWYB.Server.Model/Db/Order/Order.cs
@@ -123,17 +123,17 @@ namespace BBWYB.Server.Model.Db
[Column(StringLength = 500)]
public string VenderRemark { get; set; }
- ///
- /// 运单号
- ///
- [Column(StringLength = 100)]
- public string WaybillNo { get; set; }
+ /////
+ ///// 运单号
+ /////
+ //[Column(StringLength = 100)]
+ //public string WaybillNo { get; set; }
- ///
- /// 快递公司名称
- ///
- [Column(StringLength = 100)]
- public string ExpressName { get; set; }
+ /////
+ ///// 快递公司名称
+ /////
+ //[Column(StringLength = 100)]
+ //public string ExpressName { get; set; }
///
/// 来源Sku
@@ -223,26 +223,6 @@ namespace BBWYB.Server.Model.Db
public string Town { get; set; }
#endregion
- #region 采购信息
- [Column(IsIgnore = true)]
- public string PurchaseAccountId { get; set; }
-
- [Column(IsIgnore = true)]
- public string PurchaseAccountName { get; set; }
-
- [Column(IsIgnore = true)]
- public Enums.PurchaseMethod? PurchaseMethod { get; set; }
-
- [Column(IsIgnore = true)]
- public string PurchaseOrderId { get; set; }
-
- [Column(IsIgnore = true)]
- public Enums.Platform? PurchasePlatform { get; set; }
-
- [Column(IsIgnore = true)]
- public string PurchaserName { get; set; }
- #endregion
-
}
}
diff --git a/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs b/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
index adfce45..68fe6e6 100644
--- a/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
+++ b/BBWYB.Server.Model/Db/Order/OrderPurchaseInfo.cs
@@ -34,6 +34,24 @@ namespace BBWYB.Server.Model.Db
public string PurchaserName { get; set; }
public long? ShopId { get; set; }
+
+ [Column(StringLength = 100)]
+ public string WaybillNo { get; set; }
+
+ [Column(StringLength = 100)]
+ public string SourceExpressName { get; set; }
+
+ [Column(StringLength = 100)]
+ public string SourceExpressId { get; set; }
+
+ [Column(StringLength = 100)]
+ public string TargetExpressName { get; set; }
+
+ [Column(StringLength = 100)]
+ public string TargetExpressId { get; set; }
+
+ [Column(StringLength = 500)]
+ public string BelongSkuIds { get; set; }
}
}
diff --git a/BBWYB.Server.Model/Dto/Request/Order/OutStockRequest.cs b/BBWYB.Server.Model/Dto/Request/Order/OutStockRequest.cs
index 89e2c27..63653ae 100644
--- a/BBWYB.Server.Model/Dto/Request/Order/OutStockRequest.cs
+++ b/BBWYB.Server.Model/Dto/Request/Order/OutStockRequest.cs
@@ -4,10 +4,16 @@
{
public string OrderId { get; set; }
+ public string PurchaseOrderId { get; set; }
+
public string WayBillNo { get; set; }
- public string ExpressId { get; set; }
+ public string SourceExpressId { get; set; }
+
+ public string SourceExpressName { get; set; }
+
+ public string TargetExpressId { get; set; }
- public string ExpressName { get; set; }
+ public string TargetExpressName { get; set; }
}
}
diff --git a/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs b/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs
index 8e97f07..010eba0 100644
--- a/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs
+++ b/BBWYB.Server.Model/Dto/Response/Order/OrderResponse.cs
@@ -94,16 +94,6 @@
///
public string PurchaseRemark { get; set; }
- ///
- /// 运单号
- ///
- public string WaybillNo { get; set; }
-
- ///
- /// 快递公司名称
- ///
- public string ExpressName { get; set; }
-
///
/// 来源Sku
///