|
@@ -0,0 +1,108 @@
|
|
|
|
+<?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[] = [
|
|
|
|
+ '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);
|
|
|
|
+ }
|
|
|
|
+}
|