UserBonusForm.php 1.4 KB

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