/// <summary>
 /// 第三方电商获取订单项物流轨迹信息
 /// </summary>
 /// <param name="orderItemId"></param>
 /// <returns></returns>
 public static ThirdOrderPackageExpress GetExpressInfo(Guid orderItemId)
 {
     if (orderItemId == Guid.Empty)
     {
         return(null);
     }
     try
     {
         var expressSku = ThirdECOrderPackageSku.ObjectSet().Where(p => p.OrderItemId == orderItemId).FirstOrDefault();
         if (expressSku == null)
         {
             return(null);
         }
         var express = new ThirdOrderPackageExpress {
             ExpressCompany = expressSku.ExpressCompany, ExpressNo = expressSku.ExpressNo, ExpressTraceList = new List <ThirdExpressTrace>()
         };
         ThirdECExpressTrace.ObjectSet().Where(p => p.OrderId == expressSku.OrderId && p.PackageId == expressSku.PackageId &&
                                               p.ExpressCompany == expressSku.ExpressCompany && p.ExpressNo == expressSku.ExpressNo).ToList().ForEach(p =>
         {
             express.ExpressTraceList.Add(new ThirdExpressTrace
             {
                 Desc = p.Desc,
                 Time = p.Time.ToString("yyyy-MM-dd HH:mm:ss")
             });
         });
         return(express);
     }
     catch (Exception ex)
     {
         LogHelper.Error(string.Format("ThirdECommerceOrderHelper.GetExpressInfo第三方电商获取订单项物流轨迹信息异常,入参:orderItemId={0}", orderItemId), ex);
     }
     return(null);
 }
Example #2
0
        /// <summary>
        /// 第三方电商获取订单项物流轨迹信息
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="orderItemId"></param>
        /// <returns></returns>
        public static ThirdOrderPackageExpress GetOrderItemExpressTrace(Guid appId, Guid orderItemId)
        {
            var type = GetAppThirdECommerceType(appId);

            if (type == ThirdECommerceTypeEnum.WangYiYanXuan)
            {
                var yxexpress = YXOrderHelper.GetExpressInfo(orderItemId);
                if (yxexpress == null)
                {
                    return(null);
                }
                var express = new ThirdOrderPackageExpress
                {
                    ExpressCompany   = yxexpress.company,
                    ExpressNo        = yxexpress.number,
                    ExpressTraceList = new List <ThirdExpressTrace>()
                };
                if (yxexpress.content != null && yxexpress.content.Count > 0)
                {
                    yxexpress.content.ForEach(p =>
                    {
                        express.ExpressTraceList.Add(new ThirdExpressTrace
                        {
                            Desc = p.desc,
                            Time = p.time
                        });
                    });
                }
                return(express);
            }
            else if (type == ThirdECommerceTypeEnum.ByBiaoZhunJieKou)
            {
                return(ThirdECommerceOrderHelper.GetExpressInfo(orderItemId));
            }
            return(null);
        }