diff --git a/BBWYB.Server.API/Controllers/VenderController.cs b/BBWYB.Server.API/Controllers/VenderController.cs index d28c970..9a75a5c 100644 --- a/BBWYB.Server.API/Controllers/VenderController.cs +++ b/BBWYB.Server.API/Controllers/VenderController.cs @@ -42,10 +42,10 @@ namespace BBWYB.Server.API.Controllers /// 获取快递100物流公司列表 /// /// - [HttpGet] - public IList GetKuaiDi100ExpressCompanyList() + [HttpPost] + public IList GetKuaiDi100ExpressCompanyList([FromBody]KuaiDi100ExpressSearchRequest request) { - return venderBusiness.GetKuaiDi100ExpressCompanyList(); + return venderBusiness.GetKuaiDi100ExpressCompanyList(request); } } } diff --git a/BBWYB.Server.Business/KuaiDi100Manager.cs b/BBWYB.Server.Business/KuaiDi100Manager.cs index 8634475..09630f5 100644 --- a/BBWYB.Server.Business/KuaiDi100Manager.cs +++ b/BBWYB.Server.Business/KuaiDi100Manager.cs @@ -2,6 +2,7 @@ using BBWYB.Common.Models; using Newtonsoft.Json; using SDKAdapter; +using System.Collections.Generic; using System.Reflection; namespace BBWYB.Server.Business @@ -14,10 +15,27 @@ namespace BBWYB.Server.Business public IList KuaiDi100PushStateList_LanShou = new List() { 1, 101, 102, 103 }; public IList KuaiDi100PushStateList_QianShou = new List() { 3, 301, 302, 303, 304 }; public IList KuaiDi100PushStateList_PaiJian = new List() { 5, 501 }; + private IList kuaiDi100ExpressCompanyList; public KuaiDi100Manager(RestApiService restApiService) { this.restApiService = restApiService; + this.expressCompanyNameConverter = expressCompanyNameConverter; + + kuaiDi100ExpressCompanyList = new List(); + var lines = File.ReadAllLines(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "KuaiDi100ExpressCompany.txt"), System.Text.Encoding.UTF8); + foreach (var line in lines) + { + var array = line.Split(',', StringSplitOptions.RemoveEmptyEntries); + if (!array[2].Contains("国内")) + continue; + kuaiDi100ExpressCompanyList.Add(new KuaiDi100ExpressCompany() + { + ExpressId = array[1], + ExpressName = array[0], + Type = array[2] + }); + } } private void ThrowSubscribeError(string waybillno, string kuaidi100CompanyCode, string error) @@ -74,21 +92,12 @@ namespace BBWYB.Server.Business return "Unknow"; } - public IList GetKuaiDi100ExpressCompanyList() + public IList GetKuaiDi100ExpressCompanyList(KuaiDi100ExpressSearchRequest request) { - var lines = File.ReadAllLines(Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), "KuaiDi100ExpressCompany.txt"), System.Text.Encoding.UTF8); - IList list = new List(); - foreach (var line in lines) - { - var array = line.Split(',', StringSplitOptions.RemoveEmptyEntries); - list.Add(new KuaiDi100ExpressCompany() - { - ExpressId = array[1], - ExpressName = array[0], - Type = array[2] - }); - } - return list; + if (string.IsNullOrEmpty(request.ExpressName)) + return kuaiDi100ExpressCompanyList; + else + return kuaiDi100ExpressCompanyList.Where(x => x.ExpressName.Contains(request.ExpressName)).ToList(); } } @@ -109,4 +118,9 @@ namespace BBWYB.Server.Business public string Type { get; set; } } + + public class KuaiDi100ExpressSearchRequest + { + public string ExpressName { get; set; } + } } diff --git a/BBWYB.Server.Business/Order/OrderBusiness.cs b/BBWYB.Server.Business/Order/OrderBusiness.cs index 9bbe68d..b245336 100644 --- a/BBWYB.Server.Business/Order/OrderBusiness.cs +++ b/BBWYB.Server.Business/Order/OrderBusiness.cs @@ -53,8 +53,31 @@ namespace BBWYB.Server.Business .Where(opi => opi.PurchaseOrderId == request.PurchaseOrderId); select = select.Where((o, ocs, oct) => childSelect.Where(opi => opi.OrderId == o.Id).Any()); } - - select = select.WhereIf(request.OrderState != null, (o, ocs, oct) => o.OrderState == request.OrderState) + if (request.OrderState != null) + { + if (request.OrderState == Enums.OrderState.待付款 || + request.OrderState == Enums.OrderState.打包中 || + request.OrderState == Enums.OrderState.待完结 || + request.OrderState == Enums.OrderState.已完成 || + request.OrderState == Enums.OrderState.已取消) + { + select = select.Where((o, ocs, oct) => o.OrderState == request.OrderState); + } + else if (request.OrderState == Enums.OrderState.等待采购) + select = select.Where((o, ocs, oct) => o.OrderState == Enums.OrderState.等待采购 || o.OrderState == Enums.OrderState.部分采购); + } + select = select.WhereIf(request.OrderState == Enums.OrderState.待付款 || + request.OrderState == Enums.OrderState.打包中 || + request.OrderState == Enums.OrderState.待完结 || + request.OrderState == Enums.OrderState.已完成 || + request.OrderState == Enums.OrderState.已取消, + (o, ocs, oct) => o.OrderState == request.OrderState) + .WhereIf(request.OrderState == Enums.OrderState.等待采购, (o, ocs, oct) => o.OrderState == Enums.OrderState.等待采购 || + o.OrderState == Enums.OrderState.部分采购) + .WhereIf(request.OrderState == Enums.OrderState.待发货, (o, ocs, oct) => o.OrderState == Enums.OrderState.待发货 || + o.OrderState == Enums.OrderState.部分发货) + .WhereIf(request.OrderState == Enums.OrderState.待收货, (o, ocs, oct) => o.OrderState == Enums.OrderState.待收货 || + o.OrderState == Enums.OrderState.部分收货) .WhereIf(request.IsWaitConfig, (o, ocs, oct) => o.OrderState != Enums.OrderState.已取消 && o.IsPurchased == true) .WhereIf(request.StartDate != null, (o, ocs, oct) => o.StartTime >= request.StartDate) .WhereIf(request.EndDate != null, (o, ocs, oct) => o.StartTime <= request.EndDate) @@ -163,7 +186,7 @@ namespace BBWYB.Server.Business foreach (var orderPurchaseInfo in order.OrderPurchaseInfoList) { orderPurchaseInfo.OrderPurchaseSkuInfoList = orderPurchaseSkuInfoList.Where(opsi => opsi.PurchaseOrderId == orderPurchaseInfo.PurchaseOrderId).ToList(); - orderPurchaseInfo.PurchaseExpressOrderList = purchaseExpressOrderList.Where(peo=>peo.PurchaseOrderId == orderPurchaseInfo.PurchaseOrderId).ToList(); + orderPurchaseInfo.PurchaseExpressOrderList = purchaseExpressOrderList.Where(peo => peo.PurchaseOrderId == orderPurchaseInfo.PurchaseOrderId).ToList(); } } diff --git a/BBWYB.Server.Business/Vender/VenderBusiness.cs b/BBWYB.Server.Business/Vender/VenderBusiness.cs index 52c61bb..640bba9 100644 --- a/BBWYB.Server.Business/Vender/VenderBusiness.cs +++ b/BBWYB.Server.Business/Vender/VenderBusiness.cs @@ -85,9 +85,9 @@ namespace BBWYB.Server.Business }); } - public IList GetKuaiDi100ExpressCompanyList() + public IList GetKuaiDi100ExpressCompanyList(KuaiDi100ExpressSearchRequest request) { - return kuaiDi100Manager.GetKuaiDi100ExpressCompanyList(); + return kuaiDi100Manager.GetKuaiDi100ExpressCompanyList(request); } } }