From 2848f8320c950cc6d80b0f19dd4387f153cf45d2 Mon Sep 17 00:00:00 2001 From: "altob.rd" Date: Thu, 9 Nov 2017 10:56:34 +0800 Subject: [PATCH] cms upd --- controllers/Carpark.php | 145 ++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 140 insertions(+), 5 deletions(-) diff --git a/controllers/Carpark.php b/controllers/Carpark.php index ff72af4..d082054 100644 --- a/controllers/Carpark.php +++ b/controllers/Carpark.php @@ -132,8 +132,142 @@ class Carpark extends CI_Controller + // ------------------------------------------------ + // + // CRM (START) + // + // ------------------------------------------------ + // [test] zzz + public function gen_test_case() + { + $sno = '12302'; + $ivsno = 0; + $io = 'CI'; + $lpr = 'TEST1109A'; + $ts = date('YmdHis'); + + $parms = array(); + $parms['sno'] = $sno; + $parms['ivsno'] = $ivsno; + $parms['io'] = $io; + $parms['lpr'] = $lpr; + $parms['ts'] = $ts; + + $function_name = 'remote_lprio'; + $ck = $this->gen_cms_ck($parms, $function_name); + echo "http://localhost/carpark.html/{$function_name}/sno/{$sno}/ivsno/{$ivsno}/io/{$io}/type/C/lpr/{$lpr}/color/NONE/sq/0/ts/{$ts}/sq2/0/etag/NONE/ant/1/ck/{$ck}"; + echo "\n\n"; + + $function_name = 'remote_opendoor_lprio'; + $ck = $this->gen_cms_ck($parms, $function_name); + echo "http://localhost/carpark.html/{$function_name}/sno/{$sno}/ivsno/{$ivsno}/io/{$io}/type/C/lpr/{$lpr}/color/NONE/sq/0/ts/{$ts}/sq2/0/etag/NONE/ant/1/ck/{$ck}"; + echo "\n\n"; + + $function_name = 'remote_opendoor_anyway'; + $ck = $this->gen_cms_ck($parms, $function_name); + echo "http://localhost/carpark.html/{$function_name}/sno/{$sno}/ivsno/{$ivsno}/io/{$io}/lpr/{$lpr}/ts/{$ts}/ck/{$ck}"; + echo "\n\n"; + exit; + } + // 產生 CK + function gen_cms_ck($parms, $function_name) + { + return md5($parms['sno']. 'a' . date('dmh') . 'l' . $parms['ts'] . 't'. $parms['lpr']. 'o'. $parms['ivsno'] . 'b'. $parms['io'] . $function_name); + } + + // [remote] 新增車辨記錄 + public function remote_lprio() + { + $LOG_FLAG = 'cms://'; + $parms = $this->uri->uri_to_assoc(3); + + // ck + if($parms['ck'] != $this->gen_cms_ck($parms, __FUNCTION__)) + { + echo 'ck_error'; // 中斷 + exit; + } + + $parms['lpr'] = urldecode($parms['lpr']); + $parms['obj_type'] = 1; + $parms['curr_time_str'] = date('Y-m-d H:i:s'); + $parms['pic_name'] = ''; + + trigger_error($LOG_FLAG . __FUNCTION__ . '..' . print_r($parms, true)); + + // 載入模組 + $this->load->model('cars_model'); + $this->cars_model->init($this->vars); + $this->cars_model->lprio($parms); + + echo 'ok'; + exit; + } + + // [remote] 車辨開門 + public function remote_opendoor_lprio() + { + $LOG_FLAG = 'cms://'; + $parms = $this->uri->uri_to_assoc(3); + + // ck + if($parms['ck'] != $this->gen_cms_ck($parms, __FUNCTION__)) + { + echo 'ck_error'; // 中斷 + exit; + } + + $parms['lpr'] = urldecode($parms['lpr']); + + trigger_error($LOG_FLAG . __FUNCTION__ . '..' . print_r($parms, true)); + + // 載入模組 + $this->load->model('cars_model'); + $this->cars_model->init($this->vars); + $this->cars_model->opendoor_lprio($parms); + + echo 'ok'; + exit; + } + + // [remote] 直接開門 + public function remote_opendoor_anyway() + { + $LOG_FLAG = 'cms://'; + $parms = $this->uri->uri_to_assoc(3); + + // ck + if($parms['ck'] != $this->gen_cms_ck($parms, __FUNCTION__)) + { + echo 'ck_error'; // 中斷 + exit; + } + + $parms['lpr'] = urldecode($parms['lpr']); + + trigger_error($LOG_FLAG . __FUNCTION__ . '..' . print_r($parms, true)); + + // 載入模組 + $this->load->model('cars_model'); + $this->cars_model->init($this->vars); + + // 判斷會員身份 + $rows = $this->cars_model->get_member($lpr); + + if ($rows['member_no'] == 0) + { + $this->cars_model->mq_send(MQ_TOPIC_OPEN_DOOR, "DO{$parms['ivsno']},TICKET,{$parms['lpr']}"); // 臨停訊號 + } + else + { + $this->cars_model->mq_send(MQ_TOPIC_OPEN_DOOR, "DO{$parms['ivsno']},OPEN,{$parms['lpr']}"); // 月租訊號 + } + + echo 'ok'; + exit; + } // ------------------------------------------------ // @@ -143,7 +277,8 @@ class Carpark extends CI_Controller // [mqtt] 接收端 public function mqtt_service() - { + { + $LOG_FLAG = 'mqtt://'; $topic = $this->input->post('topic', true); $msg = $this->input->post('msg', true); $ck = $this->input->post('ck', true); @@ -154,7 +289,7 @@ class Carpark extends CI_Controller exit; } - trigger_error(__FUNCTION__ . "|{$topic}|{$msg}"); + trigger_error($LOG_FLAG . __FUNCTION__ . "|{$topic}|{$msg}"); if($topic == 'altob.888.mqtt') { @@ -167,14 +302,14 @@ class Carpark extends CI_Controller if(sizeof($msg_arr) != 4) { - trigger_error(__FUNCTION__ . "..error_size.." . print_r($msg_arr, true)); + trigger_error($LOG_FLAG . __FUNCTION__ . "..error_size.." . print_r($msg_arr, true)); echo 'error_size'; exit; } if($msg_arr[0] != 'N888' || $msg_arr[3] != 'altob') { - trigger_error(__FUNCTION__ . "..unknown_msg.." . print_r($msg_arr, true)); + trigger_error($LOG_FLAG . __FUNCTION__ . "..unknown_msg.." . print_r($msg_arr, true)); echo 'unknown_msg'; exit; } @@ -183,7 +318,7 @@ class Carpark extends CI_Controller $group_id = isset($msg_arr[1]) && $msg_arr[1] == 2 ? 'M888' : 'C888'; $value = isset($msg_arr[2]) ? $msg_arr[2] : 0; $result = $this->sync_data_model->force_sync_888($first_station_no, $group_id, $value); - trigger_error(__FUNCTION__ . "..{$first_station_no}|{$group_id}|{$value}..result..{$result}.."); + trigger_error($LOG_FLAG . __FUNCTION__ . "..{$first_station_no}|{$group_id}|{$value}..result..{$result}.."); } echo 'ok';