I'm actually pretty good at dealing with difficult customers. I learned some tricks in my interpersonal relations and communications course in College (everyone should take that class). I try to do a compliment sandwich where you give a compliment, relay the bad or less easy news and finish with something validating. A lady I used to work with said I have a way of telling people to fluck off and having them genuinely thank me for it by the time I'm finished. They have books on how to deal with difficult people. Some people still set me off though and I will stop and get someone more capable if I've met my match
Good luck and (((hugs)))
Customers are not allowed to abuse you and we should never be made to feel it's acceptable for them to do so. Assertiveness is a skill everyone should be comfortable using when the situation calls for it.