seven 2 天之前
父节点
当前提交
1f8f9bd2c0
共有 1 个文件被更改,包括 24 次插入11 次删除
  1. 24 11
      app/Services/BetService.php

+ 24 - 11
app/Services/BetService.php

@@ -54,6 +54,9 @@ class BetService extends BaseService
         if(isset($search['member_id']) && !empty($search['member_id'])){
             $where[] = ['member_id', '=', $search['member_id']];
         }
+        if(isset($search['keywords']) && !empty($search['keywords'])){
+            $where[] = ['keywords', '=', $search['keywords']];
+        }
         if(isset($search['issue_id']) && !empty($search['issue_id'])){
             $where[] = ['issue_id', '=', $search['issue_id']];
         }
@@ -217,19 +220,29 @@ class BetService extends BaseService
 
         $userInfo = UserService::findOne(['member_id' => $memberId]);
 
-        $data = [];
-        $data['amount'] = $amount; // 分数
-        $data['keywords'] = $keywords;  // 玩法
-        $data['member_id'] = $memberId; 
-        $data['user_id'] = $userInfo->id; 
-        $data['issue_no'] = $issueInfo->issue_no; 
-        $data['issue_id'] = $issueInfo->id; 
-        $data['odds'] = $gameplayRuleInfo['odds'];
-        $newBet = self::model()::create($data);
+        $betInfo = self::findOne(['member_id' => $memberId,'issue_no' => $issueInfo->issue_no,'keywords' => $keywords]); // 相同下注
+
+        if($betInfo){
+            $betInfo->amount = $betInfo->amount + $amount;
+            $bet_id = $betInfo->id;
+            $betInfo->save();
+        }else{
+            $data = [];
+            $data['amount'] = $amount; // 分数
+            $data['keywords'] = $keywords;  // 玩法
+            $data['member_id'] = $memberId; 
+            $data['user_id'] = $userInfo->id; 
+            $data['issue_no'] = $issueInfo->issue_no; 
+            $data['issue_id'] = $issueInfo->id; 
+            $data['odds'] = $gameplayRuleInfo['odds'];
+            $newBet = self::model()::create($data);
+            $bet_id = $newBet->id;
+        }
+        
 
         WalletService::updateBalance($memberId,-$amount);
 
-        BalanceLogService::addLog($memberId,-$amount,$balance,($balance-$amount),'投注',$newBet->id,'');
+        BalanceLogService::addLog($memberId,-$amount,$balance,($balance-$amount),'投注',$bet_id,'');
 
         // 返利
         $rebate = Config::where('field', 'rebate')->first()->val;
@@ -241,7 +254,7 @@ class BetService extends BaseService
                 $walletInfo = WalletService::findOne(['member_id' => $memberId]);
                 $balance = $walletInfo['available_balance']; 
 
-                BalanceLogService::addLog($memberId,$rebateAmount,$balance,($balance+$rebateAmount),'返水',$newBet->id,'');
+                BalanceLogService::addLog($memberId,$rebateAmount,$balance,($balance+$rebateAmount),'返水',$bet_id,'');
             }
 
         }