MatchexchangeCancelValidation.php 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <?php
  2. namespace App\Module\AppGame\Validations;
  3. use App\Module\Mex\Validators\MexOrderExistsValidator;
  4. /**
  5. * 农贸市场取消挂单验证类
  6. *
  7. * 用于验证取消挂单请求的参数,包括订单ID验证、订单所有权验证等
  8. */
  9. class MatchexchangeCancelValidation extends ValidationBase
  10. {
  11. /**
  12. * 验证规则
  13. *
  14. * @param array $rules 自定义规则
  15. * @return array
  16. */
  17. public function rules($rules = []): array
  18. {
  19. return [
  20. // 基础参数验证
  21. [
  22. 'user_id,id', 'required'
  23. ],
  24. [
  25. 'id', 'integer', 'min' => 1,
  26. 'msg' => '订单ID必须是大于0的整数'
  27. ],
  28. [
  29. 'user_id', 'integer', 'min' => 1,
  30. 'msg' => '用户ID必须是大于0的整数'
  31. ],
  32. // 验证订单是否存在且属于当前用户
  33. [
  34. 'id', new MexOrderExistsValidator($this),
  35. 'msg' => '订单不存在或不属于当前用户'
  36. ]
  37. ];
  38. }
  39. /**
  40. * 设置默认值
  41. *
  42. * @return array
  43. */
  44. public function default(): array
  45. {
  46. return [];
  47. }
  48. /**
  49. * 数据预处理
  50. *
  51. * @return bool
  52. */
  53. public function beforeValidate(): bool
  54. {
  55. return true;
  56. }
  57. /**
  58. * 获取订单ID
  59. *
  60. * @return int
  61. */
  62. public function getOrderId(): int
  63. {
  64. return $this->getSafe('id');
  65. }
  66. /**
  67. * 获取用户ID
  68. *
  69. * @return int
  70. */
  71. public function getUserId(): int
  72. {
  73. return $this->getSafe('user_id');
  74. }
  75. }