Prediction.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <?php
  2. namespace App\Models;
  3. class Prediction extends BaseModel
  4. {
  5. protected $table = 'prediction';
  6. protected $fillable = ['issue_no', 'size', 'odd_or_even', 'is_valid', 'winning_numbers'];
  7. //预测
  8. static function prediction($issueNo)
  9. {
  10. $size = mt_rand(0, 1);
  11. $oddOrEven = mt_rand(0, 1);
  12. return static::create([
  13. 'issue_no' => $issueNo,
  14. 'size' => $size,
  15. 'odd_or_even' => $oddOrEven
  16. ]);
  17. }
  18. //预测结果
  19. static function result($issueNo, $size, $oddOrEven, $winningNumbers)
  20. {
  21. $data = static::where('issue_no', $issueNo)->first();
  22. if (!$data) $data = static::prediction($issueNo);
  23. $size = $size == '大' ? 1 : 0;
  24. $oddOrEven = $oddOrEven == '双' ? 1 : 0;
  25. $data->is_valid = 0;
  26. if ($data->size == $size || $data->odd_or_even == $oddOrEven) {
  27. $data->is_valid = 1;
  28. }
  29. $data->winning_numbers = $winningNumbers;
  30. $data->save();
  31. }
  32. function getWinningNumbersAttribute($value)
  33. {
  34. if (!empty($value)) {
  35. $value = explode(',', $value);
  36. $value = array_map('intval', $value);
  37. $value[] = array_sum($value);
  38. return $value;
  39. }
  40. return [];
  41. }
  42. }