You might be lucky if you get down to San Juan harbour at about 0800. Most of the catches are already boxed up for various clients.
There is a small fresh fish shop in Alcala also another in San Juan. Both shops have limited choice but the fish is mostly fresh.
Mercadona is your best bet. Lots of choice but the majority of the fish is imported.