示例#1
0
        private void ConfirmOrder(HttpContext context)
        {
            SiteSettings currentSiteSetting = base.CurrentSiteSetting;
            string       text = context.Request.Form["orderId"];

            if (string.IsNullOrWhiteSpace(text))
            {
                throw new HidistroAshxException("异常的参数:订单编号");
            }
            OrderInfo orderInfo = OrderHelper.GetOrderInfo(text);

            if (orderInfo == null)
            {
                throw new HidistroAshxException("异常的参数:订单编号");
            }
            if (orderInfo.IsConfirm || (orderInfo.OrderStatus != OrderStatus.BuyerAlreadyPaid && orderInfo.PaymentTypeId != -3))
            {
                return;
            }
            string empty = string.Empty;

            if (OrderHelper.ConfirmTakeOnStoreOrder(orderInfo, out empty, true, "", false))
            {
                StoresInfo storeById = DepotHelper.GetStoreById(orderInfo.StoreId);
                MemberInfo user      = Users.GetUser(orderInfo.UserId);
                if (user != null)
                {
                    if (!string.IsNullOrEmpty(currentSiteSetting.HiPOSAppId) && !string.IsNullOrEmpty(currentSiteSetting.HiPOSAppSecret) && !string.IsNullOrEmpty(currentSiteSetting.HiPOSMerchantId) && !string.IsNullOrEmpty(currentSiteSetting.HiPOSExpireAt) && currentSiteSetting.HiPOSExpireAt.ToDateTime() > (DateTime?)DateTime.Now)
                    {
                        string empty2  = string.Empty;
                        string siteUrl = currentSiteSetting.SiteUrl;
                        string text2   = Globals.HIPOSTAKECODEPREFIX + orderInfo.TakeCode;
                        empty2 = ((siteUrl.IndexOf("http") >= 0) ? (currentSiteSetting.SiteUrl + "/QRTakeCode.aspx?takeCode=" + text2) : ("http://" + currentSiteSetting.SiteUrl + "/QRTakeCode.aspx?takeCode=" + text2));
                        Messenger.OrderConfirmTakeOnStore(orderInfo, user, storeById, empty2);
                    }
                    else
                    {
                        Messenger.OrderConfirmTakeOnStore(orderInfo, user, storeById, "");
                    }
                    base.ReturnResult(context, true, empty, 0, true);
                }
                return;
            }
            throw new HidistroAshxException(empty);
        }