protected void btn_swap_openid_Click(object sender, EventArgs e)
        {
            if (this.selectListBox.Items.Count != 1 ||
                string.IsNullOrEmpty(this.selectListBox.Items[0].Value))
            {
                this.errorLabel.Text = TableManager.GetGMTText(720);
                return;
            }

            uint uid_1 = 0;

            uint.TryParse(Request.Form["input_swap_uid_1"].ToString(), out uid_1);
            uint uid_2 = 0;

            uint.TryParse(Request.Form["input_swap_uid_2"].ToString(), out uid_2);

            if (0 == uid_1)
            {
                this.errorLabel.Text = "uid_1 Cannot be null or 0";
            }

            if (0 == uid_2)
            {
                this.errorLabel.Text = "uid_2 Cannot be null or 0";
            }

            string device_id_1 = "", device_id_2 = "";
            string open_id_1 = "", open_id_2 = "";
            string cyuid_1 = "", cyuid_2 = "";

            gmt.Server server = gmt.Server.GetServer(this.selectListBox.Items[0].Value);
            string     sql    = string.Format("SELECT t.uid, device_id, open_id, t.cyuid FROM sglogindb_kr.`tb_user_info` a RIGHT JOIN (SELECT uid, cyuid FROM USER WHERE uid IN ({0}, {1}))t ON a.cyuid = t.cyuid;", uid_1, uid_2);

            DatabaseAssistant.Execute(reader =>
            {
                while (reader.Read())
                {
                    if (reader.GetInt32(0) == uid_1)
                    {
                        device_id_1 = reader.GetString(1);
                        open_id_1   = reader.GetString(2);
                        cyuid_1     = reader.GetString(3);
                    }

                    if (reader.GetInt32(0) == uid_2)
                    {
                        device_id_2 = reader.GetString(1);
                        open_id_2   = reader.GetString(2);
                        cyuid_2     = reader.GetString(3);
                    }
                }
            },
                                      server.DatabaseAddress,
                                      server.DatabasePort,
                                      server.DatabaseCharSet,
                                      server.GameDatabase,
                                      server.DatabaseUserId,
                                      server.DatabasePassword,
                                      sql);

            if (string.IsNullOrEmpty(device_id_1))
            {
                this.errorLabel.Text = "cannot find player! uid: " + uid_1;
                return;
            }

            if (string.IsNullOrEmpty(device_id_2))
            {
                this.errorLabel.Text = "cannot find player! uid: " + uid_2;
                return;
            }

            //if (device_id_1 != device_id_2)
            //{
            //    this.errorLabel.Text = "device id is not the same!";
            //    return;
            //}

            sql = string.Format("update sglogindb_kr.tb_user_info set open_id = '{0}' where cyuid = '{1}'", open_id_2, cyuid_1);
            DatabaseAssistant.Execute(reader =>
            {
            },
                                      server.DatabaseAddress,
                                      server.DatabasePort,
                                      server.DatabaseCharSet,
                                      server.GameDatabase,
                                      server.DatabaseUserId,
                                      server.DatabasePassword,
                                      sql);

            sql = string.Format("update sglogindb_kr.tb_user_info set open_id = '{0}' where cyuid = '{1}'", open_id_1, cyuid_2);
            DatabaseAssistant.Execute(reader =>
            {
            },
                                      server.DatabaseAddress,
                                      server.DatabasePort,
                                      server.DatabaseCharSet,
                                      server.GameDatabase,
                                      server.DatabaseUserId,
                                      server.DatabasePassword,
                                      sql);

            this.errorLabel.Text = "SWAP SUCCESS!";
        }
Example #2
0
        public static string UpdatePlayerRechargeTableData(int limit
                                                           , int offset
                                                           , string sort
                                                           , string order
                                                           , string filter
                                                           )
        {
            #region 数据库查询语句拼接
            string sqlCondi = "";

            if (queryInfo.start_time != new DateTime(0))
            {
                sqlCondi = string.Format(" last_update_time >= '{0}'", queryInfo.start_time.ToLocalTime().ToString("yyyy/MM/dd HH:mm:ss"));
            }

            if (queryInfo.end_time != new DateTime(0))
            {
                sqlCondi = string.Format(" and last_update_time <= '{0}'", queryInfo.end_time.ToLocalTime().ToString("yyyy/MM/dd HH:mm:ss"));
            }

            if (queryInfo.playerId != 0)
            {
                sqlCondi += " and userID = " + queryInfo.playerId;
            }

            if (!string.IsNullOrEmpty(filter))
            {
                sqlCondi += GetFilterStringByJson(filter);
            }
            #endregion

            int totalRows = 0;
            List <PlayerRechargeInfo> rechargeList = new List <PlayerRechargeInfo>();

            #region 查询目标总数
            gmt.Server server = gmt.Server.GetServerAt(0);
            string     sql    = string.Format("SELECT COUNT(state) FROM receipt where 1 {0}", sqlCondi);
            DatabaseAssistant.Execute(reader =>
            {
                if (reader.Read())
                {
                    totalRows = reader.GetInt32(0);
                }
            },
                                      server.BillDatabaseAddress,
                                      server.BillDatabasePort,
                                      server.BillDatabaseCharSet,
                                      server.BillDatabase,
                                      server.BillDatabaseUserId,
                                      server.BillDatabasePassword,
                                      sql);
            #endregion

            if (totalRows != 0)
            {
                string sql_order = "";
                #region 排序
                if (!string.IsNullOrEmpty(sort))
                {
                    sql_order = string.Format("ORDER BY {0} {1}", sort, order);
                }

                #endregion

                StringBuilder sbIds = new StringBuilder();
                #region 查询id集合
                sql = string.Format("select id from receipt where 1 {0} {1} limit {2}, {3}"
                                    , sqlCondi
                                    , sql_order
                                    , offset
                                    , limit
                                    );

                DatabaseAssistant.Execute(reader =>
                {
                    while (reader.Read())
                    {
                        sbIds.Append(reader.GetString(0));
                        sbIds.Append(",");
                    }

                    if (sbIds.Length != 0)
                    {
                        sbIds.Remove(sbIds.Length - 1, 1);
                    }
                },
                                          server.BillDatabaseAddress,
                                          server.BillDatabasePort,
                                          server.BillDatabaseCharSet,
                                          server.BillDatabase,
                                          server.BillDatabaseUserId,
                                          server.BillDatabasePassword,
                                          sql
                                          );

                #endregion

                #region 根据id集合查询结果

                sql = string.Format("SELECT orderID, state, plat_order_id, raw_type, last_update_time FROM receipt where id in ({0}) {1}"
                                    , sbIds.ToString()
                                    , sql_order);

                DatabaseAssistant.Execute(reader =>
                {
                    while (reader.Read())
                    {
                        PlayerRechargeInfo prInfo = new PlayerRechargeInfo();

                        string orderInfo    = reader.GetString(0);
                        string[] orderArray = orderInfo.Split(',');

                        int.TryParse(orderArray[0], out prInfo.userID);
                        prInfo.cyUid = orderArray[2];
                        int.TryParse(orderArray[3], out prInfo.serverId);
                        prInfo.serverIdStr = IntToBytes(prInfo.serverId);

                        mw.RmbShopConfig config = null;
                        string index            = string.Format("{0}-{1}", orderArray[1], orderArray[4]);
                        TableManager.RmbShopTable.TryGetValue(index, out config);
                        if (null == config)
                        {
                            prInfo.goodsName = config.goods_name;
                            prInfo.goodsCost = config.rmb_cost;
                        }
                        else
                        {
                            prInfo.goodsName = TableManager.GetGMTText(719) + "(" + orderArray[4] + ")";
                            prInfo.goodsCost = 0;
                        }

                        int.TryParse(orderArray[5], out prInfo.goodsNum);

                        int nState = reader.GetInt32(1);
                        if (ReceiptStateTable.ContainsKey((EReceiptState)nState))
                        {
                            prInfo.state = ReceiptStateTable[(EReceiptState)nState];
                        }
                        else
                        {
                            prInfo.state = TableManager.GetGMTText(719) + "(" + nState + ")";
                        }

                        prInfo.plat_order_id    = reader.IsDBNull(2) ? "" : reader.GetString(2);
                        prInfo.raw_type         = m_rawType[reader.GetInt16(3)];
                        prInfo.last_update_time = reader.GetDateTime(4).ToString("yyyy-MM-dd HH:mm:ss");

                        rechargeList.Add(prInfo);
                    }
                },
                                          server.BillDatabaseAddress,
                                          server.BillDatabasePort,
                                          server.BillDatabaseCharSet,
                                          server.BillDatabase,
                                          server.BillDatabaseUserId,
                                          server.BillDatabasePassword,
                                          sql);
                #endregion
            }

            string rechargeData = JsonConvert.SerializeObject(rechargeList);
            return(string.Format(@"{{""error"":0, ""data"": {{""total"":{0}, ""rows"":{1} }} }}", totalRows, rechargeData));
        }