Lottery.php 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <?php
  2. namespace App\Http\Controllers\admin;
  3. use App\Services\LotteryImageService;
  4. use Illuminate\Http\Request;
  5. use App\Http\Controllers\Controller;
  6. use App\Services\IssueService;
  7. class Lottery extends Controller
  8. {
  9. public function generate(Request $request, LotteryImageService $service)
  10. {
  11. $list = IssueService::model()::where(IssueService::getWhere(['status' => IssueService::model()::STATUS_DRAW]))->take(20)->orderBy('issue_no','desc')->get();
  12. $records = $list->toArray();
  13. foreach($records as $k => $v){
  14. $winning_numbers = explode(',',$v['winning_numbers']);
  15. $v['winning_numbers'] = $winning_numbers;
  16. // 组合
  17. $sum = array_sum($winning_numbers);
  18. $v['sum'] = $sum;
  19. $sumOddEven = IssueService::calculateOddEven($sum); // 总和单双
  20. $sumSize = IssueService::calculateSumSize($sum); // 总和大小
  21. $v['combo'] = $sumSize . ' ' . $sumOddEven;
  22. $sumExtremeSize = IssueService::calculateSumExtremeSize($sum); // 总和极值
  23. if(!$sumExtremeSize){
  24. $sumExtremeSize = '-';
  25. }
  26. $v['extreme'] = $sumExtremeSize;
  27. $tail = IssueService::getLastDigit($sum); // 总和尾数
  28. if($tail === 0){
  29. $tailStr = '-';
  30. }else{
  31. $tailStr = '尾' . $tail;
  32. }
  33. $v['tail'] = $tailStr;
  34. $records[$k] = $v;
  35. }
  36. // // 这里可以从接口传入数据,也可以先写死测试
  37. // $records = $request->input('records', [
  38. // ['period' => '3350007', 'numbers' => [5, 2, 0], 'sum' => 7, 'combo' => '小 单', 'extreme' => '-', 'tail' => '尾7'],
  39. // ['period' => '3350006', 'numbers' => [8, 9, 3], 'sum' => 20, 'combo' => '大 双', 'extreme' => '-', 'tail' => '尾0'],
  40. // ['period' => '3350005', 'numbers' => [2, 6, 1], 'sum' => 9, 'combo' => '小 单', 'extreme' => '-', 'tail' => '尾9'],
  41. // ]);
  42. try {
  43. $url = $service->generate($records);
  44. return response()->json(['code' => 0, 'url' => asset($url)]);
  45. } catch (\Throwable $e) {
  46. return response()->json(['code' => 1, 'msg' => $e->getMessage()]);
  47. }
  48. }
  49. }