AddHash.php 895 B

12345678910111213141516171819202122232425262728293031323334
  1. <?php
  2. namespace App\Module\Transaction\Validators;
  3. use App\Module\Transaction\Enums\RECHARGE_STATUS;
  4. use App\Module\Transaction\Enums\STATUS;
  5. use App\Module\Transaction\Models\Transaction;
  6. use App\Module\Transaction\Models\TransactionRecharge;
  7. use UCore\Validator;
  8. class AddHash extends Validator
  9. {
  10. /**
  11. * @param mixed $value
  12. * @param array $data
  13. * @return bool
  14. * 添加hash校验
  15. */
  16. public function validate(mixed $value, array $data): bool
  17. {
  18. $data = Transaction::getData($data['userId'], $data['transactionId']);
  19. $rechargeData = TransactionRecharge::getDetail($data->id);
  20. if ($rechargeData->tx_hash) {
  21. return false;
  22. }
  23. if ($data->status != STATUS::CALL_CREATED->value || $rechargeData->status != RECHARGE_STATUS::WAIT_TX->value) {
  24. return false;
  25. }
  26. return true;
  27. }
  28. }