/// <summary> /// 添加京东物流信息 /// </summary> private void AddJdwuliu(JdOrderItem jdOrderitem) { try { //查询京东物流的订单信息 var jdwuliu = JdHelper.orderTrack(jdOrderitem.JdOrderId); if (jdwuliu != null) { JArray objson = JArray.Parse(jdwuliu); LogHelper.Info(string.Format("OTMSJobobj京东信息:{0}", objson.ToString())); StringBuilder sb = new StringBuilder(); sb.Append("insert into JdExpressTrace (Id,ExpRouteId,AcceptTime,AcceptStation,Remark) values"); foreach (var _item in objson) { sb.Append("("); sb.Append("'" + Guid.NewGuid() + "','" + jdOrderitem.Id + "','" + DateTime.Parse(_item["msgTime"].ToString()) + "','" + _item["content"].ToString().Trim() + "',''"); sb.Append("),"); } sb.Remove(sb.Length - 1, 1); JdExpressTrace.ObjectSet().Context.ExecuteStoreCommand(sb.ToString()); } } catch (Exception ex) { LogHelper.Info(string.Format("OTMSJob添加京东物流异常信息:{0}", ex)); } }
/// <summary> /// 删除京东物流信息 /// </summary> private ResultDTO DeleteJdwuliu(List <JdExpressTrace> jdExpresstrace) { ResultDTO dto = null; try { Guid ExpRouteId = jdExpresstrace.FirstOrDefault().ExpRouteId; string sql = " delete from JdExpressTrace where ExpRouteId='" + ExpRouteId + "'"; JdExpressTrace.ObjectSet().Context.ExecuteStoreCommand(sql); dto = new ResultDTO() { ResultCode = 0, Message = "删除成功", isSuccess = true }; } catch (Exception ex) { LogHelper.Info(string.Format("OTMSJob删除京东物流异常信息:{0}", ex)); dto = new ResultDTO() { ResultCode = 1, Message = ex.Message, isSuccess = false }; } return(dto); }
/// <summary> /// 获取京东物流跟踪信息 /// </summary> public void GetOrderExpressForJdJobExt() { try { //为了避免接口重复调用我只同步30天内的数据 DateTime startTime = DateTime.Now.AddDays(-30); DateTime endTime = DateTime.Now.AddDays(1); var jdOrderitem = JdOrderItem.ObjectSet().Where(p => p.SubTime > startTime && p.SubTime < endTime && p.State != 1).GroupBy(p => p.JdOrderId).Select(p => p.FirstOrDefault()).ToList(); if (jdOrderitem.Any()) { foreach (var _item in jdOrderitem) { //查询京东物流信息是否存在 var jdExpresstrace = JdExpressTrace.ObjectSet().Where(p => p.ExpRouteId == _item.Id).ToList(); if (jdExpresstrace.Count() == 0) { //添加京东物流信息 AddJdwuliu(_item); } else { //先删除在增加 var result = DeleteJdwuliu(jdExpresstrace); if (result.isSuccess == true) { AddJdwuliu(_item); } } } } } catch (Exception ex) { LogHelper.Error(string.Format("GetOrderExpressForJdJobExt错误信息:{0}", ex.Message), ex); } }