// 解封账号dst private OpRes startAcc(DestGmUser dst, GMUser user, ParamStartStopGmAcc p) { SqlUpdateGenerator gen = new SqlUpdateGenerator(); gen.addField("state", GmState.STATE_NORMAL, FieldType.TypeNumber); if (dst.m_accType == AccType.ACC_GENERAL_AGENCY || dst.m_accType == AccType.ACC_AGENCY || dst.m_accType == AccType.ACC_API) { string sql = gen.getResultSql(TableName.GM_ACCOUNT, string.Format(" createCode like '{0}%' ", dst.m_createCode)); int count = user.sqlDb.executeOp(sql, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA); // 解封账号之下的玩家 gen.reset(); gen.addField("enable", 1, FieldType.TypeNumber); sql = gen.getResultSql(TableName.PLAYER_ACCOUNT_XIANXIA, string.Format(" createCode like '{0}%' ", dst.m_createCode)); user.sqlDb.executeOp(sql, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA); return(count > 0 ? OpRes.opres_success : OpRes.op_res_db_failed); } else { string sql = gen.getResultSql(TableName.GM_ACCOUNT, string.Format(" acc= '{0}' ", p.m_acc)); int count = user.sqlDb.executeOp(sql, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA); return(count > 0 ? OpRes.opres_success : OpRes.op_res_db_failed); } }
OpRes modifyAccState(ParamModifyGmProperty p, GMUser user) { ParamStartStopGmAcc param = new ParamStartStopGmAcc(); param.m_acc = p.m_acc; param.m_opType = Convert.ToInt32(p.m_param); OpRes res = user.doDyop(param, DyOpType.opTypeDyOpStartStopGmAcc); return(res); }
public static void stopStartGmAcc(object sender, GMUser user, Table table) { if (!(sender is Button)) { return; } try { Button btn = (Button)sender; ParamStartStopGmAcc param = new ParamStartStopGmAcc(); param.m_acc = btn.CommandArgument; if (btn.CommandName == "start") { param.m_opType = 0; } else { param.m_opType = 1; } OpRes res = user.doDyop(param, DyOpType.opTypeDyOpStartStopGmAcc); Label L = (Label)table.FindControl("Label" + param.m_acc); if (L != null) { L.Text = OpResMgr.getInstance().getResultString(res); L.Style.Clear(); L.Style.Add("color", "red"); if (res == OpRes.opres_success) { Label lblState = (Label)table.FindControl("LabelState" + param.m_acc); if (lblState != null) { lblState.Text = StrName.s_gmStateName[param.m_opType]; } } } } catch (System.Exception ex) { } }
public override OpRes doDyop(object param, GMUser user) { ParamStartStopGmAcc p = (ParamStartStopGmAcc)param; DestGmUser dst = new DestGmUser(p.m_acc, user); if (!dst.m_isExists) { return(OpRes.op_res_no_right); } if (!dst.isDerivedFrom(user)) { return(OpRes.op_res_no_right); } if (p.isStart()) { return(startAcc(dst, user, p)); } return(stopAcc(dst, user, p)); }