I don't know what I did wrong... and I don't know what to do

I'm just ranting no one has to read. Basically my fiance has been acting aloof and rather upset lately. We weren't able to get many gifts for our families for Christmas and by that I mean I bought a couple rather cheap presents for my family and him and he procrastinated to the point that he didn't go Christmas shopping. Not even for me, not that I care much... but either way we were short on money and couldn't spend much. And when he opened his present from me he asked "why did you get me this?" With a nervous smile. Skip to the day after Christmas where he bought himself a piece of his PlayStation vr headset that had broken and cost 50 dollars. We definitely need every dollar we have and he didn't tell me he'd bought it until after the fact. He's usually so loving and caring and he talks to me but for the past week it feels like he's constantly upset and trying to avoid me. Especially since yesterday. And I sent him a message while he was at work today reminding him how much I love him and how much he means to me, but when he came home he got angry that the door was locked. (I say angry but he doesn't raise his voice mind you.) And he talked about how if I was really actually excited to see him I'd check the door to see if it was locked. He sounded like he was joking and so I joked back telling him he never does that for me. He then said "I had a bad day and I don't want to deal with this." He's never talked like this to me before and Idk I guess I'm doing something wrong. This has been a horrible holiday. It's our sixth holiday together... if you've read this, how should I approach him do you think?