FootballSettlement.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. namespace App\Console\Commands;
  3. use Illuminate\Console\Command;
  4. use App\Models\Order;
  5. use App\Models\SportOdds;
  6. class FootballSettlement extends Command
  7. {
  8. /**
  9. * 命令名称和签名
  10. *
  11. * @var string
  12. */
  13. protected $signature = 'football:settlement';
  14. /**
  15. * 命令描述
  16. *
  17. * @var string
  18. */
  19. protected $description = '足球结算方法';
  20. /**
  21. * 执行命令
  22. *
  23. * @return int
  24. */
  25. public function handle()
  26. {
  27. $this->sportOrderSettlement();
  28. }
  29. public function sportOrderSettlement(){
  30. $where = [
  31. 'sport_order.status' => 1,
  32. 'sport_order.pay_status' => 1,
  33. 'sport_order.return_status' => 0,
  34. 'sport_order.settlement_status' => 0,
  35. ];
  36. $list = Order::join('sport', 'sport_order.issue', '=', 'sport.data_id')
  37. //->where('sport.state', 2)
  38. ->where($where)
  39. ->select('sport_order.*', 'sport.score','sport.half_score')
  40. ->get()->toArray();
  41. foreach($list as $item) {
  42. $detail = json_decode($item['detail'], true);
  43. $odd_id = $detail['odds'][0]['id'];
  44. $function = SportOdds::where('id',$odd_id)->value('function_name');
  45. $params = [
  46. 'score' => $item['score'],
  47. 'half_score' => $item['half_score'],
  48. 'data_id' => $item['data_id'],
  49. 'home_team_id' => $item['home_team_id'],
  50. 'guest_team_id' => $item['guest_team_id'],
  51. ];
  52. $result = $function($item['amount'], $detail, $params);
  53. print_r($result);die;
  54. }
  55. }
  56. }