Prechádzať zdrojové kódy

金币不够,收益来凑

lizhen_gitee 1 rok pred
rodič
commit
a240a14a08
1 zmenil súbory, kde vykonal 28 pridanie a 24 odobranie
  1. 28 24
      application/common/model/Wallet.php

+ 28 - 24
application/common/model/Wallet.php

@@ -124,34 +124,42 @@ class Wallet extends Model
             //gold不够,
             if(bccomp(bcadd($wallet['gold'], $number), 0) === -1)
             {
-                //gold全扣
-                //钱币操作
-                $data = array();
-                $data['user_id'] = $user_id;
-                $data['log_type'] = $logtype;
-                $data['money_type'] = $accountType;
-                $data['before'] = $wallet['gold'];
-                $data['change_value'] = $wallet['gold'];
-                $data['remain'] = 0;
-                $data['table'] = $table;
-                $data['table_id'] = $table_id;
-                $data['remark'] = $remark;
-                $data['createtime'] = time();
-                $data['updatetime'] = time();
+                $jewel_change = $number;//jewel需要扣掉的
 
-                $result = $this->wallet_do($user_id,$accountType,$data,$result);
-                if($result['status'] == false){
-                    return $result;
+                //gold全扣
+                if(bccomp($wallet['gold'],0) === 1){
+
+                    //钱币操作
+                    $data = array();
+                    $data['user_id'] = $user_id;
+                    $data['log_type'] = $logtype;
+                    $data['money_type'] = $accountType;
+                    $data['before'] = $wallet['gold'];
+                    $data['change_value'] = $wallet['gold'];
+                    $data['remain'] = 0;
+                    $data['table'] = $table;
+                    $data['table_id'] = $table_id;
+                    $data['remark'] = $remark;
+                    $data['createtime'] = time();
+                    $data['updatetime'] = time();
+
+                    $result = $this->wallet_do($user_id,$accountType,$data,$result);
+                    if($result['status'] == false){
+                        return $result;
+                    }
+                    $result['status'] = false;//回归默认
+
+                    $jewel_change = bcadd($number,$wallet['gold']);//jewel需要扣掉的
                 }
 
                 //jewel扣剩余部分
-                $jewel_change = bcadd($number,$wallet['gold']);
                 $jewel_after  = bcadd($wallet['jewel'],$jewel_change);
+
                 //钱币操作
                 $data = array();
                 $data['user_id'] = $user_id;
                 $data['log_type'] = $logtype;
-                $data['money_type'] = $accountType;
+                $data['money_type'] = 'jewel';
                 $data['before'] = $wallet['jewel'];
                 $data['change_value'] = $jewel_change;
                 $data['remain'] = $jewel_after;
@@ -161,7 +169,7 @@ class Wallet extends Model
                 $data['createtime'] = time();
                 $data['updatetime'] = time();
 
-                $result = $this->wallet_do($user_id,$accountType,$data,$result);
+                $result = $this->wallet_do($user_id,'jewel',$data,$result);
                 if($result['status'] == false){
                     return $result;
                 }
@@ -221,10 +229,6 @@ class Wallet extends Model
             $data['updatetime'] = time();
 
             $result = $this->wallet_do($user_id,$accountType,$data,$result);
-            if($result['status'] == false){
-                return $result;
-            }
-
             return $result;
         }