Пример #1
0
    // 解封账号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);
        }
    }
Пример #2
0
    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);
    }
Пример #3
0
    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)
        {
        }
    }
Пример #4
0
    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));
    }