ayHaru 4 vuotta sitten
vanhempi
commit
474e8d24c8

+ 1 - 1
application/index/config.php

@@ -1,5 +1,5 @@
 <?php
 
 return [
-    'user_status'  => ['1' => '已启用' , '2' => '已停用']
+    'user_status'  => ['1' => '已启用' , '2' => '已停用'],
 ];

+ 4 - 0
application/index/controller/Base.php

@@ -7,9 +7,13 @@ use app\index\model\RoleModel;
 class Base extends Controller{
 
     private $noCheck = ['cabinet/check_fcode' , 'cabinet/record_store' , 'cabinet/record_fetch' , 'cabinet/add_cabinet' , 'order/order_bind_code'];
+    const redis_host = 'logic-redis';
+    const redis_port = 6380;
+    const queue_name = 'net_access_queue';
 
     public function initialize(){
 
+
         $control = lcfirst(request()->controller());
         $action = lcfirst(request()->action());
         $checkUrl = $control . '/' . $action;

+ 30 - 34
application/index/controller/Cabinet.php

@@ -78,24 +78,14 @@ class Cabinet extends Base
     */
     public function OpenBox()
     {
-        session('start','1');
-        $cabinet_number     = input('param.cabinet_number');
-        $box_number         = input('param.box_number');
-        $sid = session_id();
-
-        $params = [
-            'cabinet_number' => $cabinet_number,
-            'box_number' => $box_number,
-            'ret_queue'  => $sid
-        ];
-
-        $queue_name = 'access_wait_open';
-        $this->push_queue('access_wait_open','OpenBox',$params);
+        $params['cabinet_number']     = input('param.cabinet_number');
+        $params['box_number ']        = input('param.box_number');
 
-        $content = $this->wait_ret($sid,'lredis',6379);
+        $params = $this->add_cabinet_url_queue($params['cabinet_number'],$params);
 
+        $content = $this->push_queue(self::queue_name,'OpenBox',$params);
         if($content['value'] == 'ok'){
-            $this->box_action_record($cabinet_number , $box_number , 1);
+            $this->box_action_record($params['cabinet_number'] , $params['box_number'] , 1);
         }
     }
     /**
@@ -103,22 +93,14 @@ class Cabinet extends Base
      */
     public function LockBox()
     {
-        session('start','1');
-        $cabinet_number     = input('param.cabinet_number');
-        $box_number         = input('param.box_number');
-        $sid = session_id();
+        $params['cabinet_number']     = input('param.cabinet_number');
+        $params['box_number ']        = input('param.box_number');
 
-        $params = [
-            'cabinet_number' => $cabinet_number,
-            'box_number' => $box_number,
-            'ret_queue'  => $sid
-        ];
-
-        $this->push_queue('access_wait_close','close_box',$params);
-        $content = $this->wait_ret($sid,'lredis',6379);
+        $params = $this->add_cabinet_url_queue($params['cabinet_number'],$params);
 
+        $content = $this->push_queue(self::queue_name,'close_box',$params);
         if($content['value'] == 'ok'){
-            $this->box_action_record($cabinet_number , $box_number , 2);
+//            $this->change_status($params['cabinet_number'] , $params['box_number'] , 3);
         }
     }
 
@@ -130,15 +112,16 @@ class Cabinet extends Base
      * queue推送
     */
     private function push_queue($queue_name,$key,$params){
-        QueueClient::push($queue_name,'lredis',6379,$key,$params);
+        QueueClient::push($queue_name,self::redis_host , self::redis_port ,$key,$params);
+        return $this->wait_ret($params['ret_queue'] , self::redis_host , self::redis_port);
     }
 
     /**
      * queue监听队列等待
     */
-    private function wait_ret($queue_name,$host,$name)
+    private function wait_ret($queue_name,$host,$port)
     {
-        $worker = new QueueServer($queue_name,$host,$name);
+        $worker = new QueueServer($queue_name,$host,$port);
         $queues = $worker->scan();
 
         $empty_times = 0;
@@ -181,9 +164,6 @@ class Cabinet extends Base
     }
     public function test(){
         pre(1);
-        $cabinet_number     = input('param.cabinet_number');
-        $box_number         = input('param.box_number');
-        $order_sn           = input('param.order_sn');
     }
 
     /**
@@ -210,4 +190,20 @@ class Cabinet extends Base
         $params['datetime']             = date("Y-m-d H:i:s");
         $BoxActionModel->save($params);
     }
+
+    /**
+     * 附加柜子Url
+    */
+    private function add_cabinet_url_queue($cabinet_number,$params){
+        session('start','1');
+        $sid = session_id();
+        $cabinet = CabinetModel::find($cabinet_number);
+        if(empty($cabinet)){
+            return json(json_error_exception(1009));
+        }
+        $cabinet = $cabinet->toArray();
+        $params['req_url']      = $cabinet['req_url'];
+        $params['req_queue']    = $sid;
+        return $params;
+    }
 }

+ 1 - 0
application/index/model/CabinetModel.php

@@ -50,4 +50,5 @@ class CabinetModel extends Model{
             return msg(-2, '', $e->getMessage());
         }
     }
+
 }

+ 1 - 1
route/route.php

@@ -12,7 +12,7 @@
         'changeCabinetStatus'       => 'index/cabinet/change_cabinet_status',
         'AddCabinet'                => 'index/cabinet/add_cabinet',
         'CloseBox'                  => 'index/cabinet/add_cabinet',
-        'OpenBox'                   => 'index/cabinet/open_box',
+        'OpenBox'                   => 'index/cabinet/OpenBox',
         'checkRcode'                => 'index/order/check_rcode',
         'orderBindCode'             => 'index/order/order_bind_code',
     ));