Pārlūkot izejas kodu

change the interval 2 judge online or offline

git 6 gadi atpakaļ
vecāks
revīzija
4339a7c5f2
4 mainītis faili ar 42 papildinājumiem un 15 dzēšanām
  1. 2 1
      .gitignore
  2. 2 1
      Home/Conf/config.php
  3. 37 12
      Home/Lib/Action/ApiAction.class.php
  4. 1 1
      czapp

+ 2 - 1
.gitignore

@@ -4,4 +4,5 @@ vendor/
 composer.lock
 .debug
 uploadimage/
-test/
+test/
+peidog-app/

+ 2 - 1
Home/Conf/config.php

@@ -14,9 +14,10 @@ return array(
     'STOLEN_ALARM' 		    => 7, // 被盗告警
     'FENCE_ALARM' 			=> 8, // 电子围栏告警
     'BROADCASTING'			=> 9, // 广播
+    'ABNORMAL_ALARM'        => 10,// 围栏异动告警
     ######### 告警时间间隔 ########
     'FENCE_ALARM_INTERVAL' 	=> 5, // 围栏告警时间间隔
     ######### 车主页 #########
     'DRIVING_STATISTICS_DAYS' => 5, //行驶数据统计默认5天
-    'IS_ONOFFLINE_INTERVAL_SECONDS' => 300,
+    'IS_ONOFFLINE_INTERVAL_SECONDS' => 1800,
 );

+ 37 - 12
Home/Lib/Action/ApiAction.class.php

@@ -147,20 +147,22 @@ class ApiAction extends Action {
 		$licensePlate = $_GET['data']['licensePlate'];
 		$gpsNumber = $_GET['data']['gpsNumber'];
 		
-		if(!$deviceNumber){
-			$this->api_fail(C('FAIL'),'faild, no deviceNumber !');
+		if(!$licensePlate){
+			json_fail('无法获取到车牌');
+		}
+		if(!$gpsNumber){
+			json_fail('无法获取到gps设备号');
 		}
-		
 		//获取车辆最新位置mysql
 		/*
 		$result = M('jms_vehicle')->field('GpsLongitude, GpsLatitude, Address, FenceShapeInfo, LockStatus, FenceAlarmEnable, Battery, GpsOnlineTime, Speed, CityId')->where(array('DeviceNumber' => $deviceNumber))->find();
 		*/
 		
 		//redis获取
-		$vehicle = Redis('fdrc_vehicle','hash');
+		$vehicle = Redis('czapp_lock_status','hash');
 		//var_dump($vehicle);
-		$vehicleInfo = $vehicle->get($deviceNumber);
-		$vehicleInfo = json_decode($vehicleInfo, true);
+		$lockStatus = $vehicle->get($licensePlate);
+		
 		
 		
 		$rlfd_vehicle_fence = Redis('rlfd_vehicle_fence','hash');
@@ -222,7 +224,7 @@ class ApiAction extends Action {
 		$mapData = array(
 			'vehicleLocation' => array('longitude' => $alterVehLoction['lng'], 'latitude' => $alterVehLoction['lat']),
 		//	'vehicleAddress' => $result['Address'],
-			'lockStatus' => $vehicleInfo['LockStatus'],
+			'lockStatus' => $lockStatus,
 			'fenceShapeInfo' => $fence,
 			'battery' => $lastLoction['Battery'],
 		//	'fenceAlarmStatus' => $result['FenceAlarmEnable'],
@@ -452,19 +454,42 @@ class ApiAction extends Action {
 	public  function change_lock_status(  ){
 		$this->token_verify();
 		$lock_state = I('post.data')['lockStatus'];
+		if($lock_state === ''){
+			json_fail('无法获取锁车状态');
+		}
 		$device_number = I('post.data')['deviceNumber'];
-		if( !$device_number || $lock_state === ''){
-			json_fail('Missing param !');
+		$gpsNumber = I('post.data')['gpsNumber'];
+		$plate = I('post.data')['plate'];
+		if( !$device_number && !$gpsNumber){
+			json_fail('无法获取rfid或者gps设备号,无法锁车 !');
+		}
+		if(!$device_number){
+			$cond = array('GpsDeviceNumber' => $device_number);
+		}else{
+			$cond = array('DeviceNumber' => $gpsNumber);
+		}
+		
+		if(!$plate){
+			json_fail('无法获取车牌号');
 		}
 		//检查锁定状态值
 		if( !is_numeric($lock_state) && ($lock_state != 0 && $lock_state != 1) ){
-			json_fail('unknown state !');
+			json_fail('未知的锁车状态值 !');
 		}
-		$cond = array('DeviceNumber' => $device_number);
+		
 		$result = M('jms_vehicle')->where($cond)->setField('LockStatus',$lock_state);
 		if( $result === false ){
 			json_fail('设置失败');
 		}
+		//同步redis
+		$vehicle = Redis('czapp_lock_status','hash');
+		$hash = array($plate => $lock_state);
+		$lockStatus = $vehicle->add($hash);
+		
+		if(!$lockStatus){
+			json_fail('同步失败');
+		}
+		
 		json_success('设置成功');
 	}
 	
@@ -653,7 +678,7 @@ class ApiAction extends Action {
 		}
 		*/
 		if(!$respData){
-			json_success('无轨迹');
+			json_fail('无轨迹');
 		}
 		$route_data = json_encode($respData);
 		//$testData = json_encode($testData);

+ 1 - 1
czapp

@@ -1 +1 @@
-Subproject commit ca6ac0f9ed36aefdf568bd6f6918166620eb033c
+Subproject commit 3e6397f87caabb0df315cd7e31f46570764f7cf7