RemitForm.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <?php
  2. namespace backend\models\forms;
  3. use backend\models\RemitApi;
  4. use common\helpers\Utils;
  5. use Yii;
  6. use yii\base\Model;
  7. use yii\helpers\Url;
  8. class RemitForm extends Model
  9. {
  10. /**
  11. * @var int 打款单号
  12. */
  13. public $remitNo;
  14. private $_outRemitResult;
  15. /**
  16. * @inheritdoc
  17. */
  18. public function rules()
  19. {
  20. return [
  21. [['remitNo'], 'required'],
  22. [['remitNo'], 'integer'],
  23. ];
  24. }
  25. /**
  26. * @return bool
  27. */
  28. public function outRemit()
  29. {
  30. if (Yii::$app->getUser()->getIsGuest()) {
  31. Yii::$app->getUser()->loginRequired();
  32. return false;
  33. }
  34. if ($this->validate()) {
  35. $data = [];
  36. $data['remitNo'] = trim($this->remitNo);
  37. $data['notifyUrl'] = Url::to(["/remit/notify/" . Yii::$app->getSecurity()->maskToken(trim($this->remitNo))], true);
  38. $data['adminId'] = Yii::$app->getUser()->getId();
  39. $data['adminName'] = Yii::$app->getUser()->getIdentity(false)->name;
  40. $data['adminIp'] = Utils::getClientIp();
  41. $api = new RemitApi();
  42. $result = $api->outRemit($data);
  43. if ($result['code'] == 1) {
  44. $this->_outRemitResult = $result['data'];
  45. } else {
  46. if (is_array($result['message'])) {
  47. $this->addErrors($result['message']);
  48. } else {
  49. $this->addError('remitNo', $result['message']);
  50. }
  51. }
  52. }
  53. return !$this->hasErrors();
  54. }
  55. /**
  56. * @return string
  57. */
  58. public function getOutRemitResult()
  59. {
  60. return $this->_outRemitResult;
  61. }
  62. }