123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107 |
- <?php
- namespace 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[$value['send_box_code']] = [
- 'fake_qty' => $tmp['fake_qty'],
- 'detail' => explode(',',$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);
- }
- }
|