You never hit anyone over a bill or yell at them like that. It's a civil matter, you can get the police. You don't know why he did not pay, it could be anything, a medical problem, finding a finger in the rice, or just being drunk.
The lady and others here are in the wrong even if the guy did not pay.