diff --git a/BBWYB.Server.Business/KuaiDi100Manager.cs b/BBWYB.Server.Business/KuaiDi100Manager.cs index 96815a8..56df7e0 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 @@ -15,11 +16,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, ExpressCompanyNameConverter expressCompanyNameConverter) { 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 sourceExpressName, string kuaidi100CompanyCode, string error) @@ -86,23 +103,10 @@ namespace BBWYB.Server.Business 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); - if (!array[2].Contains("国内")) - continue; - if (!string.IsNullOrEmpty(request.ExpressName) && !array[0].Contains(request.ExpressName)) - continue; - 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(); } }