ProcurementWaitConfirmInform.php 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. <?php
  2. namespace App\Jobs;
  3. use App\Procurement;
  4. use App\Services\ProcurementWeiXinSendMessageService;
  5. use App\User;
  6. use Illuminate\Bus\Queueable;
  7. use Illuminate\Contracts\Queue\ShouldQueue;
  8. use Illuminate\Foundation\Bus\Dispatchable;
  9. use Illuminate\Queue\InteractsWithQueue;
  10. use Illuminate\Queue\SerializesModels;
  11. use Illuminate\Support\Carbon;
  12. class ProcurementWaitConfirmInform implements ShouldQueue
  13. {
  14. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  15. protected $procurement;
  16. /**
  17. * Create a new job instance.
  18. *
  19. * @param Procurement $procurement
  20. */
  21. public function __construct(Procurement $procurement)
  22. {
  23. $this->procurement=$procurement;
  24. }
  25. /**
  26. * Execute the job.
  27. *
  28. * @return void
  29. */
  30. public function handle()
  31. {
  32. $pro=$this->procurement->loadMissing(['supplier.user.userDetail']);
  33. $initiator='';
  34. if ($pro->initiator)$initiator=User::query()->where('id',$pro->initiator)->value('name');
  35. foreach ($pro->supplier->user as $user){
  36. if ($user->userDetail->procurement_wechat_open_id){
  37. $param['touser'] =$user->userDetail->procurement_wechat_open_id;
  38. $param['mp_template_msg'] =[
  39. "appid"=>config('weiXin.fuWuHao.appId'),
  40. "template_id"=>config('weiXin.fuWuHaoTemplate.wait_procurement_inform'),
  41. "url"=>"http://weixin.qq.com/download",
  42. "miniprogram"=>[
  43. "appid"=>config('weiXin.appId.appId'),
  44. "pagepath"=>"pages/login/login"
  45. ],
  46. 'data'=>[
  47. 'first' => [
  48. "value"=>"采购申请等待处理。",
  49. ],
  50. 'keyword1' => [
  51. "value"=>$pro->code ?? '',
  52. "color"=>"#173177"
  53. ],
  54. 'keyword2' => [
  55. "value"=> $initiator,
  56. "color"=>"#173177"
  57. ],
  58. 'keyword3' => [
  59. "value"=>$pro->cost_price*$pro->quantity>0 ? $pro->cost_price*$pro->quantity.'元' :0 .'元',
  60. "color"=>"#173177"
  61. ],
  62. 'keyword4' => [
  63. "value"=>Carbon::now()->toDateString(),
  64. "color"=>"#173177"
  65. ],
  66. 'remark' => [
  67. "value"=>'请及时确认,谢谢。',
  68. "color"=>"#173177"
  69. ],
  70. ]
  71. ];
  72. app(ProcurementWeiXinSendMessageService::class)->sendWenChantTemplate($param);
  73. }
  74. }
  75. }
  76. }