Poor you, that must have been very scary!
Things I do:
NEVER everrrrr chase him
don't let the kids chase him, everrrr
Instead RUNNNN the other way, always always make him chase you! Every opportunity you get...
Then have a BIG party when he gets there, coming to me HAS to be the most rewarding thing to my dog, otherwise why make that choice to come see me of he could self reward somewhere else. Never threaten for not coming fast enough, I know that's a tough one but pays off when you need to turn the dog on a dime when he's chasing something!!
While training don't call when you know he won't come, TREAT AND REWARD more frequently with higher value treat and play than anything else.
NEVER call the dog to you to do something unpleasant (give a bath... trim a nail, do a brushing... put on leash...) For all of those I use a different command so that all association with me is the best thing it can be.
Don't look at it as something that needs correcting, just something you haven't trained yet

Start fresh at the beginning, if you have NO recall then he has to earn offleash privileges, leave him on a long line and do same as above... but this way if he starts playin' and running off you just get a hold off the leash,
without getting excited and start walking. If you can't get a hold of the long leash, do not give him attention as he wants you to chase him, not even negative attention (excitement, hollering, chasing)simply walk the other way. THEN when he comes (he will! wait him out) reward and still party, lol, even when you you might be silently stewing, again remember he has to BUILD up that foundation
Also be patient if you haven't really worked on being the most awesome thing in the world every time to your pup, it will take to build that up.
Plus they get more independent as they get older so to lay that foundation is super important, so just give yourself and your dog a lot of patience and make the training FUN for both of you.