1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <?php
- namespace App\Jobs;
- use Ramsey\Uuid\Uuid;
- use App\Models\Trace;
- use Illuminate\Bus\Queueable;
- use Illuminate\Queue\SerializesModels;
- use Illuminate\Queue\InteractsWithQueue;
- use Illuminate\Contracts\Queue\ShouldQueue;
- use Illuminate\Foundation\Bus\Dispatchable;
- use Illuminate\Support\Facades\Log;
- class CrossTrace implements ShouldQueue
- {
- use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
- /**
- * Create a new job instance.
- *
- * @return void
- */
- protected $message;
- public function __construct($message)
- {
- $this->message=$message;
- }
- /**
- * Execute the job.
- *
- * @return void
- */
- public function handle()
- {
- $message=$this->message;
- $grade=$message['grade'];
- $num=$message['num'];
- $total=$message['total'];
- $model=$message['model'];
- $serial=$message['serial'];
- $data=[];
- for($i=1;$i<=$total;$i++){
- $code=Trace::code();
- $uuid = Uuid::uuid1()->getHex();
- $data[]=['level'=>1, 'pid'=>0,'sort'=>$uuid.'0000','model'=>$model,'serial'=>$serial,
- 'user_id'=>null,'security_code'=>$code['sec_code'],'code'=>$code['code'], 'child_num'=>$num['num2'],
- 'is_lowest'=>0,'is_full'=>0,'good_select_id'=>null,
- 'created_at'=>date("Y-m-d H:i:s"),'updated_at'=>date("Y-m-d H:i:s")
- ];
- if($grade>=2){
- for($j=1;$j<=$num['num2'];$j++){
- if($j<10){
- $j='0'.$j;
- }
- if($grade==2){
- $child_num=0;
- $is_lowest=1;
- }else{
- $is_lowest=0;
- $child_num=$num['num3'];
- }
- $data[]=['level'=>2, 'pid'=>$uuid.'0000','sort'=>$uuid.$j.'00','model'=>$model,'serial'=>$serial,
- 'user_id'=>null,'security_code'=>Trace::code()['sec_code'], 'code'=>Trace::code()['code'], 'child_num'=>$child_num,
- 'is_lowest'=>$is_lowest,'is_full'=>0,'good_select_id'=>null,
- 'created_at'=>date("Y-m-d H:i:s"),'updated_at'=>date("Y-m-d H:i:s")
- ];
- if($grade>=3){
- for($z=1;$z<=$num['num3'];$z++){
- if($z<10){
- $z='0'.$z;
- }
- $data[]=['level'=>3, 'pid'=>$uuid.$j.'00','sort'=>$uuid.$j.$z,'model'=>$model,'serial'=>$serial,
- 'user_id'=>null,'security_code'=>Trace::code()['sec_code'], 'code'=>Trace::code()['code'], 'child_num'=>0,
- 'is_lowest'=>1,'is_full'=>0,'good_select_id'=>null,
- 'created_at'=>date("Y-m-d H:i:s"),'updated_at'=>date("Y-m-d H:i:s")
- ];
- }
- }
- }
- }
- }
- Trace::insert($data);
- }
- }
|