ProcurementConfirmInform.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <?php
  2. namespace App\Jobs;
  3. use App\Procurement;
  4. use App\Services\ProcurementWeiXinSendMessageService;
  5. use Illuminate\Bus\Queueable;
  6. use Illuminate\Contracts\Queue\ShouldQueue;
  7. use Illuminate\Foundation\Bus\Dispatchable;
  8. use Illuminate\Queue\InteractsWithQueue;
  9. use Illuminate\Queue\SerializesModels;
  10. /**
  11. * @Deprecated 采购确认账单
  12. */
  13. class ProcurementConfirmInform implements ShouldQueue
  14. {
  15. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  16. protected $procurement;
  17. /**
  18. * Create a new job instance.
  19. *
  20. * @param Procurement $procurement
  21. */
  22. public function __construct(Procurement $procurement)
  23. {
  24. $this->procurement=$procurement;
  25. }
  26. /**
  27. * Execute the job.
  28. *
  29. * @return void
  30. */
  31. public function handle()
  32. {
  33. $pro=$this->procurement->loadMissing(['ownerMaterial.material.supplier.user.userDetail','ownerMaterial.owner.customer']);
  34. $suppliers=$pro->ownerMaterial->material->supplier ?? false;
  35. if(!$suppliers) return ;
  36. $open_ids=[];
  37. foreach ($suppliers as $supplier) {
  38. foreach ($supplier->user as $user){
  39. $open_id = $user->userDetail->procurement_wechat_open_id ?? false;
  40. if($open_id)$open_ids[]=$open_id;
  41. }
  42. }
  43. $open_ids=array_unique($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. app(ProcurementWeiXinSendMessageService::class)->sendWenChantTemplate($param);
  72. }
  73. }
  74. }