|
|
@ -117,7 +117,6 @@ huitongkuaidi 百世快递 |
|
|
|
}); |
|
|
|
|
|
|
|
List<ServiceOrder> insertServiceOrderList = new List<ServiceOrder>(); |
|
|
|
List<ExpressOrder> insertExpressOrderList = new List<ExpressOrder>(); |
|
|
|
List<IUpdate<ServiceOrder>> updateServiceOrderList = new List<IUpdate<ServiceOrder>>(); |
|
|
|
|
|
|
|
foreach (var serviceOrderJToken in jtokenList) |
|
|
@ -187,23 +186,6 @@ huitongkuaidi 百世快递 |
|
|
|
TransportDetails = 0 |
|
|
|
}; |
|
|
|
insertServiceOrderList.Add(dbServiceOrder); |
|
|
|
if (isNeedSubscribeKuaiDi100) |
|
|
|
{ |
|
|
|
var expressOrder = new ExpressOrder() |
|
|
|
{ |
|
|
|
Id = idGenerator.NewLong(), |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
ExpressName = string.Empty, |
|
|
|
WayBillNo = string.Empty, |
|
|
|
OrderId = serviceOrderId, |
|
|
|
PackageType = 1, |
|
|
|
ServiceId = serviceId, |
|
|
|
UpdateTime = DateTime.Now, |
|
|
|
PurchaseOrderId = string.Empty, |
|
|
|
TransportStatus = 0 |
|
|
|
}; |
|
|
|
insertExpressOrderList.Add(expressOrder); |
|
|
|
} |
|
|
|
} |
|
|
|
else if (dbServiceOrder.Status != status) |
|
|
|
{ |
|
|
@ -217,8 +199,6 @@ huitongkuaidi 百世快递 |
|
|
|
{ |
|
|
|
if (insertServiceOrderList.Count() > 0) |
|
|
|
fsql.Insert(insertServiceOrderList).ExecuteAffrows(); |
|
|
|
if (insertExpressOrderList.Count() > 0) |
|
|
|
fsql.Insert(insertExpressOrderList).ExecuteAffrows(); |
|
|
|
if (updateServiceOrderList.Count() > 0) |
|
|
|
foreach (var update in updateServiceOrderList) |
|
|
|
update.ExecuteAffrows(); |
|
|
@ -319,30 +299,19 @@ huitongkuaidi 百世快递 |
|
|
|
try |
|
|
|
{ |
|
|
|
var relayAPIHost = GetPlatformRelayAPIHost(shop.PlatformId); |
|
|
|
var serviceOrderList = fsql.Select<ServiceOrder, ExpressOrder>().InnerJoin((s, e) => s.ServiceId == e.ServiceId) |
|
|
|
.Where((s, e) => s.ShopId == shop.Id && |
|
|
|
var serviceOrderList = fsql.Select<ServiceOrder>().Where(s => s.ShopId == shop.Id && |
|
|
|
s.IsNeedSubscribeKuaiDi100 == true && |
|
|
|
s.IsSubscribeKuaiDi100 == false) |
|
|
|
.OrderByDescending((s, e) => s.StatusUpdateTime) |
|
|
|
.OrderByDescending(s => s.StatusUpdateTime) |
|
|
|
.Page(1, 50) |
|
|
|
.ToList((s, e) => new |
|
|
|
{ |
|
|
|
ServiceOrderPId = s.Id, |
|
|
|
ExpressOrderPId = e.Id, |
|
|
|
OrderId = s.OrderId, |
|
|
|
ServiceId = s.ServiceId, |
|
|
|
WaybillNo = e.WayBillNo, |
|
|
|
ExpressName = e.ExpressName |
|
|
|
}); |
|
|
|
.ToList(); |
|
|
|
List<IUpdate<ServiceOrder>> updateSerivceOrderList = new List<IUpdate<ServiceOrder>>(); |
|
|
|
List<IUpdate<ExpressOrder>> updateExpressOrderList = new List<IUpdate<ExpressOrder>>(); |
|
|
|
List<ExpressOrder> insertExpressOrderList = new List<ExpressOrder>(); |
|
|
|
|
|
|
|
foreach (var serviceOrder in serviceOrderList) |
|
|
|
{ |
|
|
|
bool isUpdateDelivery = false, isUpdateSubscribe = false; |
|
|
|
string waybillNo = serviceOrder.WaybillNo; |
|
|
|
string expressName = serviceOrder.ExpressName; |
|
|
|
if (string.IsNullOrEmpty(waybillNo) || string.IsNullOrEmpty(expressName)) |
|
|
|
if (string.IsNullOrEmpty(serviceOrder.WayBillNo) || string.IsNullOrEmpty(serviceOrder.ExpressName)) |
|
|
|
{ |
|
|
|
|
|
|
|
try |
|
|
@ -367,10 +336,10 @@ huitongkuaidi 百世快递 |
|
|
|
|
|
|
|
if (serviceOrderDeliveryResponse.Data != null) |
|
|
|
{ |
|
|
|
waybillNo = serviceOrderDeliveryResponse.Data.Value<string>("expressCode"); |
|
|
|
expressName = serviceOrderDeliveryResponse.Data.Value<string>("expressCompany"); |
|
|
|
serviceOrder.WayBillNo = serviceOrderDeliveryResponse.Data.Value<string>("expressCode"); |
|
|
|
serviceOrder.ExpressName = serviceOrderDeliveryResponse.Data.Value<string>("expressCompany"); |
|
|
|
|
|
|
|
isUpdateDelivery = !string.IsNullOrEmpty(waybillNo) && !string.IsNullOrEmpty(expressName); |
|
|
|
isUpdateDelivery = !string.IsNullOrEmpty(serviceOrder.WayBillNo) && !string.IsNullOrEmpty(serviceOrder.ExpressName); |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
} |
|
|
@ -380,19 +349,19 @@ huitongkuaidi 百世快递 |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (!string.IsNullOrEmpty(serviceOrder.WaybillNo) && !string.IsNullOrEmpty(serviceOrder.ExpressName)) |
|
|
|
if (!string.IsNullOrEmpty(serviceOrder.WayBillNo) && !string.IsNullOrEmpty(serviceOrder.ExpressName)) |
|
|
|
{ |
|
|
|
#region 订阅快递100
|
|
|
|
try |
|
|
|
{ |
|
|
|
var kuaidi100CompanyCode = ConvertToKuaiDi100CompanyCode(expressName); |
|
|
|
var kuaidi100CompanyCode = ConvertToKuaiDi100CompanyCode(serviceOrder.ExpressName); |
|
|
|
var subscribeResult = restApiService.SendRequest("https://poll.kuaidi100.com", "poll", JsonConvert.SerializeObject(new |
|
|
|
{ |
|
|
|
schema = "json", |
|
|
|
param = new |
|
|
|
{ |
|
|
|
company = kuaidi100CompanyCode, |
|
|
|
number = waybillNo, |
|
|
|
number = serviceOrder.WayBillNo, |
|
|
|
key = "SdcRPzxo8802", |
|
|
|
parameters = new |
|
|
|
{ |
|
|
@ -416,32 +385,39 @@ huitongkuaidi 百世快递 |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
} |
|
|
|
if (isUpdateDelivery) |
|
|
|
{ |
|
|
|
var update = fsql.Update<ExpressOrder>(serviceOrder.ExpressOrderPId).SetIf(isUpdateDelivery, e => e.WayBillNo, waybillNo) |
|
|
|
.SetIf(isUpdateDelivery, e => e.ExpressName, expressName); |
|
|
|
updateExpressOrderList.Add(update); |
|
|
|
} |
|
|
|
if (isUpdateSubscribe) |
|
|
|
|
|
|
|
if (isUpdateSubscribe || isUpdateDelivery) |
|
|
|
{ |
|
|
|
var update = fsql.Update<ServiceOrder>(serviceOrder.ServiceOrderPId).SetIf(isUpdateSubscribe, s => s.IsSubscribeKuaiDi100, true); |
|
|
|
var update = fsql.Update<ServiceOrder>(serviceOrder.Id) |
|
|
|
.SetIf(isUpdateDelivery, e => e.WayBillNo, serviceOrder.WayBillNo) |
|
|
|
.SetIf(isUpdateDelivery, e => e.ExpressName, serviceOrder.ExpressName) |
|
|
|
.SetIf(isUpdateSubscribe, s => s.IsSubscribeKuaiDi100, true); |
|
|
|
updateSerivceOrderList.Add(update); |
|
|
|
|
|
|
|
if (isUpdateDelivery) |
|
|
|
{ |
|
|
|
insertExpressOrderList.Add(new ExpressOrder() |
|
|
|
{ |
|
|
|
Id = idGenerator.NewLong(), |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
ExpressName = serviceOrder.ExpressName, |
|
|
|
WayBillNo = serviceOrder.WayBillNo, |
|
|
|
OrderId = serviceOrder.OrderId, |
|
|
|
PackageType = 1, |
|
|
|
UpdateTime = DateTime.Now |
|
|
|
}); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
if (updateExpressOrderList.Count() > 0) |
|
|
|
{ |
|
|
|
foreach (var update in updateExpressOrderList) |
|
|
|
update.ExecuteAffrows(); |
|
|
|
} |
|
|
|
if (insertExpressOrderList.Count() > 0) |
|
|
|
fsql.Insert(insertExpressOrderList).ExecuteAffrows(); |
|
|
|
if (updateSerivceOrderList.Count() > 0) |
|
|
|
{ |
|
|
|
foreach (var update in updateSerivceOrderList) |
|
|
|
update.ExecuteAffrows(); |
|
|
|
} |
|
|
|
}); |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|