I was just going to post something similar, ie extracting max value. Before I do that, I'll give yours a whirl.

Did you put villain on a range? Based on them calling your 3bet, I would say JJ+, AJs+, AQo+ works.

Villain bet on turn narrows their range to JJ-QQ, AA, AQ+. I would think you'd be at least chopping the pot or are way ahead. Everything in their range is crushed, unless they have AA. Even then you only fear another A. I would call. See if villain takes another stab on turn.