Oscar Piastri led a McLaren one-two from Lando Norris in the Chinese Grand Prix after an action-packed weekend.