public static function delAccbalance_rp($uid = "",$money = 0)
{
$oldmoney = (int)self::getAccbalance_rp($uid);
$newmoney = $oldmoney - $money;
$lock = self::where('user_id',$uid)->find()->getData('accbalance_lock');
if($lock) //如果正在使用锁,lock=true,不让其他用户写
{
return false;
}else{
return self::where('user_id',$uid)->update(['accbalance_rp'=>$newmoney]);
}
//释放锁
self::where('user_id',$uid)->update(['accbalance_lock'=>0]);
}
我在余额表里面,加了一个锁字段,accbalance_lock,上锁是1,解锁是0。
这么做有必要吗?我前面已经开启了php事务(Db::startTrans(); //开启事务),总感觉不放心,又整个这种的。
最佳答案