InOutOptionService.php 990 B

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. namespace App\Service;
  3. use Illuminate\Support\Facades\Redis;
  4. class InOutOptionService extends Service
  5. {
  6. const OrderKeyQueue = 'InOutOrderNumber';
  7. public function setOrderNumber($data){
  8. if(! empty($data['data']['tagList'])){
  9. foreach ($data['data']['tagList'] as $value){
  10. Redis::lpush(self::OrderKeyQueue, json_encode($value));
  11. }
  12. }
  13. }
  14. public function getOrderNumber($data,$site){
  15. //获取某个站点的数据
  16. $data = [];
  17. $tmp = [];
  18. while ($item = Redis::lpop(self::OrderKeyQueue)) {
  19. $order = json_decode($item, true);
  20. $order_it = $order['epc'] . $order['direction'];
  21. if(! in_array($order_it, $tmp)){
  22. $order['epc'] = hex2bin($order['epc']);
  23. $order['site'] = $site;
  24. $data[] = $order;
  25. $tmp[] = $order_it;
  26. }
  27. }unset($tmp);
  28. return [true, $data];
  29. }
  30. }