wang jun 1 year ago
parent
commit
6914bd15cc

+ 2 - 1
application/common/model/ShinfoModel.php

@@ -57,6 +57,7 @@ class ShinfoModel extends Model
     }
     public function updateinfo($where, $updateData)
     {
+        $updateData = $this->formatData($updateData);
         $row = $this->where($where)->update($updateData);
         return empty($row) ? false : $row;
     }
@@ -139,7 +140,7 @@ class ShinfoModel extends Model
     {
         //判断时长1分钟
         $time = date('Y-m-d H:i:s');
-        $sql = "select * from " . $this->table . " where TIMESTAMPDIFF(MINUTE, updatetime, " . $time . ")>1 and online_statis=1";
+        $sql = "select * from " . $this->table . " where TIMESTAMPDIFF(MINUTE, updatetime, '" . $time . "')>1 and online_statis=1";
         $list = $this->query($sql);
         return $list;
     }

+ 11 - 4
application/common/server/SouhuanAnalysis.php

@@ -947,6 +947,12 @@ class SouhuanAnalysis
             $sririnsertData['device_id_code'] = $device_id_code;
             $sririnsertData['original_str'] = $original_str;
             $sririnsertData['content'] = json_encode($sriData);
+            if (isset($sriData['date'])) {
+                $sririnsertData['date'] = $sriData['date'];
+            }
+            if (isset($sriData['time'])) {
+                $sririnsertData['time'] = $sriData['time'];
+            }
             $sririnsertData['command'] = $command;
             $sririnsertData['createtime'] = date('Y-m-d H:i:s');
             if ('tback' == $config['kind']) {
@@ -1137,7 +1143,6 @@ class SouhuanAnalysis
         foreach ($param as $key => $value) {
             $telno = $value['telno'];
             $name = $value['name'];
-            var_dump($name);
             //电话号码
             if (20 < mb_strlen($telno)) {
                 throw new \Exception("PHL电话号码错误:" . $telno);
@@ -1326,9 +1331,11 @@ class SouhuanAnalysis
     public function showfortest($data)
     {
         $strdata = $this->getline($data);
-        $content = $strdata['content_str'];
-        $content = $this->getcommandcontent($content);
-        $command = $content[0];
+        if (!is_array($strdata)) {
+            Log::write($data, 'shouhuan');
+            return false;
+        }
+        $command = strtoupper($strdata['command']);
         $showcommands = [
             'SOS', 'CR', 'UPLOAD', 'SLEEPTIME', 'ZONE', 'FALLDOWN',
             'APPLOCK', 'FACTORY', 'VERNO', 'LOWBAT', 'UD', 'POWEROFF', 'MESSAGE',

+ 12 - 1
application/workerman/ShTcp.php

@@ -58,7 +58,13 @@ class ShTcp extends Server
                 foreach ($list as $key => $value) {
                     try {
                         $msg = $value['msg'];
+                        var_dump($msg);
                         $linedata = $server_sa->getline($msg);
+                        if (!is_array($linedata)) {
+                            Log::write("不可解析_onWorkerStart:" . $msg, 'shouhuan');
+                            $server_sa->receivemsgsuccess($value);
+                            continue;
+                        }
                         //长度相等可解析
                         $content = $linedata['content_str'];
                         $device_id_code = $linedata['device_id_code'];
@@ -108,11 +114,15 @@ class ShTcp extends Server
             //测试
             $server_sa->showfortest($data);
             try {
+                $device_id_code = $server_sa->getline($data, 'device_id_code');
+                if (!$device_id_code) {
+                    Log::write('不可解析_onMessage:' . $data, 'shouhuan');
+                    continue;
+                }
                 $result = $server_sa->savereceivequeue($data);
                 if (empty($result)) {
                     Log::write("手环接收信息队列,数据保存失败", 'shouhuan');
                 }
-                $device_id_code = $server_sa->getline($data, 'device_id_code');
                 //设置上线
                 $server_sa->setonlineinfo($device_id_code);
                 $this->device_id_code = $device_id_code;
@@ -121,6 +131,7 @@ class ShTcp extends Server
             } catch (\Exception $e) {
                 Log::write($data, 'shouhuan');
                 Log::write($e->getMessage(), 'shouhuan');
+                Log::write($e->getTraceAsString(), 'shouhuan');
                 var_dump($e->getMessage());
             }
         }