FootballSettlement.php 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. try {
  31. $where = [
  32. 'sport_order.status' => 1,
  33. 'sport_order.pay_status' => 1,
  34. 'sport_order.return_status' => 0,
  35. 'sport_order.settlement_status' => 0,
  36. ];
  37. $list = Order::join('sport', 'sport_order.issue', '=', 'sport.data_id')
  38. //->where('sport.state', 2)
  39. ->where($where)
  40. ->select('sport_order.*', 'sport.data_id','sport.score','sport.half_score','sport.home_team_id','sport.guest_team_id')
  41. ->get()->toArray();
  42. foreach($list as $item) {
  43. $detail = json_decode($item['detail'], true);
  44. $odd_id = $detail['odds'][0]['id'];
  45. $function = SportOdds::where('id',$odd_id)->value('function_name');
  46. if (!$function) {
  47. echo $detail['odds'][0]['name'];
  48. continue;
  49. }
  50. $params = [
  51. 'score' => $item['score'],
  52. 'half_score' => $item['half_score'],
  53. 'data_id' => $item['data_id'],
  54. 'home_team_id' => $item['home_team_id'],
  55. 'guest_team_id' => $item['guest_team_id'],
  56. ];
  57. $result = $function($item['amount'], $detail, $params);
  58. print_r($result);die;
  59. }
  60. }
  61. catch (\Exception $e) {
  62. echo $e->getMessage();
  63. }
  64. }
  65. }