OpenObtainOrder.php 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace app\common\command;
  3. use app\common\model\bank_account\BankAccount;
  4. use app\common\model\master_worker\MasterWorker;
  5. use app\common\model\master_worker\MasterWorkerInfo;
  6. use think\console\Command;
  7. use think\console\Input;
  8. use think\console\Output;
  9. use think\facade\Log;
  10. /**
  11. * 工程师每日开启接单的通知【给工程师的通知】
  12. * Class OpenObtainOrder
  13. * @package app\command
  14. */
  15. class OpenObtainOrder extends Command
  16. {
  17. protected function configure()
  18. {
  19. $this->setName('open_obtain_order')->setDescription('每天定时发送工程师开启接单提醒');
  20. }
  21. protected function execute(Input $input, Output $output)
  22. {
  23. try {
  24. $infoWorkerIds = MasterWorkerInfo::where(['audit_state'=>1])->column('worker_id');
  25. $bankWorkerIds = BankAccount::where(['audit_state'=>1])->column('worker_id');
  26. $ids = array_intersect($infoWorkerIds,$bankWorkerIds);
  27. $workerIds = MasterWorker::where([['audit_state',"IN",($ids?:[0])],['accept_order_status','=',0]])->column('id')?:[9];
  28. Log::write('OpenObtainOrder:workerIds:'.json_encode($workerIds));
  29. foreach ($workerIds as $workerId) {
  30. event('Notice', [
  31. 'scene_id' => 112,
  32. 'params' => [
  33. 'user_id' => $workerId,
  34. ]
  35. ]);
  36. }
  37. return true;
  38. } catch (\Exception $e) {
  39. Log::write('OpenObtainOrder:'.$e->getMessage());
  40. return false;
  41. }
  42. }
  43. }