UserBonusForm.php 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <?php
  2. namespace common\models\forms;
  3. use common\components\Model;
  4. use yii\base\Exception;
  5. /**
  6. * Login form
  7. */
  8. class UserBonusForm extends Model
  9. {
  10. public $periodNum;
  11. private $_periodModel;
  12. private $_limit = 1000;
  13. /**
  14. * @inheritdoc
  15. */
  16. public function rules()
  17. {
  18. return [];
  19. }
  20. public function scenarios()
  21. {
  22. $parentScenarios = parent::scenarios();
  23. $customScenarios = [
  24. 'autoWithdraw' => [],
  25. ];
  26. return array_merge($parentScenarios, $customScenarios);
  27. }
  28. public function attributeLabels()
  29. {
  30. return [];
  31. }
  32. /**
  33. * 页面请求异步处理,生成提现单
  34. * @return string | null
  35. */
  36. public function autoWithdrawWebToAsync(){
  37. if(!$this->validate()){
  38. return null;
  39. }
  40. // 异步处理添加任务
  41. $settings = \Yii::$app->params['swooleAsyncTimer'];
  42. $bonusSettings = \Yii::$app->params['swooleBonusConfig'];
  43. $settings = array_merge($settings, $bonusSettings);
  44. $taskKey = \Yii::$app->swooleAsyncTimer->asyncHandle('bonus/auto-withdraw', \Yii::$app->request->get(), $settings);
  45. if($taskKey === false){
  46. $this->addError('perf', '请求失败');
  47. return null;
  48. }
  49. return 1;
  50. }
  51. }