CreateFirmSealJob.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Jobs;
  3. use App\Models\Firm;
  4. use App\Models\FirmSeal;
  5. use App\Models\Member;
  6. use App\Servers\ESign\ESignFirmServer;
  7. use App\Servers\System\RedisDataServer;
  8. use Illuminate\Bus\Queueable;
  9. use Illuminate\Contracts\Queue\ShouldBeUnique;
  10. use Illuminate\Contracts\Queue\ShouldQueue;
  11. use Illuminate\Foundation\Bus\Dispatchable;
  12. use Illuminate\Queue\InteractsWithQueue;
  13. use Illuminate\Queue\SerializesModels;
  14. class CreateFirmSealJob implements ShouldQueue
  15. {
  16. use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
  17. private $orgId;
  18. /**
  19. * Create a new job instance.
  20. *
  21. * @return void
  22. */
  23. public function __construct($orgId)
  24. {
  25. $this->orgId= $orgId;
  26. }
  27. /**
  28. * Execute the job.
  29. *
  30. * @return void
  31. */
  32. public function handle()
  33. {
  34. //获取企业id
  35. $firm_id = Firm::where('org_id',$this->orgId)->value('id');
  36. if (empty($firm_id)){
  37. dump('签章生成-找不到企业');
  38. return;
  39. }
  40. $isSelect=RedisDataServer::creatServer()->getData('firmSeal_'.$firm_id);
  41. if($isSelect){
  42. dump($firm_id.'签章信息已在生成中');
  43. return;
  44. }
  45. RedisDataServer::creatServer()->setData('firmSeal_'.$firm_id,1);
  46. //获取企业内部使用签章列表
  47. ESignFirmServer::creatServer()->internalAuthInfo($firm_id,$this->orgId);
  48. //查询是否有合同章
  49. $sealItem=FirmSeal::where('firm_id',$firm_id)->where('seal_type','CONTRACT')->first();
  50. if(empty($sealItem)){
  51. //无合同印章执行创建流程
  52. ESignFirmServer::creatServer()->createOrgsealsbyTemplate($firm_id,$this->orgId);
  53. }
  54. }
  55. }