Ejemplo n.º 1
0
 public static void log(HttpContext context, string msg, string uid)
 {
     if (uid == null)
     {
         CLOG.Info(string.Format("{0} ip:{1} uid:null", msg, HandlerHelper.getRemoteIP(context)));
     }
     else
     {
         CLOG.Info(string.Format("{0} ip:{1} uid:{2}", msg, HandlerHelper.getRemoteIP(context), uid));
     }
 }
        public void ProcessRequest(HttpContext context)
        {
            HandlerHelper.log(context, "check_user", context.Request.QueryString["uid"]);
            Dictionary <string, string> data = HandlerHelper.convertParams(context.Request.QueryString);
            bool result = HandlerHelper.checkSign(data, checkOrder, checkKey);

            if (!result)
            {
                WriteResult(context, -2, null);
                return;
            }
            string acc = string.Format("360_{0}", HandlerHelper.UrlDecode(data["uid"]));

            Dictionary <string, object> playerData = MongodbPlayer.Instance.ExecuteGetBykey("player_info", "account", acc);

            if (playerData == null)
            {
                WriteResult(context, -1, null);
            }
            else
            {
                CheckData checkData = new CheckData();
                checkData.uid      = data["uid"];
                checkData.nickname = playerData["nickname"].ToString();
                string sex = playerData["sex"].ToString();
                checkData.sex        = sex == "1"?"m":"f";
                checkData.last_login = playerData["logout_time"].ToString();
                checkData.loginlong  = 1;
                checkData.group      = 1;
                checkData.occupation = "";
                checkData.level      = 1;
                checkData.is_valid   = 1;
                checkData.exp        = 1;
                checkData.createtime = 1;
                try
                {
                    DateTime dt = Convert.ToDateTime(playerData["create_time"].ToString());
                    checkData.createtime = dt.Ticks;
                }
                catch
                {
                }
                WriteResult(context, 0, checkData);
            }
        }
Ejemplo n.º 3
0
        public void ProcessRequest(HttpContext context)
        {
            HandlerHelper.log(context, "exchange", context.Request.Form["uid"]);
            Dictionary <string, string> data = HandlerHelper.convertParams(context.Request.Form);

            Dictionary <string, object> dataLog = new Dictionary <string, object>();

            foreach (var v in data)
            {
                dataLog[v.Key] = v.Value;
            }
            MongodbPayment.Instance.ExecuteInsert("360pay_log", dataLog);

            bool result = HandlerHelper.checkData(data, checkField);

            if (!result)
            {
                WriteResult(context, -1, null);
                return;
            }

            result = HandlerHelper.checkSign(data, checkOrder, checkKey);
            if (!result)
            {
                WriteResult(context, -2, null);
                return;
            }

            int payMoney = 0;

            try
            {
                payMoney = (int)(Convert.ToDouble(data["moneys"]) / 100);
            }
            catch (Exception)
            {
                payMoney = (int)(Convert.ToInt32(data["moneys"]) / 100);
            }
            string giveGem = data["coins"].ToString();
            string orderID = data["order_id"].ToString();
            string acc     = string.Format("360_{0}", HandlerHelper.UrlDecode(data["uid"]));

            if (!MongodbAccount.Instance.KeyExistsBykey("AccountTable", "acc", acc))
            {
                WriteResult(context, 3, null);
                return;
            }

            if (!MongodbPayment.Instance.KeyExistsBykey("360_pay", "OrderID", orderID))
            {
                Dictionary <string, object> savedata = new Dictionary <string, object>();
                savedata["OrderID"]     = orderID;
                savedata["Account"]     = acc;
                savedata["RMB"]         = payMoney;
                savedata["PayCode"]     = giveGem;
                savedata["Custom"]      = 2;//钻石
                savedata["PayTime"]     = DateTime.Now;
                savedata["PayPlatform"] = "360pay";
                savedata["Process"]     = false;

                if (MongodbPayment.Instance.ExecuteInsert("360_pay", savedata))
                {
                    string shoppage = "lobby";
                    if (data.ContainsKey("shoppage"))
                    {
                        shoppage = data["shoppage"].ToString();
                        if (string.IsNullOrEmpty(shoppage))
                        {
                            shoppage = "lobby";
                        }
                    }
                    save_payinfo(shoppage, payMoney);
                    notify_monitor(acc, orderID);
                }
                ExchangeData exchangeData = new ExchangeData();
                exchangeData.order_id  = data["order_id"];
                exchangeData.uid       = data["uid"];
                exchangeData.role_id   = data["role_id"];
                exchangeData.role_name = data["role_name"];
                exchangeData.platfrom  = data["platform"];
                exchangeData.gkey      = data["gkey"];
                exchangeData.skey      = data["skey"];
                exchangeData.coins     = data["coins"];
                exchangeData.moneys    = data["moneys"];
                exchangeData.time      = data["time"];

                WriteResult(context, 0, exchangeData);
            }
            else
            {
                WriteResult(context, 1, null);
            }
        }