all(); $device_id = $data['device_code']; $box_code = $data['box_code']; $key = $device_id.'_'.$box_code; Redis::set($key,1); return ['status'=>200]; } public function getOpenCommand(Request $request){ $data = $request->all(); $device_id = $data['device_code']; $box_code = explode(',',$data['box_code']); $key = $device_id.'_'.$box_code[0]; $return = 201; $status = Redis::get($key); if($status) { $return = 200; Redis::del($key); } return ['status'=>$return]; } public function setLb(Request $request){ $param = $request->all(); // $param = [ // 'token'=>'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIyNzM2OTUyNTA3NTI5NTQzNzMiLCJhdXRoIjoiUk9MRV9JTk5FUl9VU0VSLFJPTEVfQlJBTkRfQVJSRVNULFJPTEVfQURNSU4iLCJ0b2tlbklkIjoiOTUwIiwiZXhwIjoxNzA3OTcxMTcxfQ.2VQ9Wqmk4rvKAcTsQPw59llBbeXjalKDGIZA4kesnuOJ0POmPVOVlRLbTtUDxl0XiFdPDUrKzuEFl2DXSgQdJg', // 'list'=>[ // [ // 'title'=>'优选A7家具板ENF小标', // 'num'=>'20', // ],[ // 'title'=>'植萃除醛圆标', // 'num'=>'10', // ], // ], // ]; // dd(json_encode($param)); $token = $param['token']; $list = $param['list']; $url = 'http://121.36.131.68:7774/jbl/api/module-data/brand_in_stock/brand_in_stock/diy/box_inventory'; $header = [ 'Content-Type:application/json', 'Authorization:'.$token, ]; $data = $this->post_helper($url,'{"device_code":"DV00001"}',$header); // var_dump($data); $data = json_decode($data,true); $a = 4; foreach ($data as $k=>&$v){ if($v['box_code_show'] == '设备仓') { unset($data[$k]); continue; } if($v['qty'] <= 0) { unset($data[$k]); continue; } if(!isset($v['send_qty'])) $v['send_qty'] = 0; foreach ($list as $kk=>$vv ){ if($vv['num'] == 0) continue; if($v['material_code_show'] === $vv['title']){ if(($v['qty']-$v['send_qty'])>$vv['num']) { $list[$kk]['num'] -= $vv['num']; $v['send_qty'] += $vv['num']; } else{ $list[$kk]['num'] -= ($v['qty']-$v['send_qty']); $v['send_qty'] += ($v['qty']-$v['send_qty']); } } } //测试用 if($v['box_code'] == 'CK00012'){ $v['send_qty'] = $a; } $a++; } sort($data); return ['status'=>200,'data'=>$data]; } 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; } }