diff --git a/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs b/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs index d31d0278..b7f7f67a 100644 --- a/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs +++ b/BBWY.Server.Business/Sync/JD/JDServiceOrderSyncBusiness.cs @@ -514,15 +514,24 @@ huitongkuaidi 百世快递 if (expressOrder == null) throw new Exception($"快递单号{waybillNo} 未找到对应的快递单"); - if (expressOrder.TransportStatus == Enums.TransportState.已入库) //已入库 + + DateTime? signTime = null; + if (expressOrder.TransportStatus == Enums.TransportState.已入库) + { + if (expressOrder.SignTime == null) + { + signTime = GetSignTime(jobject); + fsql.Update(expressOrder.Id).Set(e => e.SignTime, signTime) + .Set(e => e.UpdateTime, DateTime.Now) + .ExecuteAffrows(); + } return; - - IUpdate updateExpressOrder = null; - List> updateServiceOrderList = new List>(); + } var isUpdate = false; Enums.TransportState? newStatus = null; - DateTime? signTime = null; + IUpdate updateExpressOrder = null; + List> updateServiceOrderList = new List>(); if (kuaiDi100PushStateList_zaitu.Contains(state) || kuaiDi100PushStateList_lanshou.Contains(state)) { @@ -539,10 +548,7 @@ huitongkuaidi 百世快递 { isUpdate = true; newStatus = Enums.TransportState.待质检; - - var data = jobject["lastResult"]["data"].Children().FirstOrDefault(d => kuaiDi100PushStateList_qianshou.Contains(d.Value("statusCode"))); - if (data != null) - signTime = DateTime.Parse(data.Value("ftime")); + signTime = GetSignTime(jobject); } } else if (kuaiDi100PushStateList_paijian.Contains(state)) @@ -573,5 +579,14 @@ huitongkuaidi 百世快递 }); } } + + public DateTime? GetSignTime(JObject jobject) + { + DateTime? signTime = null; + var data = jobject["lastResult"]["data"].Children().FirstOrDefault(d => kuaiDi100PushStateList_qianshou.Contains(d.Value("statusCode"))); + if (data != null) + signTime = DateTime.Parse(data.Value("ftime")); + return signTime; + } } }