PcIssue.php 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace App\Http\Controllers\admin;
  3. use App\Constants\HttpStatus;
  4. use App\Http\Controllers\Controller;
  5. use App\Services\PcIssueService;
  6. use Illuminate\Validation\ValidationException;
  7. use Exception;
  8. use App\Models\PcIssue as PcIssueModel;
  9. class PcIssue extends Controller
  10. {
  11. /**
  12. * @api {get} /admin/pcIssue 极速28
  13. * @apiGroup 极速28
  14. *
  15. * @apiUse result
  16. * @apiUse header
  17. * @apiVersion 1.0.0
  18. *
  19. * @apiParam {int} [page=1]
  20. * @apiParam {int} [limit=10]
  21. * @apiParam {string} [issue_no] 期号
  22. */
  23. public function index()
  24. {
  25. try {
  26. $search = request()->validate([
  27. 'page' => ['nullable', 'integer', 'min:1'],
  28. 'limit' => ['nullable', 'integer', 'min:1'],
  29. 'issue_no' => ['nullable', 'string'],
  30. ]);
  31. $page = request()->input('page', 1);
  32. $limit = request()->input('limit', 15);
  33. $search['issue_no'] = intval($search['issue_no']);
  34. $result['keno'] = PcIssueService::getMatchingNumbers($search['issue_no']);
  35. $result['winning_numbers'] = PcIssueService:: getWinningNumbers($result['keno']);
  36. $result['winning_numbers'][] = $search['issue_no'];
  37. $code1 = [
  38. $result['keno'][1],
  39. $result['keno'][4],
  40. $result['keno'][7],
  41. $result['keno'][10],
  42. $result['keno'][13],
  43. $result['keno'][16],
  44. ];
  45. $result['open1'] = '';
  46. foreach ($code1 as $index =>$item){
  47. if($index == 5)
  48. {
  49. $result['open1'].="{$item}=";
  50. }else{
  51. $result['open1'].="{$item}+";
  52. }
  53. }
  54. $result['open1'].= array_sum($code1);
  55. $result['keno'] = implode(',', $result['keno']);
  56. $result['winning_numbers'] = $result['winning_numbers'][0] . " + "
  57. . $result['winning_numbers'][1] . ' + ' . $result['winning_numbers'][2] . ' = ' . $result['winning_numbers'][3];
  58. // $result['total'] = PcIssueModel::where(PcIssueModel::getWhere($search))->count();
  59. // $result['data'] = PcIssueModel::where(PcIssueModel::getWhere($search))
  60. // ->orderByDesc('id')->forPage($page, $limit)->get();
  61. } catch (ValidationException $e) {
  62. return $this->error(HttpStatus::CUSTOM_ERROR, $e->validator->errors()->first());
  63. } catch (Exception $e) {
  64. return $this->error(intval($e->getCode()));
  65. }
  66. return $this->success($result);
  67. }
  68. }