コード例 #1
0
    public override OpRes doDyop(object param, GMUser user)
    {
        ParamDelAcc p   = (ParamDelAcc)param;
        OpRes       res = OpRes.op_res_failed;

        switch (p.m_op)
        {
        case 0:
        {
            res = delGmAcc(p, user);
        }
        break;

        case 1:
        {
            res = delPlayer(p, user);
        }
        break;

        case 2:
        {
            res = delGmOpLog(p, user);
        }
        break;
        }

        return(res);
    }
コード例 #2
0
    // 删除操作日志
    private OpRes delGmOpLog(ParamDelAcc p, GMUser user)
    {
        if (!user.isAdmin())
        {
            return(OpRes.op_res_no_right);
        }

        SqlDeleteGenerator gen = new SqlDeleteGenerator();
        string             cmd = gen.getResultSql(TableName.OPLOG, "1=1");
        int count = user.sqlDb.executeOp(cmd, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA);

        return(count >= 0 ? OpRes.opres_success : OpRes.op_res_db_failed);
    }
コード例 #3
0
        public void ProcessRequest(HttpContext context)
        {
            RightMgr.getInstance().opCheck(RIGHT.DEL_ACCOUNT, context.Session, context.Response);
            ParamDelAcc param = new ParamDelAcc();

            param.m_acc = context.Request.QueryString["acc"];
            param.m_op  = Convert.ToInt32(context.Request.QueryString["op"]);
            GMUser user   = (GMUser)context.Session["user"];
            OpRes  res    = user.doDyop(param, DyOpType.opTypeDelAccount);
            string retStr = OpResMgr.getInstance().getResultString(res);

            context.Response.ContentType = "text/plain";
            context.Response.Write(retStr);
        }
コード例 #4
0
    private OpRes delGmAcc(ParamDelAcc p, GMUser user)
    {
        DestGmUser dst = new DestGmUser(p.m_acc, user);

        if (dst.m_isSelf)
        {
            return(OpRes.op_res_no_right);
        }

        if (!dst.m_isExists)
        {
            return(OpRes.op_res_no_right);
        }

        if (!dst.isDerivedFrom(user))
        {
            return(OpRes.op_res_no_right);
        }

        int childCount = (int)user.sqlDb.getRecordCount(TableName.GM_ACCOUNT,
                                                        string.Format("owner='{0}' ", dst.m_owner), 0, MySqlDbName.DB_XIANXIA);
        SqlUpdateGenerator up = new SqlUpdateGenerator();

        up.addField("childNodeNumber", childCount, FieldType.TypeNumber);
        string sql   = up.getResultSql(TableName.GM_ACCOUNT, string.Format("acc='{0}' and childNodeNumber=0 ", dst.m_owner));
        int    count = user.sqlDb.executeOp(sql, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA);

        if (count >= 0)
        {
            SqlDeleteGenerator gen  = new SqlDeleteGenerator();
            string             cmd1 = gen.getResultSql(TableName.GM_ACCOUNT,
                                                       string.Format(" createCode like '{0}%' ", dst.m_createCode));
            user.sqlDb.executeOp(cmd1, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA);

            string cmd2 = gen.getResultSql(TableName.PLAYER_ACCOUNT_XIANXIA,
                                           string.Format(" createCode like '{0}%' ", dst.m_createCode));
            count = user.sqlDb.executeOp(cmd2, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA);

            return(count >= 0 ? OpRes.opres_success : OpRes.op_res_db_failed);
        }

        return(OpRes.op_res_db_failed);
    }
コード例 #5
0
    private OpRes delPlayer(ParamDelAcc p, GMUser user)
    {
        Player player = new Player(p.m_acc, user);

        if (!player.m_isExists)
        {
            return(OpRes.op_res_player_not_exist);
        }

        if (!player.isDerivedFrom(user))
        {
            return(OpRes.op_res_no_right);
        }

        SqlDeleteGenerator gen = new SqlDeleteGenerator();
        string             cmd = gen.getResultSql(TableName.PLAYER_ACCOUNT_XIANXIA, string.Format("acc='{0}'", p.m_acc));
        int count = user.sqlDb.executeOp(cmd, user.getMySqlServerID(), MySqlDbName.DB_XIANXIA);

        return(count > 0 ? OpRes.opres_success : OpRes.op_res_db_failed);
    }