Is everything in the cap full metal?
Maybe contact ZL for a new cap. Does the H501 still work?
I don't think so because the light won't work if the spring is not in the center.
Even if full metal the contact may not work due to anodising as well.
The reason why I asked is that if it is full metal you can do the following:
Centre the spring and put some weight on it
Heat the tailcap from the bottom (the anodising will most probably change colour)
Add some soldering from the top to the old soldering points of the spring
Wait for everything to cool down