i prefer to raise pre to isolate the MP limper if im going to play this hand.

as played, call on the turn seems standard. why would you want to check behind on the river?? can you not think of any worse hands either villain will call a bet with? im also never folding to his raise, your FD is kinda disguised as its a backdoo draw on the flop. he's taken a weird line, but i think this is misplayed flop/turn monsters a fair bit.

sounds like he had a higher flush. sucks, move on. nice hand.