中午睡觉的时候,来了一个噩耗,说线上亏钱了,有一万多块钱。我写的bug,真是,捶死病中惊坐起。
记录下bug原因:
起因是因为一个重置功能,会给商家上分额度,重置为初始额度。
代码里用的是如下代码:
shop.setAddPoints(shop.getInitPoints());
shopMapper.update(shop);
就是这个更新代码,坑啊。。。。
好吧,说说原因,initPoints字段在数据库里面是null,也就是需要把addPoints更新为null,看到这里大家估计就知道是怎么一回事了吧,哎!回去我看看update里面到底是怎么写的,是不是有if判断。
避免方法,数据库字段需要设置不为空,并且默认为0。