| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 | <?phpnamespace App\Jobs;use App\Model\BigKingCbj;use App\Service\DwyService;use Illuminate\Bus\Queueable;use Illuminate\Contracts\Queue\ShouldQueue;use Illuminate\Foundation\Bus\Dispatchable;use Illuminate\Queue\InteractsWithQueue;use Illuminate\Queue\SerializesModels;use Symfony\Component\Console\Output\ConsoleOutput;use Symfony\Component\Console\Output\OutputInterface;class LabelDealJob implements ShouldQueue{    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;    protected $data;    protected $header;    protected $id;    /**     * Create a new job instance.     *     * @return void     */    public function __construct($data,$header,$id)    {        $this->data = $data;        $this->header = $header;        $this->id = $id;    }    /**     * Execute the job.     *     * @return void     */    public function handle()    {        $data = $this->data;        if( empty($data['lead_out']) || empty($data['lead_out']['brand_out_stock_list'])) return;        $token = $this->header;        $dv = $data['key'];        $box_list = [];        $return = [];        foreach ($data['lead_out']['brand_out_stock_list'] as $value){            $tmp = $value['brand_out_stock_dtl'];            $return[] = [                'box_code' => $value['send_box_code'],                'fake_qty' => $tmp['fake_qty'],                'detail' => $tmp['brand_qr_code_list']            ];            $box_list[] = $value['send_box_code'];        }        $result = DwyService::getInstance()->setBoxData($token,$dv,$return,$box_list);        $this->boxOut($data,$token,$result);    }    public function boxOut($data,$token,$result)    {        //商标绑定        $url = 'https://tm.dwycloud.com/jbl/api/module-data/brand_in_stock/brand_in_stock/diy/1';//        $url = 'https://tm.dwycloud.com/jbl/api/module-data/brand_in_stock/brand_in_stock/diy/lead_bind';        $header = [            'Content-Type:application/json',            'Authorization: ' . $token,        ];        $lead_bind = $data['lead_bind'];        $return_bind = $this->post_helper($url, json_encode($lead_bind), $header);        $return_bind = json_decode($return_bind, true);        //商标出库//        $url = 'https://tm.dwycloud.com/jbl/api/module-data/brand_in_stock/brand_in_stock/diy/lead_bind_out_stock';        $url = 'https://tm.dwycloud.com/jbl/api/module-data/brand_in_stock/brand_in_stock/diy/11';        $lead_out = $result;        $return_out = $this->post_helper($url, json_encode($lead_out), $header);        $return_out = json_decode($return_out, true);        BigKingCbj::where('id',$this->id)->update(['is_successful' => 1]);    }    public function post_helper($url, $data, $header)    {        $ch = curl_init();        curl_setopt($ch, CURLOPT_POST, 1);        curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_HTTPHEADER, $header);        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);        curl_setopt($ch, CURLOPT_TIMEOUT, 30);        if (!is_null($data)) curl_setopt($ch, CURLOPT_POSTFIELDS, $data);        $r = curl_exec($ch);        curl_close($ch);        return $r;    }    protected function echoMessage(OutputInterface $output)    {        $output->writeln($this->data);    }}
 |