Exemplo n.º 1
0
        void ChargeOrder(object obj)
        {
            Order           order        = (Order)obj;
            CookieContainer cookie       = new CookieContainer();
            string          checkAccount = PostAndGet.HttpGetString("https://pay.91y.com/servlet/do.ashx?a=changeuser&acc=" + order.TargetAccount + "&t=0.48772043911252916", "", ref cookie, "https://pay.91y.com/tel/");

            WriteLog.Write("订单号:" + order.OrderInsideID + ",代充商品:" + order.ProductName + "代充帐号:" + order.TargetAccount
                           + ",帐号检测提交返回:" + checkAccount, LogPathFile.Recharge);

            string Accounts = Regex.Match(checkAccount, @"Accounts: '(.*?)'").Groups[1].Value;
            string Nickname = Regex.Match(checkAccount, @"Nickname: '(.*?)'").Groups[1].Value;
            string GameID   = Regex.Match(checkAccount, @"GameID: '(.*?)'").Groups[1].Value;

            if (Accounts.Equals("0"))
            {
                order.RechargeMsg    = "帐号错误";
                order.RechargeStatus = (int)OrderRechargeStatus.failure;
                return;
            }

            int count = 0;

            while (order.RechargeStatus == (int)OrderRechargeStatus.processing)
            {
                if (count > 3)
                {
                    order.RechargeStatus = (int)OrderRechargeStatus.failure;
                    break;
                }

                string orderMsg    = ReCharge(order, Accounts, cookie);
                string orderStatus = OrderStatusForXml.GetOrderStatus("91y", orderMsg);

                switch (orderStatus)
                {
                case "成功":
                    order.RechargeStatus = (int)OrderRechargeStatus.successful;
                    break;

                case "失败":
                    order.RechargeStatus = (int)OrderRechargeStatus.failure;
                    break;

                case "重复":
                    order.RechargeStatus = (int)OrderRechargeStatus.processing;
                    break;

                case "可疑":
                    order.RechargeStatus = (int)OrderRechargeStatus.suspicious;
                    break;

                default:
                    order.RechargeStatus = (int)OrderRechargeStatus.suspicious;
                    break;
                }
                count++;
            }
        }
Exemplo n.º 2
0
        void ChargeOrder(object obj)
        {
            Order order = (Order)obj;

            #region 订单判断
            string payment = "";
            if (!Getpayment((int)order.ProductParValue, ref payment))
            {
                order.RechargeMsg    = "充值面值不合法";
                order.RechargeStatus = (int)OrderRechargeStatus.failure;
                return;
            }

            if (CheckStrHelper.IsChinese(order.TargetAccount))
            {
                order.RechargeMsg    = "充值帐号不能为中文";
                order.RechargeStatus = (int)OrderRechargeStatus.failure;
                return;
            }

            if (order.TargetAccount.Length < 6 || order.TargetAccount.Length > 20)
            {
                order.RechargeMsg    = "请输入6~20位字母和数字";
                order.RechargeStatus = (int)OrderRechargeStatus.failure;
                return;
            }
            #endregion

            int count = 0;

            while (order.RechargeStatus == (int)OrderRechargeStatus.processing)
            {
                if (count > 3)
                {
                    order.RechargeStatus = (int)OrderRechargeStatus.failure;
                    break;
                }

                string order_id    = string.Empty;
                string msg         = ReCharge(order, payment, ref order_id);
                string orderStatus = OrderStatusForXml.GetOrderStatus("xunyou", msg);

                order.RechargeMsg += order_id + msg + "||";

                switch (orderStatus)
                {
                case "成功":
                    order.RechargeStatus = (int)OrderRechargeStatus.successful;
                    break;

                case "失败":
                    order.RechargeStatus = (int)OrderRechargeStatus.failure;
                    break;

                case "重复":
                    order.RechargeStatus = (int)OrderRechargeStatus.processing;
                    break;

                case "可疑":
                    order.RechargeStatus = (int)OrderRechargeStatus.suspicious;
                    break;

                default:
                    order.RechargeStatus = (int)OrderRechargeStatus.suspicious;
                    break;
                }
                count++;
            }
        }