private string exitGame(MySqlDbServer sqlDb, ParamSaveMoney p) { // sql命令 string sqlCmd = string.Format(SQL_QUERY, TableName.PLAYER_ACCOUNT_XIANXIA, p.m_acc); Dictionary <string, object> data = sqlDb.queryOne(sqlCmd, MySqlDbName.DB_XIANXIA); if (data != null) { int state = Convert.ToInt32(data["state"]); if (state != PlayerState.STATE_GAME) { return(""); } long oriMoney = Convert.ToInt64(data["money"]); sqlCmd = string.Format(SQL_UPDATE, TableName.PLAYER_ACCOUNT_XIANXIA, PlayerState.STATE_IDLE, p.m_money, p.m_acc); int count = sqlDb.executeOp(sqlCmd, MySqlDbName.DB_XIANXIA); if (count > 0) { addGameLog(sqlDb, p.m_acc, oriMoney, p.m_money); return("ok"); } } return(""); }
public string exitToLobby(MySqlDbServer sqlDb, ParamSaveMoney p) { string sqlCmd = string.Format(SQL_UPDATE_TEMP_MONEY, TableName.PLAYER_ACCOUNT_XIANXIA, p.m_money, p.m_acc); int count = sqlDb.executeOp(sqlCmd, MySqlDbName.DB_XIANXIA); return(count > 0 ? "ok" : ""); }
protected void Page_Load(object sender, EventArgs e) { ParamSaveMoney param = new ParamSaveMoney(); param.m_acc = Request.QueryString["acc"]; param.m_moneyStr = Request.QueryString["money"]; param.m_exit = Request.QueryString["exitType"]; DyOpSaveMoney dy = new DyOpSaveMoney(); string retStr = dy.doDyop(param); Response.Write(retStr); // 哪个玩家账号 /*string acc = Request.Params["acc"]; * string m = Request.Params["money"]; * if (string.IsNullOrEmpty(acc) || * string.IsNullOrEmpty(m)) * { * return; * } * * // 现在的钱 * long money = Convert.ToInt64(m); * * string cmd = * string.Format("select state,money from {0} WHERE acc='{1}'", TableName.PLAYER_ACCOUNT_XIANXIA, acc); * * string sqlServer = WebConfigurationManager.AppSettings["mysql"]; * MySqlDbServer db = new MySqlDbServer(sqlServer); * Dictionary<string, object> r = db.queryOne(cmd, MySqlDbName.DB_XIANXIA); * if (r != null) * { * int state = Convert.ToInt32(r["state"]); * if (state != PlayerState.STATE_GAME) * { * return; * } * * long oriMoney = Convert.ToInt64(r["money"]); * * cmd = string.Format("UPDATE {0} set state={1},money={2} where acc='{3}'", * TableName.PLAYER_ACCOUNT_XIANXIA, * PlayerState.STATE_IDLE, * money, * acc); * int cnt = db.executeOp(cmd, MySqlDbName.DB_XIANXIA); * if (cnt > 0) * { * addGameLog(db, acc, oriMoney, money); * Response.Write("ok"); * } * } */ }
public override string doDyop(object param) { ParamSaveMoney p = (ParamSaveMoney)param; int code = p.isParamValid(); if (code != 0) { return(""); } MySqlDbServer sqlDb = new MySqlDbServer(CC.MYSQL_IP); if (p.m_exitType == 0) { return(exitGame(sqlDb, p)); } return(exitToLobby(sqlDb, p)); }