|
@ -9,42 +9,32 @@ namespace BBWYB.Server.Business |
|
|
public class KuaiDi100Manager : IDenpendency |
|
|
public class KuaiDi100Manager : IDenpendency |
|
|
{ |
|
|
{ |
|
|
private RestApiService restApiService; |
|
|
private RestApiService restApiService; |
|
|
private ExpressCompanyNameConverter expressCompanyNameConverter; |
|
|
|
|
|
|
|
|
|
|
|
public IList<int> KuaiDi100PushStateList_ZaiTu = new List<int>() { 0, 1001, 1002, 1003 }; |
|
|
public IList<int> KuaiDi100PushStateList_ZaiTu = new List<int>() { 0, 1001, 1002, 1003 }; |
|
|
public IList<int> KuaiDi100PushStateList_LanShou = new List<int>() { 1, 101, 102, 103 }; |
|
|
public IList<int> KuaiDi100PushStateList_LanShou = new List<int>() { 1, 101, 102, 103 }; |
|
|
public IList<int> KuaiDi100PushStateList_QianShou = new List<int>() { 3, 301, 302, 303, 304 }; |
|
|
public IList<int> KuaiDi100PushStateList_QianShou = new List<int>() { 3, 301, 302, 303, 304 }; |
|
|
public IList<int> KuaiDi100PushStateList_PaiJian = new List<int>() { 5, 501 }; |
|
|
public IList<int> KuaiDi100PushStateList_PaiJian = new List<int>() { 5, 501 }; |
|
|
|
|
|
|
|
|
public KuaiDi100Manager(RestApiService restApiService, ExpressCompanyNameConverter expressCompanyNameConverter) |
|
|
public KuaiDi100Manager(RestApiService restApiService) |
|
|
{ |
|
|
{ |
|
|
this.restApiService = restApiService; |
|
|
this.restApiService = restApiService; |
|
|
this.expressCompanyNameConverter = expressCompanyNameConverter; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private void ThrowSubscribeError(string waybillno, string sourceExpressName, string kuaidi100CompanyCode, string error) |
|
|
private void ThrowSubscribeError(string waybillno, string kuaidi100CompanyCode, string error) |
|
|
{ |
|
|
{ |
|
|
throw new Exception($"订阅快递100失败 waybillno:{waybillno} sourceExpressName:{sourceExpressName} kuaidi100CompanyCode:{kuaidi100CompanyCode} error:{error}"); |
|
|
throw new Exception($"订阅快递100失败 waybillno:{waybillno} kuaidi100CompanyCode:{kuaidi100CompanyCode} error:{error}"); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|
/// 订阅快递100
|
|
|
/// 订阅快递100
|
|
|
/// </summary>
|
|
|
/// </summary>
|
|
|
/// <param name="waybillno"></param>
|
|
|
/// <param name="waybillno"></param>
|
|
|
/// <param name="sourceExpressName"></param>
|
|
|
|
|
|
/// <param name="kuaidi100CompanyCode"></param>
|
|
|
/// <param name="kuaidi100CompanyCode"></param>
|
|
|
/// <param name="callbackUrl"></param>
|
|
|
/// <param name="callbackUrl"></param>
|
|
|
public void SubscribeKuaiDi100(string waybillno, string sourceExpressName, string kuaidi100CompanyCode, string callbackUrl) |
|
|
public void SubscribeKuaiDi100(string waybillno, string kuaidi100CompanyCode, string callbackUrl) |
|
|
{ |
|
|
{ |
|
|
if (string.IsNullOrEmpty(sourceExpressName) && string.IsNullOrEmpty(kuaidi100CompanyCode)) |
|
|
|
|
|
ThrowSubscribeError(waybillno, sourceExpressName, kuaidi100CompanyCode, "原始快递公司名称和快递100公司编码必须任意一个有值"); |
|
|
|
|
|
|
|
|
|
|
|
if (string.IsNullOrEmpty(kuaidi100CompanyCode)) |
|
|
if (string.IsNullOrEmpty(kuaidi100CompanyCode)) |
|
|
{ |
|
|
ThrowSubscribeError(waybillno, kuaidi100CompanyCode, "缺少快递100公司编码"); |
|
|
kuaidi100CompanyCode = expressCompanyNameConverter.ConverterToKuaiDi100CompanyCode(sourceExpressName); |
|
|
|
|
|
if (string.IsNullOrEmpty(kuaidi100CompanyCode)) |
|
|
|
|
|
ThrowSubscribeError(waybillno, sourceExpressName, kuaidi100CompanyCode, "无翻译结果"); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
var paramStr = JsonConvert.SerializeObject(new |
|
|
var paramStr = JsonConvert.SerializeObject(new |
|
|
{ |
|
|
{ |
|
@ -60,10 +50,10 @@ namespace BBWYB.Server.Business |
|
|
}); |
|
|
}); |
|
|
var subscribeResult = restApiService.SendRequest("https://poll.kuaidi100.com", "poll", $"schema=json¶m={paramStr}", null, HttpMethod.Post, RestApiService.ContentType_Form); |
|
|
var subscribeResult = restApiService.SendRequest("https://poll.kuaidi100.com", "poll", $"schema=json¶m={paramStr}", null, HttpMethod.Post, RestApiService.ContentType_Form); |
|
|
if (subscribeResult.StatusCode != System.Net.HttpStatusCode.OK) |
|
|
if (subscribeResult.StatusCode != System.Net.HttpStatusCode.OK) |
|
|
ThrowSubscribeError(waybillno, sourceExpressName, kuaidi100CompanyCode, subscribeResult.Content); |
|
|
ThrowSubscribeError(waybillno, kuaidi100CompanyCode, subscribeResult.Content); |
|
|
var subscribeResponse = JsonConvert.DeserializeObject<KuaiDi100SubscribeResponse>(subscribeResult.Content); |
|
|
var subscribeResponse = JsonConvert.DeserializeObject<KuaiDi100SubscribeResponse>(subscribeResult.Content); |
|
|
if (!subscribeResponse.result) |
|
|
if (!subscribeResponse.result) |
|
|
ThrowSubscribeError(waybillno, sourceExpressName, kuaidi100CompanyCode, subscribeResponse.message); |
|
|
ThrowSubscribeError(waybillno, kuaidi100CompanyCode, subscribeResponse.message); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
/// <summary>
|
|
|