lizhen_gitee пре 1 година
родитељ
комит
a0c112c45b
1 измењених фајлова са 16 додато и 13 уклоњено
  1. 16 13
      application/common/model/Wallet.php

+ 16 - 13
application/common/model/Wallet.php

@@ -94,7 +94,7 @@ class Wallet extends Model
         //钱包名称
         $wallet_name = $this->getwalletname($accountType);
 
-        //检测
+        //检测0
         $number = floatval( $number );
         if( $number == 0 )
         {
@@ -106,16 +106,20 @@ class Wallet extends Model
             return $result;
         }
 
-
-        //检测
+        //查询余额
         $wallet = Db::name('user_wallet')->lock(true)->where(['user_id'=>$user_id])->find();
-        if(!$wallet)
+        if(empty($wallet))
         {
             $result['msg'] = '不存在的用户';
             return $result;
         }
 
-        if(bccomp(bcadd($wallet[$accountType], $number), 0) === -1)
+        //之前的余额
+        $wallet_before = $wallet[$accountType];
+
+        //检查是否够扣
+        
+        if(bccomp(bcadd($wallet_before, $number), 0) === -1)
         {
             $result['msg'] = $wallet_name.'余额不足!';
             return $result;
@@ -126,28 +130,28 @@ class Wallet extends Model
         $data['user_id'] = $user_id;
         $data['log_type'] = $logtype;
         $data['money_type'] = $accountType;
-        $data['before'] = $wallet[$accountType];
+        $data['before'] = $wallet_before;
         $data['change_value'] = $number;
-        $data['remain'] = bcadd($wallet[$accountType], $number);
+        $data['remain'] = bcadd($wallet_before, $number);
         $data['table'] = $table;
         $data['table_id'] = $table_id;
         $data['remark'] = $remark;
         $data['createtime'] = time();
         $data['updatetime'] = time();
 
-        //修改金额
-        $rs1 = Db::name('user_wallet')->where(['user_id'=>$user_id])->update([$accountType => $data['remain']]);
-
-        /////////////
         $log_table = 'user_gold_log';
-
         $rs2_id = Db::name($log_table)->insertGetId($data);
 
+        //修改金额
+        $rs1 = Db::name('user_wallet')->where(['user_id'=>$user_id])->update([$accountType => $data['remain']]);
+
+        //操作数据库失败
         if($rs1 === false || $rs2_id === false){
             $result['msg'] = '更新财务记录失败!';
             return $result;
         }
 
+        //默认成功
         $result['status'] = true;
         $result['msg'] = '账户余额已更新!';
         $result['log_table'] = $log_table;
@@ -155,7 +159,6 @@ class Wallet extends Model
 
         return $result;
 
-
     }