That sounds more like a personal problem. If you let one person ruin your day, and your service, then you probably should explore an alternative line of work. Working with customers always presents an opportunity for a customer to give you a hard time. Yes, some people are just jerks, but at the same time, that guy snapping at you could just as easily be some other guy that had his day shot because some twit at HIS work put him in a sour mood for the rest of the day.
If someone is in a bad mood, little things will set them off, and you can't let this affect you.
I was a manager at a local restaurant, and I couldn't afford to let myself get down with one stupid customer. It was hard enough keeping the servers' minds in the game when they had a bitchy customer. The manager losing it just helps the wheels fall off that much faster.