/// <summary> /// 订单发货 /// </summary> /// <param name="SessionKey">SessionKey</param> /// <param name="OutNumber">订单编号</param> /// <param name="CompanyCode">物流编码</param> /// <param name="DeliveryNumber">发货单号</param> /// <returns></returns> internal StatusTable ToDelivery(string SessionKey, string OutNumber, string CompanyCode, string DeliveryNumber) { StatusTable st = new StatusTable() { Msg = "" }; if (!String.IsNullOrEmpty(CompanyCode)) { ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json"); LogisticsOfflineSendRequest req = new LogisticsOfflineSendRequest(); req.Tid = long.Parse(OutNumber); req.OutSid = DeliveryNumber; req.CompanyCode = CompanyCode; LogisticsOfflineSendResponse response = client.Execute(req, SessionKey); if (response.Shipping == null) { st.Msg = "解析淘宝发货数据失败,可能该订单状态不允许发货"; } else { st.IsSuccess = response.Shipping.IsSuccess; if (!st.IsSuccess) { st.Msg = "淘宝发货失败"; } } } else { st.IsSuccess = false; st.Msg = "解析淘宝物流公司编码失败"; } return(st); }
/// <summary> /// 用户调用该接口可实现自己联系发货(线下物流) /// </summary> /// <param name="param">参数实体</param> ///<param name="auth">授权参数</param> /// <returns>处理结果</returns> /// <remarks>2103-8-27 陶辉 创建</remarks> public Result SendDelivery(DeliveryParameters param, AuthorizationParameters auth) { var req = new LogisticsOfflineSendRequest { Tid = long.Parse(param.MallOrderId), OutSid = param.HytExpressNo, CompanyCode = param.CompanyCode }; LogisticsOfflineSendResponse offlineSendResponse = client.Execute(req, auth.AuthorizationCode); if (!offlineSendResponse.IsError) { if (offlineSendResponse.Shipping.IsSuccess) { return(new Result() { Status = true, StatusCode = 1 }); } else { return(new Result() { Status = false, StatusCode = -1, Message = "发货异常,请重新操作" }); } } else { return(new Result() { Status = false, StatusCode = -1, Message = GetErrorMsg(offlineSendResponse.ErrCode, string.Format("OrderID:{6},ExpressNO:{7},CompanyCode:{8},Body:{0},ErrCode:{1},ErrMsg:{2},ReqUrl:{3},SubErrCode:{4},SubErrMsg:{5}", offlineSendResponse.Body, offlineSendResponse.ErrCode, offlineSendResponse.ErrMsg, "", offlineSendResponse.SubErrCode, offlineSendResponse.SubErrMsg, param.MallOrderId, param.HytExpressNo, param.CompanyCode ) ), }); } }
/// <summary> /// 自己联系物流(线下物流)发货 /// </summary> /// <param name="strSessionKey"></param> /// <param name="tid"></param> /// <param name="outSid"></param> /// <param name="companyCode"></param> /// <returns></returns> public static Boolean LogisticsOfflineSend(string strSessionKey, string tid, string outSid, string companyCode) { try { ITopClient client = TBManager.GetClient(); LogisticsOfflineSendRequest req = new LogisticsOfflineSendRequest(); req.Tid = long.Parse(tid); req.OutSid = outSid; req.CompanyCode = companyCode; LogisticsOfflineSendResponse rsp = client.Execute(req, strSessionKey); return(rsp.Shipping.IsSuccess); } catch (Exception ex) { ExceptionReporter.WriteLog(ex, ExceptionPostion.TopApi); return(false); } }
public static Boolean orderBatchSending(string tid, string yundanID, string companyCode) { try { ITopClient client = TBManager.GetClient(); LogisticsOfflineSendRequest req = new LogisticsOfflineSendRequest(); req.Tid = Convert.ToInt64(tid); //req.SubTid = "1,2,3"; //req.IsSplit = 0L; req.OutSid = yundanID; req.CompanyCode = companyCode; LogisticsOfflineSendResponse response = client.Execute(req, Users.SessionKey); return(response.Shipping.IsSuccess); } catch (Exception ex) { CHENGTUAN.Components.ExceptionReporter.WriteLog(ex, CHENGTUAN.Entity.ExceptionPostion.TopApi); return(false); } }