From d36a1907ea175cd80a47b2d4b2808bb9f6851de2 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Fri, 9 Jun 2023 18:24:59 +0800 Subject: [PATCH] 1 --- .../Controllers/OrderController.cs | 18 +- .../Controllers/PurchaseOrderController.cs | 12 +- .../Extensions/OrderStateExtension.cs | 94 ++++++++- .../Extensions/PurchaseOrderStateExtension.cs | 12 -- BBWYB.Server.Business/KuaiDi100Manager.cs | 8 +- .../PurchaseOrder/PurchaseOrderBusiness.cs | 186 +++++++++++++++--- .../PurchaseOrder/ManualDeliveryRequest.cs | 30 +++ SDKAdapter/ExpressCompanyNameConverter.cs | 32 ++- WebTest/MainWindow.xaml.cs | 12 +- 9 files changed, 344 insertions(+), 60 deletions(-) delete mode 100644 BBWYB.Server.Business/Extensions/PurchaseOrderStateExtension.cs create mode 100644 BBWYB.Server.Model/Dto/Request/PurchaseOrder/ManualDeliveryRequest.cs diff --git a/BBWYB.Server.API/Controllers/OrderController.cs b/BBWYB.Server.API/Controllers/OrderController.cs index 56b969f..f9f30d6 100644 --- a/BBWYB.Server.API/Controllers/OrderController.cs +++ b/BBWYB.Server.API/Controllers/OrderController.cs @@ -30,15 +30,15 @@ namespace BBWYB.Server.API.Controllers - /// - /// 出库 - /// - /// - [HttpPost] - public void OutStock([FromBody] OutStockRequest request) - { - orderBusiness.OutStock(request); - } + ///// + ///// 出库 + ///// + ///// + //[HttpPost] + //public void OutStock([FromBody] OutStockRequest request) + //{ + // orderBusiness.OutStock(request); + //} /// /// 取消订单 diff --git a/BBWYB.Server.API/Controllers/PurchaseOrderController.cs b/BBWYB.Server.API/Controllers/PurchaseOrderController.cs index 86a9171..3a2b04d 100644 --- a/BBWYB.Server.API/Controllers/PurchaseOrderController.cs +++ b/BBWYB.Server.API/Controllers/PurchaseOrderController.cs @@ -73,11 +73,21 @@ namespace BBWYB.Server.API.Controllers /// /// [HttpPost] - public void SignPurchaseOrder([FromBody]SignPurchaseOrderRequest request) + public void SignPurchaseOrder([FromBody] SignPurchaseOrderRequest request) { purchaseOrderBusiness.SignPurchaseOrder(request); } + /// + /// 手动发货 + /// + /// + [HttpPost] + public void ManualDelivery([FromBody] ManualDeliveryRequest request) + { + purchaseOrderBusiness.ManualDelivery(request); + } + /// /// 1688回调 /// diff --git a/BBWYB.Server.Business/Extensions/OrderStateExtension.cs b/BBWYB.Server.Business/Extensions/OrderStateExtension.cs index 14c2bdb..9199402 100644 --- a/BBWYB.Server.Business/Extensions/OrderStateExtension.cs +++ b/BBWYB.Server.Business/Extensions/OrderStateExtension.cs @@ -25,9 +25,9 @@ namespace BBWYB.Server.Business order.OrderState == Enums.OrderState.待完结) return; - if (orderSkuList == null || orderSkuList.Count() == 0) + if (orderSkuList == null) orderSkuList = fsql.Select().Where(osku => osku.OrderId == order.Id).ToList(); - if (orderPurchaseInfoList == null || orderPurchaseInfoList.Count() == 0) + if (orderPurchaseInfoList == null) orderPurchaseInfoList = fsql.Select().Where(opi => opi.OrderId == order.Id && opi.IsEnabled == true).ToList(); #region 等待采购 @@ -58,8 +58,10 @@ namespace BBWYB.Server.Business #endregion #region 部分发货 - if (orderPurchaseInfoList.Any(opi => opi.OrderState == Enums.PurchaseOrderState.待收货) && - orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.待收货) < orderPurchaseInfoList.Count()) + if (orderPurchaseInfoList.Any(opi => opi.OrderState == Enums.PurchaseOrderState.待收货 || + opi.OrderState == Enums.PurchaseOrderState.部分发货) && + orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.待收货 || + opi.OrderState == Enums.PurchaseOrderState.部分发货) < orderPurchaseInfoList.Count()) { order.OrderState = Enums.OrderState.部分发货; return; @@ -75,8 +77,10 @@ namespace BBWYB.Server.Business #endregion #region 部分收货 - if (orderPurchaseInfoList.Any(opi => opi.OrderState == Enums.PurchaseOrderState.已签收) && - orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.已签收) < orderPurchaseInfoList.Count()) + if (orderPurchaseInfoList.Any(opi => opi.OrderState == Enums.PurchaseOrderState.已签收 || + opi.OrderState == Enums.PurchaseOrderState.部分收货) && + orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.已签收|| + opi.OrderState == Enums.PurchaseOrderState.部分收货) < orderPurchaseInfoList.Count()) { order.OrderState = Enums.OrderState.部分收货; return; @@ -84,12 +88,88 @@ namespace BBWYB.Server.Business #endregion #region 打包中 - if (orderPurchaseInfoList.Count() == orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.已签收)) + if (orderPurchaseInfoList.Any(opi => opi.OrderState == Enums.PurchaseOrderState.已签收) && + orderPurchaseInfoList.Count(opi => opi.OrderState == Enums.PurchaseOrderState.已签收) == orderPurchaseInfoList.Count()) { order.OrderState = Enums.OrderState.打包中; return; } #endregion } + + + + /// + /// 计算采购单状态 + /// + /// + /// + /// + /// + public static void CalculationOrderState(this OrderPurchaseInfo orderPurchaseInfo, + IFreeSql fsql, + IList orderPurchaseSkuList = null, + IList purchaseExpressOrderList = null) + { + if (orderPurchaseInfo.OrderState == Enums.PurchaseOrderState.已取消) + return; + + if (orderPurchaseSkuList == null) + orderPurchaseSkuList = fsql.Select().Where(ops => ops.PurchaseOrderId == orderPurchaseInfo.PurchaseOrderId).ToList(); + if (purchaseExpressOrderList == null) + purchaseExpressOrderList = fsql.Select().Where(exo => exo.PurchaseOrderId == orderPurchaseInfo.PurchaseOrderId).ToList(); + + /* + 待发货 = 0, + 部分发货 = 1, + 待收货 = 10, + 部分收货 = 11, + 已签收 = 20, + 已取消 = 100 + */ + + #region 待发货 + if (orderPurchaseSkuList.Count() == orderPurchaseSkuList.Count(ops => string.IsNullOrEmpty(ops.WaybillNo))) + { + orderPurchaseInfo.OrderState = Enums.PurchaseOrderState.待发货; + return; + } + #endregion + + #region 部分发货 + if (orderPurchaseSkuList.Any(ops => string.IsNullOrEmpty(ops.WaybillNo)) && + orderPurchaseSkuList.Count(ops => string.IsNullOrEmpty(ops.WaybillNo)) < orderPurchaseSkuList.Count()) + { + orderPurchaseInfo.OrderState = Enums.PurchaseOrderState.部分发货; + return; + } + #endregion + + #region 待收货 + if (purchaseExpressOrderList.Count(exo => exo.ExpressState == "QianShou") == 0) + { + orderPurchaseInfo.OrderState = Enums.PurchaseOrderState.待收货; + return; + } + #endregion + + #region 部分收货 + if (purchaseExpressOrderList.Any(exo => exo.ExpressState == "QianShou") && + purchaseExpressOrderList.Count(exo => exo.ExpressState == "QianShou") < purchaseExpressOrderList.Count()) + { + orderPurchaseInfo.OrderState = Enums.PurchaseOrderState.部分收货; + return; + } + #endregion + + #region 已签收 + if (purchaseExpressOrderList.Any(exo => exo.ExpressState == "QianShou") && + purchaseExpressOrderList.Count(exo => exo.ExpressState == "QianShou") == purchaseExpressOrderList.Count()) + { + orderPurchaseInfo.OrderState = Enums.PurchaseOrderState.已签收; + return; + } + #endregion + } } } diff --git a/BBWYB.Server.Business/Extensions/PurchaseOrderStateExtension.cs b/BBWYB.Server.Business/Extensions/PurchaseOrderStateExtension.cs deleted file mode 100644 index fcc8220..0000000 --- a/BBWYB.Server.Business/Extensions/PurchaseOrderStateExtension.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace BBWYB.Server.Business.Extensions -{ - internal class PurchaseOrderStateExtension - { - } -} diff --git a/BBWYB.Server.Business/KuaiDi100Manager.cs b/BBWYB.Server.Business/KuaiDi100Manager.cs index 5878531..8be983f 100644 --- a/BBWYB.Server.Business/KuaiDi100Manager.cs +++ b/BBWYB.Server.Business/KuaiDi100Manager.cs @@ -33,15 +33,17 @@ namespace BBWYB.Server.Business /// /// /// - public void SubscribeKuaiDi100(string waybillno, string sourceExpressName, string kuaidi100CompanyCode,string callbackUrl) + public void SubscribeKuaiDi100(string waybillno, string sourceExpressName, string kuaidi100CompanyCode, string callbackUrl) { if (string.IsNullOrEmpty(sourceExpressName) && string.IsNullOrEmpty(kuaidi100CompanyCode)) ThrowSubscribeError(waybillno, sourceExpressName, kuaidi100CompanyCode, "原始快递公司名称和快递100公司编码必须任意一个有值"); if (string.IsNullOrEmpty(kuaidi100CompanyCode)) + { kuaidi100CompanyCode = expressCompanyNameConverter.ConverterToKuaiDi100CompanyCode(sourceExpressName); - if (string.IsNullOrEmpty(kuaidi100CompanyCode)) - ThrowSubscribeError(waybillno, sourceExpressName, kuaidi100CompanyCode, "无翻译结果"); + if (string.IsNullOrEmpty(kuaidi100CompanyCode)) + ThrowSubscribeError(waybillno, sourceExpressName, kuaidi100CompanyCode, "无翻译结果"); + } var paramStr = JsonConvert.SerializeObject(new { diff --git a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs index e8f9ab5..c31ea03 100644 --- a/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs +++ b/BBWYB.Server.Business/PurchaseOrder/PurchaseOrderBusiness.cs @@ -850,6 +850,122 @@ namespace BBWYB.Server.Business }); } + /// + /// 手动发货 + /// + /// + public void ManualDelivery(ManualDeliveryRequest request) + { + #region 准备数据库更新对象 + List insertPurchaseExpressOrderList = new List(); + IList> updateOrderPurchaseSkuList = new List>(); + IUpdate updateOrderPurchase = null; + IUpdate updateOrder = null; + #endregion + + #region 查询该笔采购单的快递单信息 + var purchaseExpressOrderList = fsql.Select().Where(x => x.PurchaseOrderId == request.PurchaseOrderId).ToList(); + bool isExists = purchaseExpressOrderList.Any(exo => exo.WaybillNo == request.WaybillNo); + #endregion + + #region 查询当前采购单的订单信息 + var dbOrder = fsql.Select().InnerJoin((opi, o) => opi.OrderId == o.Id) + .Where((opi, o) => opi.PurchaseOrderId == request.PurchaseOrderId && opi.IsEnabled == true) + .ToOne((opi, o) => new Order + { + Id = o.Id, + OrderState = o.OrderState, + ShopId = o.ShopId + }); + if (dbOrder == null) + throw new BusinessException("未查询到采购单的订单信息"); + #endregion + + #region 查询订单的全部采购单信息 + var orderPurchaseInfoList = fsql.Select().Where(opi => opi.OrderId == dbOrder.Id && opi.IsEnabled == true).ToList(); + var orderPurchaseInfo = orderPurchaseInfoList.FirstOrDefault(opi => opi.PurchaseOrderId == request.PurchaseOrderId); + if (orderPurchaseInfo == null) + throw new BusinessException("未查询到采购单信息"); + #endregion + + #region 查询采购关联信息 + var orderPurchaseRelationList = fsql.Select().Where(opri => opri.PurchaseOrderId == request.PurchaseOrderId && + opri.BelongSkuId == request.SkuId).ToList(); + if (orderPurchaseRelationList.Count() == 0) + throw new BusinessException("未查询到采购单的关联信息"); + #endregion + + #region 查询该笔采购单的采购sku信息并更新快递单号 + var orderPurchaseSkuList = fsql.Select().Where(x => x.PurchaseOrderId == request.PurchaseOrderId).ToList(); + if (orderPurchaseSkuList.Count() == 0) + throw new BusinessException("未查询到采购单sku信息"); + + foreach (var relation in orderPurchaseRelationList) + { + var orderPurchaseSku = orderPurchaseSkuList.FirstOrDefault(posku => posku.PurchaseSkuId == relation.PurchaseSkuId); + if (orderPurchaseSku == null) + throw new BusinessException("未查询到采购单sku信息"); + if (orderPurchaseSku.WaybillNo != request.WaybillNo) + { + orderPurchaseSku.WaybillNo = request.WaybillNo; + updateOrderPurchaseSkuList.Add(fsql.Update(orderPurchaseSku.Id).Set(ps => ps.WaybillNo, request.WaybillNo)); + } + } + #endregion + + #region 订阅快递100 + if (!isExists) + kuaiDi100Manager.SubscribeKuaiDi100(request.WaybillNo, string.Empty, request.ExpressId, "http://bbwyb.qiyue666.com/api/purchaseorder/kuaidi100publish"); + #endregion + + #region 创建快递单 + if (!isExists) + { + var purchaseExpressOrder = new PurchaseExpressOrder() + { + OrderId = dbOrder.Id, + CreateTime = DateTime.Now, + PurchaseOrderId = request.PurchaseOrderId, + ShopId = dbOrder.ShopId ?? 0, + TargetExpressId = request.ExpressId, + TargetExpressName = request.ExpressName, + WaybillNo = request.WaybillNo, + ExpressState = kuaiDi100Manager.GetExpressState(1) //快递100发货状态值 默认揽收 + }; + insertPurchaseExpressOrderList.Add(purchaseExpressOrder); + } + #endregion + + #region 计算采购单状态 + orderPurchaseInfo.CalculationOrderState(fsql, orderPurchaseSkuList, purchaseExpressOrderList.Union(insertPurchaseExpressOrderList).ToList()); + updateOrderPurchase = fsql.Update(orderPurchaseInfo.Id) + .Set(opi => opi.OrderState, orderPurchaseInfo.OrderState); + #endregion + + #region 计算订单状态 + dbOrder.CalculationOrderState(fsql, null, orderPurchaseInfoList); + updateOrder = fsql.Update(dbOrder.Id) + .Set(o => o.OrderState, dbOrder.OrderState); + #endregion + + #region 通知C端订单状态 + + #endregion + + fsql.Transaction(() => + { + if (insertPurchaseExpressOrderList.Count() > 0) + fsql.Insert(insertPurchaseExpressOrderList).ExecuteAffrows(); + if (updateOrderPurchaseSkuList.Count() > 0) + { + foreach (var update in updateOrderPurchaseSkuList) + update.ExecuteAffrows(); + } + updateOrderPurchase?.ExecuteAffrows(); + updateOrder?.ExecuteAffrows(); + }); + } + /// /// 签收采购单 /// @@ -939,13 +1055,36 @@ namespace BBWYB.Server.Business IUpdate updateOrderPurchase = null; IUpdate updateOrder = null; - #region 查询采购单信息 - currentProgress = "查询采购单信息"; - var orderPurchaseInfo = fsql.Select().Where(o => o.PurchaseOrderId == purchaseOrderId && o.IsEnabled == true).ToOne(); - if (orderPurchaseInfo == null) - throw new Exception("未查询到采购单信息"); - orderId = orderPurchaseInfo.OrderId; - shopId = orderPurchaseInfo.ShopId; + #region 查询当前采购单的订单信息 + currentProgress = "查询当前采购单的订单信息"; + var dbOrder = fsql.Select().InnerJoin((opi, o) => opi.OrderId == o.Id) + .Where((opi, o) => opi.PurchaseOrderId == purchaseOrderId && opi.IsEnabled == true) + .ToOne((opi, o) => new Order + { + Id = o.Id, + OrderState = o.OrderState, + ShopId = o.ShopId + }); + if (dbOrder == null) + throw new Exception("未查询到采购单的订单信息"); + orderId = dbOrder.Id; + shopId = dbOrder.ShopId; + #endregion + + #region 查询订单的全部采购单信息 + currentProgress = "查询订单的全部采购单信息"; + var orderPurchaseInfoList = fsql.Select().Where(opi => opi.OrderId == orderId && opi.IsEnabled == true).ToList(); + var orderPurchaseInfo = orderPurchaseInfoList.FirstOrDefault(opi => opi.PurchaseOrderId == purchaseOrderId); + #endregion + + #region 查询该笔采购单的sku信息 + currentProgress = "查询该笔采购单的sku信息"; + var orderPurchaseSkuList = fsql.Select().Where(x => x.PurchaseOrderId == purchaseOrderId).ToList(); + #endregion + + #region 查询该笔采购单的快递单信息 + currentProgress = "查询该笔采购单的快递单信息"; + var purchaseExpressOrderList = fsql.Select().Where(x => x.PurchaseOrderId == purchaseOrderId).ToList(); #endregion #region 查询采购账号 @@ -970,11 +1109,6 @@ namespace BBWYB.Server.Business wayBillNoResponseInfo = JsonConvert.SerializeObject(new { purchaseOrderId, logisticsList }); #endregion - #region 查询该笔采购单的sku信息和已有快递单信息 - currentProgress = "查询该笔采购单的sku信息和已有快递单信息"; - var orderPurchaseSkuList = fsql.Select().Where(x => x.PurchaseOrderId == purchaseOrderId).ToList(); - var purchaseExpressOrderList = fsql.Select().Where(x => x.PurchaseOrderId == purchaseOrderId).ToList(); - #endregion #region 找出新发货的快递单 foreach (var logisticsInfo in logisticsList) @@ -982,6 +1116,11 @@ namespace BBWYB.Server.Business if (purchaseExpressOrderList.Any(po => po.WaybillNo == logisticsInfo.WayBillNo)) continue; + #region 订阅快递100 + currentProgress = "订阅快递100"; + kuaiDi100Manager.SubscribeKuaiDi100(logisticsInfo.WayBillNo, logisticsInfo.ExpressName, string.Empty, "http://bbwyb.qiyue666.com/api/purchaseorder/kuaidi100publish"); + #endregion + #region 创建快递单 var purchaseExpressOrder = new PurchaseExpressOrder() { @@ -1007,20 +1146,19 @@ namespace BBWYB.Server.Business updateOrderPurchaseSkuList.Add(fsql.Update(orderEntryId).Set(ps => ps.WaybillNo, logisticsInfo.WayBillNo)); } #endregion - - #region 订阅快递100 - currentProgress = "订阅快递100"; - kuaiDi100Manager.SubscribeKuaiDi100(logisticsInfo.WayBillNo, logisticsInfo.ExpressName, string.Empty,""); - #endregion } #endregion #region 计算采购单状态 - + orderPurchaseInfo.CalculationOrderState(fsql, orderPurchaseSkuList, purchaseExpressOrderList.Union(insertPurchaseExpressOrderList).ToList()); + updateOrderPurchase = fsql.Update(orderPurchaseInfo.Id) + .Set(opi => opi.OrderState, orderPurchaseInfo.OrderState); #endregion #region 计算订单状态 - + dbOrder.CalculationOrderState(fsql, null, orderPurchaseInfoList); + updateOrder = fsql.Update(dbOrder.Id) + .Set(o => o.OrderState, dbOrder.OrderState); #endregion #region 通知C端订单状态 @@ -1029,9 +1167,13 @@ namespace BBWYB.Server.Business fsql.Transaction(() => { - fsql.Insert(insertPurchaseExpressOrderList).ExecuteAffrows(); - foreach (var update in updateOrderPurchaseSkuList) - update.ExecuteAffrows(); + if (insertPurchaseExpressOrderList.Count() > 0) + fsql.Insert(insertPurchaseExpressOrderList).ExecuteAffrows(); + if (updateOrderPurchaseSkuList.Count() > 0) + { + foreach (var update in updateOrderPurchaseSkuList) + update.ExecuteAffrows(); + } updateOrderPurchase?.ExecuteAffrows(); updateOrder?.ExecuteAffrows(); }); diff --git a/BBWYB.Server.Model/Dto/Request/PurchaseOrder/ManualDeliveryRequest.cs b/BBWYB.Server.Model/Dto/Request/PurchaseOrder/ManualDeliveryRequest.cs new file mode 100644 index 0000000..71b36c6 --- /dev/null +++ b/BBWYB.Server.Model/Dto/Request/PurchaseOrder/ManualDeliveryRequest.cs @@ -0,0 +1,30 @@ +namespace BBWYB.Server.Model.Dto +{ + public class ManualDeliveryRequest + { + /// + /// 采购单Id + /// + public string PurchaseOrderId { get; set; } + + /// + /// 快递公司Id + /// + public string ExpressId { get; set; } + + /// + /// 快递公司名称 + /// + public string ExpressName { get; set; } + + /// + /// 快递单号 + /// + public string WaybillNo { get; set; } + + /// + /// 订单SkuId (OrderSku对象的SkuId) + /// + public string SkuId { get; set; } + } +} diff --git a/SDKAdapter/ExpressCompanyNameConverter.cs b/SDKAdapter/ExpressCompanyNameConverter.cs index 993a4bc..ddb767a 100644 --- a/SDKAdapter/ExpressCompanyNameConverter.cs +++ b/SDKAdapter/ExpressCompanyNameConverter.cs @@ -86,6 +86,33 @@ namespace SDKAdapter new LogisticsCompanyRelationship(){SourceName="极兔快递(原百世快递)",TargetName="极兔速递"}, new LogisticsCompanyRelationship(){SourceName="极兔速递-原百世快递",TargetName="极兔速递"} }); + + converterDictionary.Add("1688_kuaidi100", new List() + { + new LogisticsCompanyRelationship(){SourceName="中通快递(ZTO)",TargetName="中通快递",TargetCode="zhongtong"}, + new LogisticsCompanyRelationship(){SourceName="中通快运",TargetName="中通快运",TargetCode="zhongtongkuaiyun"}, + new LogisticsCompanyRelationship(){SourceName="圆通速递(YTO)",TargetName="圆通速递",TargetCode="yuantong"}, + new LogisticsCompanyRelationship(){SourceName="邮政国内小包",TargetName="邮政快递包裹",TargetCode="youzhengguonei"}, + new LogisticsCompanyRelationship(){SourceName="韵达快递",TargetName="韵达快递",TargetCode="yunda"}, + new LogisticsCompanyRelationship(){SourceName="申通快递(STO)",TargetName="申通快递",TargetCode="shentong"}, + new LogisticsCompanyRelationship(){SourceName="顺丰速运",TargetName="顺丰快递",TargetCode="shunfeng"}, + new LogisticsCompanyRelationship(){SourceName="顺丰快运",TargetName="顺丰快运",TargetCode="shunfengkuaiyun"}, + new LogisticsCompanyRelationship(){SourceName="百世快递",TargetName="百世快递",TargetCode="huitongkuaidi"}, + new LogisticsCompanyRelationship(){SourceName="德邦",TargetName="德邦物流",TargetCode="debangwuliu"}, + new LogisticsCompanyRelationship(){SourceName="德邦快递",TargetName="德邦快递",TargetCode="debangkuaidi"}, + new LogisticsCompanyRelationship(){SourceName="EMS",TargetName="邮政快递包裹",TargetCode="ems"}, + new LogisticsCompanyRelationship(){SourceName="极兔速递",TargetName="极兔速递",TargetCode="jtexpress"}, + new LogisticsCompanyRelationship(){SourceName="极兔快递(原百世快递)",TargetName="极兔速递",TargetCode="jtexpress"}, + new LogisticsCompanyRelationship(){SourceName="极兔速递-原百世快递",TargetName="极兔速递",TargetCode="jtexpress"}, + new LogisticsCompanyRelationship(){SourceName="安能物流",TargetName="安能物流",TargetCode="annengwuliu"}, + new LogisticsCompanyRelationship(){SourceName="德坤物流",TargetName="德坤物流",TargetCode="dekuncn"}, + new LogisticsCompanyRelationship(){SourceName="壹米滴答",TargetName="壹米滴答",TargetCode="yimidida"}, + new LogisticsCompanyRelationship(){SourceName="优速快递",TargetName="优速快递",TargetCode="youshuwuliu"}, + new LogisticsCompanyRelationship(){SourceName="京广速递",TargetName="京广速递",TargetCode="jinguangsudikuaijian"}, + new LogisticsCompanyRelationship(){SourceName="丰网速运",TargetName="丰网速运",TargetCode="fengwang"}, + new LogisticsCompanyRelationship(){SourceName="顺心捷达",TargetName="顺心捷达",TargetCode="sxjdfreight"}, + new LogisticsCompanyRelationship(){SourceName="快捷快递",TargetName="快捷速递",TargetCode="kuaijiesudi"} + }); } /// @@ -130,7 +157,10 @@ namespace SDKAdapter public string ConverterToKuaiDi100CompanyCode(string sourceName) { - return string.Empty; + var key = "1688_kuaidi100"; + if (!converterDictionary.TryGetValue(key, out IList companyRelationShips)) + return string.Empty; + return companyRelationShips.FirstOrDefault(l => l.SourceName == sourceName)?.TargetCode; } } diff --git a/WebTest/MainWindow.xaml.cs b/WebTest/MainWindow.xaml.cs index fcaaf54..05a29e6 100644 --- a/WebTest/MainWindow.xaml.cs +++ b/WebTest/MainWindow.xaml.cs @@ -50,7 +50,7 @@ namespace WebTest { if (!CheckWebview2Runtime()) { - MessageBox.Show("缺少webview2 runtime,请下载安装之后再运行评价助手"); + MessageBox.Show("缺少webview2 runtime,请下载安装之后再运行"); //下载webview2 runtime //Task.Factory.StartNew(DownloadWebview2Runtime); var webview2RuntimeUrl = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/238fc310-c6c1-4a3e-a806-4a7c3c17b377/MicrosoftEdgeWebView2RuntimeInstallerX64.exe"; @@ -82,9 +82,12 @@ namespace WebTest Login(); w2m.CoreWebView2InitializationCompleted = (e) => { + w2m.wb2.CoreWebView2.PermissionRequested += (sender, args) => + { + if (args.PermissionKind == CoreWebView2PermissionKind.ClipboardRead) + args.State = CoreWebView2PermissionState.Allow; + }; w2m.wb2.CoreWebView2.AddHostObjectToScript("webTestContext", this.globalContext); - //isNavigated = true; - //w2m.wb2.CoreWebView2.Navigate(url); }; w2m.Init(); @@ -92,8 +95,7 @@ namespace WebTest w2m.wb2.Margin = new Thickness(1, 0, 1, 0); grid.Children.Add(w2m.wb2); - - + //if (w2m.IsInitializationCompleted && !isNavigated) //{ // w2m.wb2.CoreWebView2.Navigate(url);