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++; } }
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++; } }