Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        /// <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
                                                                                     )
                                          ),
                });
            }
        }
Exemplo n.º 3
0
 /// <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);
     }
 }
Exemplo n.º 4
0
 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);
     }
 }