Shanghai struggles under orange heatwave alert