Royals win second straight over Rangers, 7-4