Beispiel #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!this.Page.IsPostBack)
     {
         SiteSettings masterSettings = SettingsManager.GetMasterSettings();
         if (masterSettings.EmailEnabled)
         {
             this.txtSelectedName.Value = masterSettings.EmailSender.ToLower();
             string text = HiCryptographer.TryDecypt(masterSettings.EmailSettings);
             if (text.StartsWith("<xml>") || text.StartsWith("&lt;xml>"))
             {
                 ConfigData configData = new ConfigData(text);
                 this.txtConfigData.Value = configData.SettingsXml;
             }
         }
     }
 }
Beispiel #2
0
        public static SiteSettings DecrySettings(SiteSettings settings)
        {
            PropertyInfo[] properties = settings.GetType().GetProperties();
            Type           type       = settings.GetType();

            PropertyInfo[] array = properties;
            foreach (PropertyInfo propertyInfo in array)
            {
                MethodInfo getMethod = propertyInfo.GetGetMethod();
                if (getMethod != (MethodInfo)null && getMethod.IsPublic && propertyInfo.CanWrite)
                {
                    object[] customAttributes = propertyInfo.GetCustomAttributes(false);
                    if (customAttributes != null && customAttributes.Length != 0)
                    {
                        for (int j = 0; j < customAttributes.Length; j++)
                        {
                            if (customAttributes[j].GetType() == typeof(GlobalCodeAttribute))
                            {
                                GlobalCodeAttribute globalCodeAttribute = (GlobalCodeAttribute)customAttributes[j];
                                if (globalCodeAttribute != null && propertyInfo.PropertyType == typeof(string))
                                {
                                    if (globalCodeAttribute.IsEncryption)
                                    {
                                        propertyInfo.SetValue(settings, HiCryptographer.TryDecypt(getMethod.Invoke(settings, new object[0]).ToNullString()), null);
                                    }
                                    else if (globalCodeAttribute.IsHtmlCode)
                                    {
                                        propertyInfo.SetValue(settings, Globals.HtmlDecode(getMethod.Invoke(settings, new object[0]).ToNullString()), null);
                                    }
                                    else if (globalCodeAttribute.IsUrlEncode)
                                    {
                                        propertyInfo.SetValue(settings, Globals.UrlDecode(getMethod.Invoke(settings, new object[0]).ToNullString()), null);
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        propertyInfo.SetValue(settings, getMethod.Invoke(settings, new object[0]), null);
                    }
                }
            }
            return(settings);
        }
        private int GetAmount(SiteSettings settings)
        {
            int result = 0;

            if (!string.IsNullOrEmpty(settings.SMSSettings))
            {
                string      xml         = HiCryptographer.TryDecypt(settings.SMSSettings);
                XmlDocument xmlDocument = new XmlDocument();
                xmlDocument.XmlResolver = null;
                xmlDocument.LoadXml(xml);
                string innerText  = xmlDocument.SelectSingleNode("xml/Appkey").InnerText;
                string postData   = "method=getAmount&Appkey=" + innerText;
                string postResult = Globals.GetPostResult("http://sms.huz.cn/getAmount.aspx", postData);
                int    num        = default(int);
                if (int.TryParse(postResult, out num))
                {
                    result = Convert.ToInt32(postResult);
                }
            }
            return(result);
        }
Beispiel #4
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!this.Page.IsPostBack)
     {
         SiteSettings masterSettings = SettingsManager.GetMasterSettings();
         Globals.AppendLog(new Dictionary <string, string>(), "SMSSettings:" + masterSettings.ToString() + "," + masterSettings.SMSEnabled, "", "", "/log/SMSSettings.txt");
         if (masterSettings.SMSEnabled)
         {
             string text = HiCryptographer.TryDecypt(masterSettings.SMSSettings);
             Globals.AppendLog(new Dictionary <string, string>(), "SMSSettings:" + text, "", "", "/log/SMSSettings.txt");
             if (text.StartsWith("<xml>") || text.StartsWith("&lt;xml>"))
             {
                 ConfigData configData = new ConfigData(text);
                 this.txtConfigData.Value = configData.SettingsXml;
                 if (masterSettings != null)
                 {
                     this.lbNum.Text = this.GetAmount(masterSettings);
                 }
             }
         }
         this.txtSelectedName.Value = "hishop.plugins.sms.ymsms";
     }
 }
        private void btnSendGoods_Click(object sender, EventArgs e)
        {
            int num = this.txtSendGoodType.Value.ToInt(0);

            if (this.grdOrderGoods.Items.Count <= 0)
            {
                this.ShowMsg("没有要进行发货的订单。", false);
            }
            else
            {
                int num2 = 0;
                for (int i = 0; i < this.grdOrderGoods.Items.Count; i++)
                {
                    HiddenField hiddenField = (HiddenField)this.grdOrderGoods.Items[i].FindControl("txtDeliveryNo");
                    string      text        = hiddenField.Value.ToNullString();
                    if (num != 2 || !(text == ""))
                    {
                        HiddenField         hiddenField2        = (HiddenField)this.grdOrderGoods.Items[i].FindControl("hidorderId");
                        string              value               = hiddenField2.Value;
                        TextBox             textBox             = (TextBox)this.grdOrderGoods.Items[i].FindControl("txtShippOrderNumber");
                        ExpressDropDownList expressDropDownList = this.grdOrderGoods.Items[i].FindControl("expressList1") as ExpressDropDownList;
                        OrderInfo           orderInfo           = OrderHelper.GetOrderInfo(value);
                        if ((orderInfo.GroupBuyId <= 0 || orderInfo.GroupBuyStatus == GroupBuyStatus.Success) && ((orderInfo.OrderStatus == OrderStatus.WaitBuyerPay && orderInfo.Gateway == "hishop.plugins.payment.podrequest") || orderInfo.OrderStatus == OrderStatus.BuyerAlreadyPaid))
                        {
                            ExpressCompanyInfo expressCompanyInfo = null;
                            switch (num)
                            {
                            case 1:
                                if (!string.IsNullOrEmpty(expressDropDownList.SelectedValue))
                                {
                                    expressCompanyInfo = ExpressHelper.FindNode(expressDropDownList.SelectedValue);
                                }
                                if (expressCompanyInfo != null)
                                {
                                    orderInfo.ExpressCompanyName = expressCompanyInfo.Name;
                                    orderInfo.ExpressCompanyAbb  = expressCompanyInfo.Kuaidi100Code;
                                    orderInfo.ShipOrderNumber    = textBox.Text;
                                }
                                break;

                            case 2:
                                orderInfo.ExpressCompanyName = "同城物流配送";
                                orderInfo.ExpressCompanyAbb  = "";
                                orderInfo.ShipOrderNumber    = "";
                                orderInfo.DadaStatus         = DadaStatus.WaitOrder;
                                break;

                            default:
                                orderInfo.ExpressCompanyName = "";
                                orderInfo.ExpressCompanyAbb  = "";
                                orderInfo.ShipOrderNumber    = "";
                                break;
                            }
                            OrderStatus orderStatus = orderInfo.OrderStatus;
                            if (OrderHelper.SendGoods(orderInfo))
                            {
                                if (expressCompanyInfo != null && !string.IsNullOrEmpty(orderInfo.ExpressCompanyAbb) && orderInfo.ExpressCompanyAbb.ToUpper() == "HTKY")
                                {
                                    ExpressHelper.GetDataByKuaidi100(orderInfo.ExpressCompanyAbb, orderInfo.ShipOrderNumber);
                                }
                                if (orderStatus == OrderStatus.WaitBuyerPay)
                                {
                                    OrderHelper.ChangeStoreStockAndWriteLog(orderInfo);
                                }
                                if (orderInfo.Gateway.ToLower() == "hishop.plugins.payment.podrequest")
                                {
                                    OrderHelper.SetOrderIsStoreCollect(orderInfo.OrderId);
                                    ProductStatisticsHelper.UpdateOrderSaleStatistics(orderInfo);
                                    TransactionAnalysisHelper.AnalysisOrderTranData(orderInfo);
                                }
                                if (!string.IsNullOrEmpty(orderInfo.GatewayOrderId) && orderInfo.GatewayOrderId.Trim().Length > 0)
                                {
                                    PaymentModeInfo paymentMode = SalesHelper.GetPaymentMode(orderInfo.Gateway);
                                    if (paymentMode != null)
                                    {
                                        string         hIGW           = paymentMode.Gateway.Replace(".", "_");
                                        PaymentRequest paymentRequest = PaymentRequest.CreateInstance(paymentMode.Gateway, HiCryptographer.TryDecypt(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");
                                    }
                                }
                                if (orderInfo.ExpressCompanyName == "同城物流配送" && !string.IsNullOrEmpty(text))
                                {
                                    SiteSettings masterSettings = SettingsManager.GetMasterSettings();
                                    DadaHelper.addAfterQuery(masterSettings.DadaSourceID, text);
                                }
                                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_"))
                                    {
                                        string text2 = orderInfo.OuterOrderId.Replace("jd_", "");
                                    }
                                }
                                MemberInfo user = Users.GetUser(orderInfo.UserId);
                                Messenger.OrderShipping(orderInfo, user);
                                orderInfo.OnDeliver();
                                num2++;
                            }
                        }
                    }
                }
                if (num2 == 0)
                {
                    this.ShowMsg("批量发货失败,商品库存不足或者有商品正在退货,换货中的订单不能发货!", false);
                }
                else if (num2 > 0)
                {
                    this.BindData();
                    this.ShowMsg($"批量发货成功!发货数量{num2}个,商品库存不足或者有商品正在退货,换货中的订单不能发货!", true);
                }
            }
        }
Beispiel #6
0
 protected void Page_Load(object sender, EventArgs e)
 {
     this.parameters = new NameValueCollection
     {
         this.Page.Request.Form,
         this.Page.Request.QueryString
     };
     try
     {
         this.Gateway = "Hishop.Plugins.Payment.ShengPayMobile.ShengPayMobileRequest";
         this.Notify  = PaymentNotify.CreateInstance(this.Gateway, this.parameters);
         this.OrderId = this.Notify.GetOrderId();
         this.Order   = ShoppingProcessor.GetOrderInfo(this.OrderId);
         if (this.Order == null)
         {
             Globals.AppendLog(this.parameters, "订单信息为空", this.OrderId, "", "ShengPay_Return1");
             base.Response.Write("OK");
         }
         else
         {
             this.Amount = this.Notify.GetOrderAmount();
             if (this.Amount <= decimal.Zero)
             {
                 this.Amount = this.Order.GetTotal(true);
             }
             this.hasNotify = !string.IsNullOrEmpty(this.Order.GatewayOrderId);
             if (this.Order.PreSaleId > 0 && this.Order.DepositGatewayOrderId.ToNullString() == this.Notify.GetGatewayOrderId())
             {
                 Globals.AppendLog(this.parameters, "预售订单已更新过状态", this.OrderId, "", "ShengPay_Return1");
                 base.Response.Write("OK");
             }
             else
             {
                 if (this.Order.PreSaleId > 0 && !this.Order.DepositDate.HasValue)
                 {
                     this.Order.DepositGatewayOrderId = this.Notify.GetGatewayOrderId();
                 }
                 else
                 {
                     this.Order.GatewayOrderId = this.Notify.GetGatewayOrderId();
                 }
                 PaymentModeInfo paymentMode = ShoppingProcessor.GetPaymentMode("Hishop.Plugins.Payment.ShengPayMobile.ShengPayMobileRequest");
                 if (paymentMode == null)
                 {
                     Globals.AppendLog(this.parameters, "未找到支付方式", this.OrderId, "", "ShengPay_Return1");
                     base.Response.Write("OK");
                 }
                 else
                 {
                     this.Notify.Finished          += this.Notify_Finished;
                     this.Notify.NotifyVerifyFaild += this.Notify_NotifyVerifyFaild;
                     this.Notify.Payment           += this.Notify_Payment;
                     this.Notify.VerifyNotify(30000, HiCryptographer.TryDecypt(paymentMode.Settings));
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Globals.WriteExceptionLog_Page(ex, this.parameters, "ShengPayNotify");
     }
 }
        private void SendEmail(HttpContext context)
        {
            string parameter  = base.GetParameter(context, "content", true);
            string parameter2 = base.GetParameter(context, "ids", true);

            if (string.IsNullOrWhiteSpace(parameter2))
            {
                throw new HidistroAshxException("请先选择要删除的会员账号");
            }
            if (string.IsNullOrEmpty(parameter))
            {
                throw new HidistroAshxException("请先填写发送的内容信息");
            }
            string emailSender = base.CurrentSiteSetting.EmailSender;

            if (string.IsNullOrEmpty(emailSender))
            {
                throw new HidistroAshxException("请先选择发送方式");
            }
            ConfigData configData = null;

            if (base.CurrentSiteSetting.EmailEnabled)
            {
                configData = new ConfigData(HiCryptographer.TryDecypt(base.CurrentSiteSetting.EmailSettings));
            }
            if (configData == null)
            {
                throw new HidistroAshxException("请先选择发送方式并填写配置信息");
            }
            if (!configData.IsValid)
            {
                string text = "";
                foreach (string errorMsg in configData.ErrorMsgs)
                {
                    text += Formatter.FormatErrorMessage(errorMsg);
                }
                throw new HidistroAshxException(text);
            }
            int[] array = (from d in parameter2.Split(',')
                           where !string.IsNullOrWhiteSpace(d)
                           select int.Parse(d)).ToArray();
            parameter2 = string.Join(",", array);
            int    num   = array.Count();
            string text2 = null;
            IEnumerable <MemberInfo> membersById = MemberHelper.GetMembersById(parameter2);

            foreach (MemberInfo item in membersById)
            {
                string email = item.Email;
                if (!string.IsNullOrEmpty(email) && Regex.IsMatch(email, "([a-zA-Z\\.0-9_-])+@([a-zA-Z0-9_-])+((\\.[a-zA-Z0-9_-]{2,4}){1,2})"))
                {
                    text2 = text2 + email + ",";
                }
            }
            if (string.IsNullOrWhiteSpace(text2))
            {
                throw new HidistroAshxException("请先选择要发送的会员或检测邮箱格式是否正确");
            }
            text2 = text2.Substring(0, text2.Length - 1);
            string[] array2 = null;
            array2 = ((!text2.Contains(",")) ? new string[1]
            {
                text2
            } : text2.Split(','));
            MailMessage mailMessage = new MailMessage
            {
                IsBodyHtml      = true,
                Priority        = MailPriority.High,
                SubjectEncoding = Encoding.UTF8,
                BodyEncoding    = Encoding.UTF8,
                Body            = parameter,
                Subject         = "来自" + base.CurrentSiteSetting.SiteName
            };

            string[] array3 = array2;
            foreach (string addresses in array3)
            {
                mailMessage.To.Add(addresses);
            }
            EmailSender emailSender2 = EmailSender.CreateInstance(emailSender, configData.SettingsXml);

            try
            {
                if (emailSender2.Send(mailMessage, Encoding.GetEncoding(HiConfiguration.GetConfig().EmailEncoding)))
                {
                    base.ReturnSuccessResult(context, "发送邮件成功", 0, true);
                    goto end_IL_02fb;
                }
                throw new HidistroAshxException("发送邮件失败");
                end_IL_02fb :;
            }
            catch (Exception)
            {
                throw new HidistroAshxException("发送邮件成功,但存在无效的邮箱账号");
            }
        }
        private void SendSMS(HttpContext context)
        {
            string parameter    = base.GetParameter(context, "content", true);
            string parameter2   = base.GetParameter(context, "ids", true);
            string TemplateCode = "";

            if (string.IsNullOrWhiteSpace(parameter2))
            {
                throw new HidistroAshxException("请先选择要删除的会员账号");
            }
            if (string.IsNullOrEmpty(parameter))
            {
                throw new HidistroAshxException("请先填写发送的内容信息");
            }
            string sMSSender = base.CurrentSiteSetting.SMSSender;

            if (string.IsNullOrEmpty(sMSSender))
            {
                throw new HidistroAshxException("请先选择发送方式");
            }
            ConfigData configData = null;

            if (base.CurrentSiteSetting.SMSEnabled)
            {
                configData = new ConfigData(HiCryptographer.TryDecypt(base.CurrentSiteSetting.SMSSettings));
            }
            if (configData == null)
            {
                throw new HidistroAshxException("请先选择发送方式并填写配置信息");
            }
            if (!configData.IsValid)
            {
                string text = "";
                foreach (string errorMsg in configData.ErrorMsgs)
                {
                    text += Formatter.FormatErrorMessage(errorMsg);
                }
                throw new HidistroAshxException(text);
            }
            int amount = this.GetAmount(base.CurrentSiteSetting);

            int[] array = (from d in parameter2.Split(',')
                           where !string.IsNullOrWhiteSpace(d)
                           select int.Parse(d)).ToArray();
            parameter2 = string.Join(",", array);
            int    num   = array.Count();
            int    num2  = 0;
            string text2 = null;
            IEnumerable <MemberInfo> membersById = MemberHelper.GetMembersById(parameter2);

            foreach (MemberInfo item in membersById)
            {
                string cellPhone = item.CellPhone;
                if (!string.IsNullOrEmpty(cellPhone) && Regex.IsMatch(cellPhone, "^(13|14|15|18|17)\\d{9}$"))
                {
                    text2 = text2 + cellPhone + ",";
                }
            }
            if (string.IsNullOrWhiteSpace(text2))
            {
                throw new HidistroAshxException("请先选择要发送的会员或检测所选手机号格式是否正确");
            }
            text2 = text2.Substring(0, text2.Length - 1);
            string[] array2 = null;
            array2 = ((!text2.Contains(",")) ? new string[1]
            {
                text2
            } : text2.Split(','));
            if (amount < array2.Length)
            {
                throw new HidistroAshxException("发送失败,您的剩余短信条数不足");
            }
            SMSSender sMSSender2 = SMSSender.CreateInstance(sMSSender, configData.SettingsXml);
            string    message    = default(string);

            if (sMSSender2.Send(array2, TemplateCode, parameter, out message))
            {
                base.ReturnSuccessResult(context, (amount - array2.Length).ToString(), 0, true);
                return;
            }
            throw new HidistroAshxException(message);
        }
Beispiel #9
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);
                    }
                }
            }
        }