Ejemplo n.º 1
0
        private string sendGoods(HttpContext context)
        {
            string text  = context.Request["OrderNO"].Trim();
            string text2 = context.Request["SndStyle"].Trim();
            string text3 = context.Request["BillID"].Trim();
            IDictionary <string, string> dictionary = new Dictionary <string, string>();

            dictionary.Add("OrderId", text);
            dictionary.Add("SndStyle", text2);
            dictionary.Add("BillID", text3);
            dictionary.Add("ErrorMsg", "");
            if (text.IndexOf(',') > 0)
            {
                return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{不支持合并发货,请选择单个订单}]]></Cause></Rsp>");
            }
            OrderInfo orderInfo = OrderHelper.GetOrderInfo(text);

            if (orderInfo == null)
            {
                return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{未找到此订单}]]></Cause></Rsp>");
            }
            if (orderInfo.OrderStatus == OrderStatus.WaitBuyerPay && OrderHelper.NeedUpdateStockWhenSendGoods(orderInfo) && !OrderHelper.CheckStock(orderInfo))
            {
                return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{订单有商品库存不足,请补充库存后发货!}]]></Cause></Rsp>");
            }
            if (orderInfo.GroupBuyId > 0 && orderInfo.GroupBuyStatus != GroupBuyStatus.Success)
            {
                return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{当前订单为团购订单,团购活动还未成功结束,所以不能发货!}]]></Cause></Rsp>");
            }
            if (!orderInfo.CheckAction(OrderActions.SELLER_SEND_GOODS))
            {
                return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{当前订单状态没有付款或不是等待发货的订单,所以不能发货!}]]></Cause></Rsp>");
            }
            if (string.IsNullOrEmpty(text3.Trim()) || text3.Trim().Length > 20)
            {
                return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{运单号码不能为空,在1至20个字符之间!}]]></Cause></Rsp>");
            }
            ExpressCompanyInfo expressCompanyInfo = ExpressHelper.FindNodeLikeName(text2);

            if (expressCompanyInfo != null)
            {
                orderInfo.ExpressCompanyAbb  = expressCompanyInfo.Kuaidi100Code;
                orderInfo.ExpressCompanyName = expressCompanyInfo.Name;
            }
            else
            {
                orderInfo.ExpressCompanyAbb  = "";
                orderInfo.ExpressCompanyName = text2;
            }
            orderInfo.ShipOrderNumber = text3;
            if (!string.IsNullOrEmpty(orderInfo.OuterOrderId) && orderInfo.OuterOrderId.StartsWith("jd_") && (expressCompanyInfo == null || string.IsNullOrWhiteSpace(expressCompanyInfo.JDCode)))
            {
                return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{此订单是京东订单,所选物流公司不被京东支持!}]]></Cause></Rsp>");
            }
            if (OrderHelper.SendAPIGoods(orderInfo, true))
            {
                string text4 = "";
                if (orderInfo.Gateway == "hishop.plugins.payment.weixinrequest")
                {
                    try
                    {
                        SiteSettings masterSettings = SettingsManager.GetMasterSettings();
                        PayClient    payClient      = new PayClient(masterSettings.WeixinAppId, masterSettings.WeixinAppSecret, masterSettings.WeixinPartnerID, masterSettings.WeixinPartnerKey, masterSettings.WeixinPaySignKey, "", "", "");
                        DeliverInfo  deliverInfo    = new DeliverInfo();
                        deliverInfo.TransId    = orderInfo.GatewayOrderId;
                        deliverInfo.OutTradeNo = orderInfo.OrderId;
                        MemberOpenIdInfo memberOpenIdInfo = Users.GetUser(orderInfo.UserId).MemberOpenIds.FirstOrDefault((MemberOpenIdInfo item) => item.OpenIdType.ToLower() == "hishop.plugins.openid.weixin");
                        if (memberOpenIdInfo != null)
                        {
                            deliverInfo.OpenId = memberOpenIdInfo.OpenId;
                        }
                        payClient.DeliverNotify(deliverInfo);
                    }
                    catch (Exception ex)
                    {
                        dictionary["ErrrorMsg"] = "同步微信支付发货状态失败";
                        Globals.WriteExceptionLog(ex, dictionary, "APISendGoods");
                    }
                }
                else
                {
                    if (!string.IsNullOrEmpty(orderInfo.GatewayOrderId) && orderInfo.GatewayOrderId.Trim().Length > 0)
                    {
                        try
                        {
                            PaymentModeInfo paymentMode = SalesHelper.GetPaymentMode(orderInfo.Gateway);
                            if (paymentMode != null && !string.IsNullOrEmpty(paymentMode.Settings))
                            {
                                string         hIGW           = paymentMode.Gateway.Replace(".", "_");
                                PaymentRequest paymentRequest = PaymentRequest.CreateInstance(paymentMode.Gateway, HiCryptographer.Decrypt(paymentMode.Settings), orderInfo.PayOrderId, orderInfo.GetTotal(false), "订单发货", "订单号-" + orderInfo.PayOrderId, orderInfo.EmailAddress, orderInfo.OrderDate, Globals.FullPath(""), Globals.FullPath(RouteConfig.GetRouteUrl(HttpContext.Current, "PaymentReturn_url", new
                                {
                                    HIGW = hIGW
                                })), Globals.FullPath(RouteConfig.GetRouteUrl(HttpContext.Current, "PaymentNotify_url", new
                                {
                                    HIGW = hIGW
                                })), "");
                                paymentRequest.SendGoods(orderInfo.GatewayOrderId, orderInfo.RealModeName, orderInfo.ShipOrderNumber, "EXPRESS");
                            }
                        }
                        catch (Exception ex2)
                        {
                            dictionary["ErrrorMsg"] = "同步支付接口发货状态失败";
                            Globals.WriteExceptionLog(ex2, dictionary, "APISendGoods");
                        }
                    }
                    if (!string.IsNullOrEmpty(orderInfo.OuterOrderId))
                    {
                        if (orderInfo.OuterOrderId.StartsWith("tb_"))
                        {
                            string text5 = orderInfo.OuterOrderId.Replace("tb_", "");
                            try
                            {
                                string     requestUriString = $"http://order2.kuaidiangtong.com/UpdateShipping.ashx?tid={text5}&companycode={expressCompanyInfo.TaobaoCode}&outsid={orderInfo.ShipOrderNumber}&Host={HiContext.Current.SiteUrl}";
                                WebRequest webRequest       = WebRequest.Create(requestUriString);
                                webRequest.GetResponse();
                            }
                            catch (Exception ex3)
                            {
                                dictionary["ErrrorMsg"] = "同步淘宝发货状态失败";
                                Globals.WriteExceptionLog(ex3, dictionary, "APISendGoods");
                            }
                        }
                        else if (orderInfo.OuterOrderId.StartsWith("jd_"))
                        {
                            string text5 = orderInfo.OuterOrderId.Replace("jd_", "");
                            try
                            {
                                SiteSettings masterSettings2 = SettingsManager.GetMasterSettings();
                                JDHelper.JDOrderOutStorage(masterSettings2.JDAppKey, masterSettings2.JDAppSecret, masterSettings2.JDAccessToken, expressCompanyInfo.JDCode, orderInfo.ShipOrderNumber, text5);
                            }
                            catch (Exception ex4)
                            {
                                dictionary["ErrrorMsg"] = "同步京东发货失败";
                                Globals.WriteExceptionLog(ex4, dictionary, "APISendGoods");
                                text4 = $"同步京东发货失败,京东订单号:{text5},{ex4.Message}\r\n";
                            }
                        }
                    }
                }
                MemberInfo user = Users.GetUser(orderInfo.UserId);
                Messenger.OrderShipping(orderInfo, user);
                orderInfo.OnDeliver();
                return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>1</Result><Cause></Cause></Rsp>");
            }
            return("<?xml version='1.0' encoding='utf-8'?><Rsp><Result>0</Result><Cause><![CDATA[{发货失败,可能是商品库存不足,订单中有商品正在退货、换货状态!}]]></Cause></Rsp>");
        }
Ejemplo n.º 2
0
        private void btnSendGoods_Click(object sender, EventArgs e)
        {
            OrderInfo orderInfo = OrderHelper.GetOrderInfo(this.orderId);
            int       num       = this.radio_sendGoodType.SelectedValue.ToInt(0);
            string    text      = this.txtDeliveryNo.Value.ToNullString();

            if (orderInfo != null)
            {
                if (orderInfo.OrderStatus == OrderStatus.WaitBuyerPay && OrderHelper.NeedUpdateStockWhenSendGoods(orderInfo) && !OrderHelper.CheckStock(orderInfo))
                {
                    this.ShowMsg("订单有商品库存不足,请补充库存后发货!", false);
                }
                else if (orderInfo.GroupBuyId > 0 && orderInfo.GroupBuyStatus != GroupBuyStatus.Success)
                {
                    this.ShowMsg("当前订单为团购订单,团购活动还未成功结束,所以不能发货", false);
                }
                else if (!orderInfo.CheckAction(OrderActions.SELLER_SEND_GOODS))
                {
                    this.ShowMsg("当前订单状态没有付款或不是等待发货的订单,所以不能发货", false);
                }
                else if (num == 2 && text == "")
                {
                    this.ShowMsg("使用同城物流发货需要正确的物流编号", false);
                }
                else
                {
                    ExpressCompanyInfo expressCompanyInfo = null;
                    if (num == 1 && !string.IsNullOrEmpty(this.expressRadioButtonList.SelectedValue))
                    {
                        expressCompanyInfo = ExpressHelper.FindNode(this.expressRadioButtonList.SelectedValue);
                        if (expressCompanyInfo != null)
                        {
                            orderInfo.ExpressCompanyAbb  = expressCompanyInfo.Kuaidi100Code;
                            orderInfo.ExpressCompanyName = expressCompanyInfo.Name;
                        }
                        orderInfo.ShipOrderNumber = this.txtShipOrderNumber.Text;
                        if (!string.IsNullOrEmpty(orderInfo.OuterOrderId) && !string.IsNullOrEmpty(orderInfo.ShipOrderNumber) && orderInfo.OuterOrderId.StartsWith("jd_") && string.IsNullOrWhiteSpace(expressCompanyInfo.JDCode))
                        {
                            this.ShowMsg("此订单是京东订单,所选物流公司不被京东支持", false);
                            return;
                        }
                    }
                    else if (num == 2)
                    {
                        orderInfo.ExpressCompanyName = "同城物流配送";
                        orderInfo.ExpressCompanyAbb  = "";
                        orderInfo.ShipOrderNumber    = "";
                        orderInfo.DadaStatus         = DadaStatus.WaitOrder;
                        if (orderInfo.ExpressCompanyName == "同城物流配送" && !string.IsNullOrEmpty(text))
                        {
                            SiteSettings masterSettings = SettingsManager.GetMasterSettings();
                            DadaHelper.addAfterQuery(masterSettings.DadaSourceID, text);
                        }
                    }
                    if (OrderHelper.SendGoods(orderInfo))
                    {
                        if (!string.IsNullOrEmpty(orderInfo.ExpressCompanyAbb) && orderInfo.ExpressCompanyAbb.ToUpper() == "HTKY")
                        {
                            ExpressHelper.GetDataByKuaidi100(orderInfo.ExpressCompanyAbb, orderInfo.ShipOrderNumber);
                        }
                        if (orderInfo.Gateway.ToNullString().ToLower() == "hishop.plugins.payment.podrequest")
                        {
                            ProductStatisticsHelper.UpdateOrderSaleStatistics(orderInfo);
                            TransactionAnalysisHelper.AnalysisOrderTranData(orderInfo);
                        }
                        string text2 = "";
                        if (orderInfo.Gateway == "hishop.plugins.payment.weixinrequest")
                        {
                            SiteSettings masterSettings2 = SettingsManager.GetMasterSettings();
                            PayClient    payClient       = new PayClient(masterSettings2.WeixinAppId, masterSettings2.WeixinAppSecret, masterSettings2.WeixinPartnerID, masterSettings2.WeixinPartnerKey, masterSettings2.WeixinPaySignKey, "", "", "");
                            DeliverInfo  deliverInfo     = new DeliverInfo();
                            deliverInfo.TransId    = orderInfo.GatewayOrderId;
                            deliverInfo.OutTradeNo = orderInfo.OrderId;
                            MemberOpenIdInfo memberOpenIdInfo = Users.GetUser(orderInfo.UserId).MemberOpenIds.FirstOrDefault((MemberOpenIdInfo item) => item.OpenIdType.ToLower() == "hishop.plugins.openid.weixin");
                            if (memberOpenIdInfo != null)
                            {
                                deliverInfo.OpenId = memberOpenIdInfo.OpenId;
                            }
                            payClient.DeliverNotify(deliverInfo);
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(orderInfo.GatewayOrderId) && orderInfo.GatewayOrderId.Trim().Length > 0)
                            {
                                try
                                {
                                    PaymentModeInfo paymentMode = SalesHelper.GetPaymentMode(orderInfo.Gateway);
                                    if (paymentMode != null && !string.IsNullOrEmpty(paymentMode.Settings))
                                    {
                                        string         hIGW           = paymentMode.Gateway.Replace(".", "_");
                                        PaymentRequest paymentRequest = PaymentRequest.CreateInstance(paymentMode.Gateway, HiCryptographer.Decrypt(paymentMode.Settings), orderInfo.OrderId, orderInfo.GetTotal(false), "订单发货", "订单号-" + orderInfo.OrderId, orderInfo.EmailAddress, orderInfo.OrderDate, Globals.FullPath(""), Globals.FullPath(base.GetRouteUrl("PaymentReturn_url", new
                                        {
                                            HIGW = hIGW
                                        })), Globals.FullPath(base.GetRouteUrl("PaymentNotify_url", new
                                        {
                                            HIGW = hIGW
                                        })), "");
                                        paymentRequest.SendGoods(orderInfo.GatewayOrderId, orderInfo.RealModeName, orderInfo.ShipOrderNumber, "EXPRESS");
                                    }
                                }
                                catch (Exception)
                                {
                                }
                            }
                            if (!string.IsNullOrEmpty(orderInfo.OuterOrderId))
                            {
                                if (orderInfo.OuterOrderId.StartsWith("tb_"))
                                {
                                    string text3 = orderInfo.OuterOrderId.Replace("tb_", "");
                                    try
                                    {
                                        if (expressCompanyInfo != null)
                                        {
                                            string     requestUriString = $"http://order2.kuaidiangtong.com/UpdateShipping.ashx?tid={text3}&companycode={expressCompanyInfo.TaobaoCode}&outsid={orderInfo.ShipOrderNumber}&Host={HiContext.Current.SiteUrl}";
                                            WebRequest webRequest       = WebRequest.Create(requestUriString);
                                            webRequest.GetResponse();
                                        }
                                    }
                                    catch
                                    {
                                    }
                                }
                                else if (orderInfo.OuterOrderId.StartsWith("jd_") && expressCompanyInfo != null)
                                {
                                    string text3 = orderInfo.OuterOrderId.Replace("jd_", "");
                                    try
                                    {
                                        SiteSettings masterSettings3 = SettingsManager.GetMasterSettings();
                                        JDHelper.JDOrderOutStorage(masterSettings3.JDAppKey, masterSettings3.JDAppSecret, masterSettings3.JDAccessToken, expressCompanyInfo.JDCode, orderInfo.ShipOrderNumber, text3);
                                    }
                                    catch (Exception ex2)
                                    {
                                        text2 = $"同步京东发货失败,京东订单号:{text3},{ex2.Message}\r\n";
                                    }
                                }
                            }
                        }
                        MemberInfo user = Users.GetUser(orderInfo.UserId);
                        Messenger.OrderShipping(orderInfo, user);
                        orderInfo.OnDeliver();
                        if (string.IsNullOrWhiteSpace(text2))
                        {
                            this.ShowMsg("发货成功", true);
                            StringBuilder stringBuilder = new StringBuilder();
                            for (int i = 0; i < base.Request.QueryString.Count && base.Request.QueryString.Keys[i] != null; i++)
                            {
                                string text4 = base.Request.QueryString.Keys[i].ToLower();
                                string text5 = base.Request.QueryString[text4];
                                if (!(text4 == "orderid") && !string.IsNullOrEmpty(text5))
                                {
                                    text4 = ((text4 == "searchorderid") ? "orderid" : text4);
                                    stringBuilder.Append("&" + text4 + "=" + text5);
                                }
                            }
                            if (string.IsNullOrWhiteSpace(base.JsCallBack))
                            {
                                base.CloseWindowGo("../sales/manageorder.aspx?1=1" + stringBuilder.ToString());
                            }
                            else
                            {
                                base.CloseWindow(null);
                            }
                        }
                        else
                        {
                            this.ShowMsg($"发货成功\r\n{text2}", true);
                        }
                    }
                    else
                    {
                        this.ShowMsg("发货失败,可能是商品库存不足,订单中有商品正在退货、换货状态", false);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        private void btnSendGoods_Click(object sender, EventArgs e)
        {
            OrderInfo orderInfo = OrderHelper.GetOrderInfo(this.orderId);

            if (orderInfo != null)
            {
                if (orderInfo.OrderStatus == OrderStatus.WaitBuyerPay && OrderHelper.NeedUpdateStockWhenSendGoods(orderInfo) && !OrderHelper.CheckStock(orderInfo))
                {
                    this.ShowMsg("订单有商品库存不足,请补充库存后发货!", false);
                }
                else if (orderInfo.GroupBuyId > 0 && orderInfo.GroupBuyStatus != GroupBuyStatus.Success)
                {
                    this.ShowMsg("当前订单为团购订单,团购活动还未成功结束,所以不能发货", false);
                }
                else if (!orderInfo.CheckAction(OrderActions.SELLER_SEND_GOODS))
                {
                    this.ShowMsg("当前订单状态没有付款或不是等待发货的订单,所以不能发货", false);
                }
                else
                {
                    ExpressCompanyInfo expressCompanyInfo = null;
                    if (!string.IsNullOrEmpty(this.expressRadioButtonList.SelectedValue))
                    {
                        expressCompanyInfo = ExpressHelper.FindNode(this.expressRadioButtonList.SelectedValue);
                        if (expressCompanyInfo != null)
                        {
                            orderInfo.ExpressCompanyAbb  = expressCompanyInfo.Kuaidi100Code;
                            orderInfo.ExpressCompanyName = expressCompanyInfo.Name;
                        }
                        orderInfo.ShipOrderNumber = this.txtShipOrderNumber.Text;
                        if (!string.IsNullOrEmpty(orderInfo.OuterOrderId) && orderInfo.OuterOrderId.StartsWith("jd_") && string.IsNullOrWhiteSpace(expressCompanyInfo.JDCode))
                        {
                            this.ShowMsg("此订单是京东订单,所选物流公司不被京东支持", false);
                            return;
                        }
                    }
                    if (OrderHelper.SendGoods(orderInfo))
                    {
                        if (!string.IsNullOrEmpty(orderInfo.ExpressCompanyAbb) && orderInfo.ExpressCompanyAbb.ToUpper() == "HTKY")
                        {
                            ExpressHelper.GetDataByKuaidi100(orderInfo.ExpressCompanyAbb, orderInfo.ShipOrderNumber);
                        }
                        string text = "";
                        if (orderInfo.Gateway == "hishop.plugins.payment.weixinrequest")
                        {
                            SiteSettings masterSettings = SettingsManager.GetMasterSettings();
                            PayClient    payClient      = new PayClient(masterSettings.WeixinAppId, masterSettings.WeixinAppSecret, masterSettings.WeixinPartnerID, masterSettings.WeixinPartnerKey, masterSettings.WeixinPaySignKey, "", "", "");
                            DeliverInfo  deliverInfo    = new DeliverInfo();
                            deliverInfo.TransId    = orderInfo.GatewayOrderId;
                            deliverInfo.OutTradeNo = orderInfo.OrderId;
                            MemberOpenIdInfo memberOpenIdInfo = Users.GetUser(orderInfo.UserId).MemberOpenIds.FirstOrDefault((MemberOpenIdInfo item) => item.OpenIdType.ToLower() == "hishop.plugins.openid.weixin");
                            if (memberOpenIdInfo != null)
                            {
                                deliverInfo.OpenId = memberOpenIdInfo.OpenId;
                            }
                            payClient.DeliverNotify(deliverInfo);
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(orderInfo.GatewayOrderId) && orderInfo.GatewayOrderId.Trim().Length > 0)
                            {
                                try
                                {
                                    PaymentModeInfo paymentMode = SalesHelper.GetPaymentMode(orderInfo.Gateway);
                                    if (paymentMode != null && !string.IsNullOrEmpty(paymentMode.Settings))
                                    {
                                        string         hIGW           = paymentMode.Gateway.Replace(".", "_");
                                        PaymentRequest paymentRequest = PaymentRequest.CreateInstance(paymentMode.Gateway, HiCryptographer.Decrypt(paymentMode.Settings), orderInfo.OrderId, orderInfo.GetTotal(false), "订单发货", "订单号-" + orderInfo.OrderId, orderInfo.EmailAddress, orderInfo.OrderDate, Globals.FullPath(""), Globals.FullPath(base.GetRouteUrl("PaymentReturn_url", new
                                        {
                                            HIGW = hIGW
                                        })), Globals.FullPath(base.GetRouteUrl("PaymentNotify_url", new
                                        {
                                            HIGW = hIGW
                                        })), "");
                                        paymentRequest.SendGoods(orderInfo.GatewayOrderId, orderInfo.RealModeName, orderInfo.ShipOrderNumber, "EXPRESS");
                                    }
                                }
                                catch (Exception)
                                {
                                }
                            }
                            if (!string.IsNullOrEmpty(orderInfo.OuterOrderId) && expressCompanyInfo != null)
                            {
                                if (orderInfo.OuterOrderId.StartsWith("tb_"))
                                {
                                    string text2 = orderInfo.OuterOrderId.Replace("tb_", "");
                                    try
                                    {
                                        string     requestUriString = $"http://order2.kuaidiangtong.com/UpdateShipping.ashx?tid={text2}&companycode={expressCompanyInfo.TaobaoCode}&outsid={orderInfo.ShipOrderNumber}&Host={HiContext.Current.SiteUrl}";
                                        WebRequest webRequest       = WebRequest.Create(requestUriString);
                                        webRequest.GetResponse();
                                    }
                                    catch
                                    {
                                    }
                                }
                                else if (orderInfo.OuterOrderId.StartsWith("jd_") && expressCompanyInfo != null)
                                {
                                    string text2 = orderInfo.OuterOrderId.Replace("jd_", "");
                                    try
                                    {
                                        SiteSettings masterSettings2 = SettingsManager.GetMasterSettings();
                                        JDHelper.JDOrderOutStorage(masterSettings2.JDAppKey, masterSettings2.JDAppSecret, masterSettings2.JDAccessToken, expressCompanyInfo.JDCode, orderInfo.ShipOrderNumber, text2);
                                    }
                                    catch (Exception ex2)
                                    {
                                        text = $"\r\n同步京东发货失败,京东订单号:{text2},{ex2.Message}\r\n";
                                    }
                                }
                            }
                        }
                        MemberInfo user = Users.GetUser(orderInfo.UserId);
                        Messenger.OrderShipping(orderInfo, user);
                        orderInfo.OnDeliver();
                        if (string.IsNullOrWhiteSpace(text))
                        {
                            this.ShowMsg("发货成功", true);
                            this.CloseWindow("../sales/manageorder.aspx");
                        }
                        else
                        {
                            this.ShowMsg($"发货成功{text}", true);
                        }
                    }
                    else
                    {
                        this.ShowMsg("发货失败,可能是商品库存不足,订单中有商品正在退货、换货状态", false);
                    }
                }
            }
        }
Ejemplo n.º 4
0
        private void btnSendGoods_Click(object sender, EventArgs e)
        {
            string    text      = this.txtDeliveryNo.Value.ToNullString();
            OrderInfo orderInfo = OrderHelper.GetOrderInfo(this.orderId);
            int       num       = this.txtSendGoodType.Value.ToInt(0);

            if (orderInfo != null)
            {
                if (orderInfo.OrderStatus == OrderStatus.WaitBuyerPay && !OrderHelper.CheckStock(orderInfo))
                {
                    this.ShowMsg("订单有商品库存不足,请补充库存后发货!", false);
                }
                else if (orderInfo.GroupBuyId > 0 && orderInfo.GroupBuyStatus != GroupBuyStatus.Success)
                {
                    this.ShowMsg("当前订单为团购订单,团购活动还未成功结束,所以不能发货", false);
                }
                else if (!orderInfo.CheckAction(OrderActions.SELLER_SEND_GOODS) || orderInfo.ItemStatus != 0)
                {
                    this.ShowMsg("当前订单状态没有付款、不是等待发货的订单,或者订单中有商品正在进行退款操作,所以不能发货", false);
                }
                else if (num == 1 && (string.IsNullOrEmpty(this.txtShipOrderNumber.Text.Trim()) || this.txtShipOrderNumber.Text.Trim().Length > 20))
                {
                    this.ShowMsg("运单号码不能为空,在1至20个字符之间", false);
                }
                else if (num == 1 && string.IsNullOrEmpty(this.expressRadioButtonList.SelectedValue))
                {
                    this.ShowMsg("请选择物流公司", false);
                }
                else if (num == 2 && text == "")
                {
                    this.ShowMsg("使用同城物流发货需要正确的物流编号", false);
                }
                else
                {
                    string             text2 = "";
                    ExpressCompanyInfo expressCompanyInfo = null;
                    switch (num)
                    {
                    case 1:
                        if (string.IsNullOrEmpty(this.expressRadioButtonList.SelectedValue))
                        {
                            break;
                        }
                        expressCompanyInfo = ExpressHelper.FindNode(this.expressRadioButtonList.SelectedValue);
                        if (expressCompanyInfo != null)
                        {
                            orderInfo.ExpressCompanyAbb  = expressCompanyInfo.Kuaidi100Code;
                            orderInfo.ExpressCompanyName = expressCompanyInfo.Name;
                        }
                        orderInfo.ShipOrderNumber = this.txtShipOrderNumber.Text;
                        if (string.IsNullOrEmpty(orderInfo.OuterOrderId))
                        {
                            break;
                        }
                        if (!orderInfo.OuterOrderId.StartsWith("jd_") || !string.IsNullOrWhiteSpace(expressCompanyInfo.JDCode))
                        {
                            break;
                        }
                        this.ShowMsg("此订单是京东订单,所选物流公司不被京东支持", false);
                        return;

                    case 0:
                        orderInfo.ExpressCompanyName = "";
                        orderInfo.ExpressCompanyAbb  = "";
                        orderInfo.ShipOrderNumber    = "";
                        break;

                    default:
                        orderInfo.ExpressCompanyName = "同城物流配送";
                        orderInfo.ExpressCompanyAbb  = "";
                        orderInfo.ShipOrderNumber    = "";
                        orderInfo.DadaStatus         = DadaStatus.WaitOrder;
                        break;
                    }
                    OrderStatus orderStatus = orderInfo.OrderStatus;
                    if (OrderHelper.SendGoods(orderInfo))
                    {
                        if (!string.IsNullOrEmpty(orderInfo.ExpressCompanyAbb) && orderInfo.ExpressCompanyAbb.ToUpper() == "HTKY")
                        {
                            ExpressHelper.GetDataByKuaidi100(orderInfo.ExpressCompanyAbb, orderInfo.ShipOrderNumber);
                        }
                        if (orderInfo.Gateway.ToNullString().ToLower() == "hishop.plugins.payment.podrequest")
                        {
                            ProductStatisticsHelper.UpdateOrderSaleStatistics(orderInfo);
                            TransactionAnalysisHelper.AnalysisOrderTranData(orderInfo);
                        }
                        if (orderStatus == OrderStatus.WaitBuyerPay)
                        {
                            OrderHelper.ChangeStoreStockAndWriteLog(orderInfo);
                        }
                        if (orderInfo.Gateway == "hishop.plugins.payment.weixinrequest")
                        {
                            SiteSettings masterSettings = SettingsManager.GetMasterSettings();
                            PayClient    payClient      = new PayClient(masterSettings.WeixinAppId, masterSettings.WeixinAppSecret, masterSettings.WeixinPartnerID, masterSettings.WeixinPartnerKey, masterSettings.WeixinPaySignKey, "", "", "");
                            DeliverInfo  deliverInfo    = new DeliverInfo();
                            deliverInfo.TransId    = orderInfo.GatewayOrderId;
                            deliverInfo.OutTradeNo = orderInfo.PayOrderId;
                            deliverInfo.OpenId     = Users.GetUser(orderInfo.UserId).MemberOpenIds.FirstOrDefault((MemberOpenIdInfo item) => item.OpenIdType.ToLower() == "hishop.plugins.openid.weixin").OpenId;
                            payClient.DeliverNotify(deliverInfo);
                        }
                        else
                        {
                            if (!string.IsNullOrEmpty(orderInfo.GatewayOrderId) && orderInfo.GatewayOrderId.Trim().Length > 0)
                            {
                                try
                                {
                                    PaymentModeInfo paymentMode = SalesHelper.GetPaymentMode(orderInfo.Gateway);
                                    if (paymentMode != null && !string.IsNullOrEmpty(paymentMode.Settings))
                                    {
                                        string         hIGW           = paymentMode.Gateway.Replace(".", "_");
                                        PaymentRequest paymentRequest = PaymentRequest.CreateInstance(paymentMode.Gateway, HiCryptographer.TryDecypt(paymentMode.Settings), orderInfo.PayOrderId, orderInfo.GetTotal(false), "订单发货", "订单号-" + orderInfo.PayOrderId, orderInfo.EmailAddress, orderInfo.OrderDate, Globals.FullPath(""), Globals.FullPath(base.GetRouteUrl("PaymentReturn_url", new
                                        {
                                            HIGW = hIGW
                                        })), Globals.FullPath(base.GetRouteUrl("PaymentNotify_url", new
                                        {
                                            HIGW = hIGW
                                        })), "");
                                        paymentRequest.SendGoods(orderInfo.GatewayOrderId, orderInfo.RealModeName, orderInfo.ShipOrderNumber, "EXPRESS");
                                    }
                                }
                                catch (Exception)
                                {
                                }
                            }
                            if (!string.IsNullOrEmpty(orderInfo.OuterOrderId) && expressCompanyInfo != null)
                            {
                                if (orderInfo.OuterOrderId.StartsWith("tb_"))
                                {
                                    string text3 = orderInfo.OuterOrderId.Replace("tb_", "");
                                    try
                                    {
                                        string     requestUriString = $"http://order2.kuaidiangtong.com/UpdateShipping.ashx?tid={text3}&companycode={expressCompanyInfo.TaobaoCode}&outsid={orderInfo.ShipOrderNumber}&Host={HiContext.Current.SiteUrl}";
                                        WebRequest webRequest       = WebRequest.Create(requestUriString);
                                        webRequest.GetResponse();
                                    }
                                    catch
                                    {
                                    }
                                }
                                else if (orderInfo.OuterOrderId.StartsWith("jd_") && expressCompanyInfo != null)
                                {
                                    string text3 = orderInfo.OuterOrderId.Replace("jd_", "");
                                    try
                                    {
                                        SiteSettings masterSettings2 = SettingsManager.GetMasterSettings();
                                        JDHelper.JDOrderOutStorage(masterSettings2.JDAppKey, masterSettings2.JDAppSecret, masterSettings2.JDAccessToken, expressCompanyInfo.JDCode, orderInfo.ShipOrderNumber, text3);
                                    }
                                    catch (Exception ex2)
                                    {
                                        text2 = $"\r\n同步京东发货失败,京东订单号:{text3},{ex2.Message}\r\n";
                                    }
                                }
                            }
                        }
                        if (orderInfo.ExpressCompanyName == "同城物流配送" && !string.IsNullOrEmpty(text))
                        {
                            SiteSettings masterSettings3 = SettingsManager.GetMasterSettings();
                            DadaHelper.addAfterQuery(masterSettings3.DadaSourceID, text);
                        }
                        int        userId = orderInfo.UserId;
                        MemberInfo user   = Users.GetUser(orderInfo.UserId);
                        Messenger.OrderShipping(orderInfo, user);
                        orderInfo.OnDeliver();
                        if (orderInfo.Gateway.ToLower() == "hishop.plugins.payment.podrequest")
                        {
                            OrderHelper.SetOrderIsStoreCollect(orderInfo.OrderId);
                        }
                        if (string.IsNullOrWhiteSpace(text2))
                        {
                            this.ShowMsg("发货成功", true);
                        }
                        else
                        {
                            this.ShowMsg($"发货成功{text2}", true);
                        }
                    }
                    else
                    {
                        this.ShowMsg("发货失败,可能是商品库存不足,订单中有商品正在退货、换货状态", false);
                    }
                }
            }
        }