ProcurementConfirmInform.php 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. namespace App\Jobs;
  3. use App\Procurement;
  4. use App\Services\LogService;
  5. use App\Services\ProcurementWeiXinSendMessageService;
  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. class ProcurementConfirmInform implements ShouldQueue
  12. {
  13. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  14. protected $procurement;
  15. /**
  16. * Create a new job instance.
  17. *
  18. * @param Procurement $procurement
  19. */
  20. public function __construct(Procurement $procurement)
  21. {
  22. $this->procurement=$procurement;
  23. }
  24. /**
  25. * Execute the job.
  26. *
  27. * @return void
  28. */
  29. public function handle()
  30. {
  31. $pro=$this->procurement->loadMissing(['ownerMaterial.material.supplier.user.userDetail','ownerMaterial.owner.customer']);
  32. if (empty($pro->ownerMaterial->material->supplier))return;
  33. $suppliers=$pro->ownerMaterial->material->supplier;
  34. LogService::log(__METHOD__,"采购单耗材关联供应商1",json_encode($suppliers));
  35. $open_ids=[];
  36. foreach ($suppliers as $supplier) {
  37. foreach ($supplier->user as $user){
  38. $open_id = $user->userDetail->procurement_wechat_open_id ?? false;
  39. if($open_id)$open_ids[]=$open_id;
  40. }
  41. }
  42. $open_ids=array_unique($open_ids);
  43. LogService::log(__METHOD__,"发送用户openid2",json_encode($open_ids));
  44. foreach ($open_ids as $open_id){
  45. $param['touser'] =$open_id;
  46. $param['mp_template_msg'] =[
  47. "appid"=>config('weiXin.fuWuHao.appId'),
  48. "template_id"=>config('weiXin.fuWuHaoTemplate.order_confirm_inform'),
  49. "url"=>"http://weixin.qq.com/download",
  50. "miniprogram"=>[
  51. "appid"=>config('weiXin.appId.appId'),
  52. "pagepath"=>"pages/login/login"
  53. ],
  54. 'data'=>[
  55. 'first' => [
  56. "value"=>"尊敬的供应商,你好!",
  57. ],
  58. 'keyword1' => [
  59. "value"=>$pro->code ?? '',
  60. "color"=>"#173177"
  61. ],
  62. 'keyword2' => [
  63. "value"=>$pro->ownerMaterial->owner->customer->company_name ?? '',
  64. "color"=>"#173177"
  65. ],
  66. 'remark' => [
  67. "value"=>'请及时确认,谢谢。',
  68. ],
  69. ]
  70. ];
  71. LogService::log(__METHOD__,"模板信息3",json_encode($param));
  72. app(ProcurementWeiXinSendMessageService::class)->sendWenChantTemplate($param);
  73. }
  74. }
  75. }