addTeamReturnLogJob.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?php
  2. namespace app\Jobs;
  3. use Illuminate\Bus\Queueable;
  4. use Illuminate\Queue\SerializesModels;
  5. use Illuminate\Queue\InteractsWithQueue;
  6. use Illuminate\Contracts\Queue\ShouldQueue;
  7. use Illuminate\Support\Facades\Config;
  8. use Yunshop\TeamReturn\models\TeamReturnLog;
  9. use Yunshop\TeamReturn\services\TimedTaskReturnService;
  10. class addTeamReturnLogJob implements ShouldQueue
  11. {
  12. use InteractsWithQueue, Queueable, SerializesModels;
  13. protected $teamReturnLogData;
  14. protected $config;
  15. /**
  16. * Create a new job instance.
  17. *
  18. * @return void
  19. */
  20. public function __construct($teamReturnLogData)
  21. {
  22. $this->teamReturnLogData = $teamReturnLogData;
  23. $this->config = Config::get('income.teamReturn');
  24. }
  25. /**
  26. * Execute the job.
  27. *
  28. * @return void
  29. */
  30. public function handle()
  31. {
  32. $logId = TeamReturnLog::insertGetId($this->teamReturnLogData);
  33. $incomeData = [
  34. 'uniacid' => $this->teamReturnLogData['uniacid'],
  35. 'member_id' => $this->teamReturnLogData['uid'],
  36. 'incometable_type' => $this->config['class'],
  37. 'incometable_id' => $logId,
  38. 'type_name' => $this->config['title'],
  39. 'amount' => $this->teamReturnLogData['amount'],
  40. 'status' => 0,
  41. 'pay_status' => 0,
  42. 'create_month' => date('Y-m'),
  43. 'created_at' => time()
  44. ];
  45. (new TimedTaskReturnService())->addIncome($incomeData);
  46. }
  47. }