lip 6 ore în urmă
părinte
comite
515dcad5dd

+ 8 - 30
app/Console/Commands/FootballSettlement.php

@@ -4,6 +4,7 @@ namespace App\Console\Commands;
 
 use Illuminate\Console\Command;
 use App\Models\Order;
+use App\Models\SportOdds;
 
 class FootballSettlement extends Command
 {
@@ -29,42 +30,19 @@ class FootballSettlement extends Command
     {
 
         $this->sportOrderSettlement();
-        $function = 'MatchWinner';
-        $params = [
-            'amount' => 10,
-            'score' => '1-1',
-            'detail' => [
-                'odds' => [
-                    [
-                        "id" => 1,
-                        "name" => "Match Winner",
-                        "values" => [
-                            [
-                                "value" => "Draw",
-                                "odd" => "3.30"
-                            ]
-                        ]
-                    ]
-                ]
-            ],
-        ];
-        $result = $this->doFunction($function, $params);
-        print_r($result);die;
-        return $result;
     }
 
     public function sportOrderSettlement(){
         $where = [
-            'status' => 1,
-            'pay_status' => 1,
-            'return_status' => 0,
-            'settlement_status' => 0,
+            'sport_order.status' => 1,
+            'sport_order.pay_status' => 1,
+            'sport_order.return_status' => 0,
+            'sport_order.settlement_status' => 0,
         ];
-        $list = Order::alias('o')
-                ->join('sport s', 'o.data_id', '=', 's.data_id')
-                ->where('s.state', 2)
+        $list = Order::join('sport', 'sport_order.issue', '=', 'sport.data_id')
+                //->where('sport.state', 2)
                 ->where($where)
-                ->select('o.*', 's.score','s.half_score')
+                ->select('sport_order.*', 'sport.score','sport.half_score')
                 ->get()->toArray();
         foreach($list as $item) {
             $detail = json_decode($item['detail'], true);

+ 0 - 35
app/Console/Commands/LhcSettlement.php

@@ -3,7 +3,6 @@
 namespace App\Console\Commands;
 
 use Illuminate\Console\Command;
-use App\Models\LhcOrder;
 use App\Services\LhcSettlementService;
 
 class LhcSettlement extends Command
@@ -28,43 +27,9 @@ class LhcSettlement extends Command
      */
     public function handle(LhcSettlementService $service)
     {
-
         $issue = $this->argument('issue');
         $this->info("开始结算期号: {$issue}...");
-        
         $result = $service->settle($issue);
-        
         $this->info($result);
     }
-
-    public function sportOrderSettlement(){
-        $where = [
-            'status' => 1,
-            'pay_status' => 1,
-            'return_status' => 0,
-            'settlement_status' => 0,
-        ];
-        $list = Order::alias('o')
-                ->join('sport s', 'o.data_id', '=', 's.data_id')
-                ->where('s.state', 2)
-                ->where($where)
-                ->select('o.*', 's.score','s.half_score')
-                ->get()->toArray();
-        foreach($list as $item) {
-            $detail = json_decode($item['detail'], true);
-            $odd_id = $detail['odds'][0]['id'];
-            $function = SportOdds::where('id',$odd_id)->value('function_name');
-            $params = [
-                'score' => $item['score'], 
-                'half_score' => $item['half_score'],
-                'data_id' => $item['data_id'],
-                'home_team_id' => $item['home_team_id'],
-                'guest_team_id' => $item['guest_team_id'],
-            ];
-            $result = $function($item['amount'], $detail, $params);
-            print_r($result);die;
-        }
-    }
-
-
 }

+ 9 - 0
app/Models/SportOdds.php

@@ -0,0 +1,9 @@
+<?php
+
+namespace App\Models;
+
+class SportOdds extends BaseModel
+{
+    protected $table = 'sport_odds';
+    protected $fillable = ['odd_id', 'odd_name_en', 'odd_name', 'function_name'];
+}

+ 9 - 9
app/Services/LhcSettlementService.php

@@ -45,18 +45,18 @@ class LhcSettlementService
             $isWin = false;
 
             // 3. 根据玩法判断中奖
-            switch ($order->play_type) {
-                case 'tm_number': // 特码直选
-                    $isWin = (int)$order->bet_value === $attr['num'];
+            switch ($order->gameplay) {
+                case '特码': // 特码
+                    $isWin = (int)$order->number === $attr['num'];
                     break;
-                case 'tm_sx':     // 特码生
-                    $isWin = $order->bet_value === $attr['zodiac'];
+                case '正肖':     // 生肖-正
+                    $isWin = $order->number === $attr['zodiac'];
                     break;
-                case 'tm_bs':     // 特码波色
-                    $isWin = $order->bet_value === $attr['color'];
+                case '三色波':     // 色波-三色波
+                    $isWin = $order->number === $attr['color'];
                     break;
                 case 'tm_ds':     // 特码单双
-                    $isWin = $order->bet_value === $attr['ds'];
+                    $isWin = $order->number === $attr['ds'];
                     break;
                 case 'tm_dx':     // 特码大小
                     // 49 一般不计大小或算和,根据实际规则改写
@@ -64,7 +64,7 @@ class LhcSettlementService
                         $this->refundOrder($order); // 49退本金
                         return;
                     }
-                    $isWin = $order->bet_value === $attr['dx'];
+                    $isWin = $order->number === $attr['dx'];
                     break;
             }