PunishGroup.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <?php
  2. namespace App\Module\Ulogic\logic;
  3. use App\Module\Ulogic\Enum\PUNISH_TYPE;
  4. /**
  5. *
  6. * 违规分组
  7. *
  8. */
  9. class PunishGroup
  10. {
  11. static protected array $GROUP = [];
  12. /**
  13. * 获取分组情况
  14. * @return array
  15. */
  16. static public function getGroup(): array
  17. {
  18. if (!self::$GROUP) {
  19. self::$GROUP[\App\Module\Ulogic\Enum\PUNISH_GROUP::Group1->value()] = [
  20. PUNISH_TYPE::OrderNoPay->value(),
  21. PUNISH_TYPE::OrderComplaint->value()
  22. ];
  23. self::$GROUP[\App\Module\Ulogic\Enum\PUNISH_GROUP::Group2->value()] = [
  24. PUNISH_TYPE::OrderRealInconsistent->value(),
  25. PUNISH_TYPE::OrderPayCheat->value()
  26. ];
  27. self::$GROUP[\App\Module\Ulogic\Enum\PUNISH_GROUP::Group99->value()] = [
  28. PUNISH_TYPE::Moren->value()
  29. ];
  30. }
  31. return self::$GROUP;
  32. }
  33. /**
  34. * 匹配分组
  35. * @param PUNISH_TYPE $punishType
  36. * @return void
  37. */
  38. static public function groupMatch(PUNISH_TYPE $punishType)
  39. {
  40. $list = self::getGroup();
  41. foreach ($list as $group => $l) {
  42. if (in_array($punishType->value(), $l)) {
  43. break;
  44. }
  45. }
  46. return [$group, $l];
  47. }
  48. }