浏览代码

upd

mitac alive check
station_14109
altob.rd 8 年前
父节点
当前提交
cb98b3c45a
共有 3 个文件被更改,包括 47 次插入14 次删除
  1. +7
    -0
      controllers/Mitac_service.php
  2. +23
    -1
      coworker/sync_minutely.php
  3. +17
    -13
      models/Mitac_service_model.php

+ 7
- 0
controllers/Mitac_service.php 查看文件

@@ -104,6 +104,13 @@ class Mitac_service extends CI_Controller
echo '</pre></body></html>';
}
// [排程] 詢問是否存活
public function echo_mitac_alive()
{
echo $this->mitac_service_model->echo_mitac_alive();
exit;
}
// 要求扣款 (ALTOB to MITAC)
public function parking_fee_altob()
{


+ 23
- 1
coworker/sync_minutely.php 查看文件

@@ -22,10 +22,32 @@ trigger_error('..start..');
try
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/carpark.html/sync_minutely");
curl_setopt($ch, CURLOPT_URL, "http://localhost/carpark.html/sync_minutely"); // TASK: sync
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, FALSE);
$output = curl_exec($ch);
curl_close($ch);
}
catch(Exception $e)
{
trigger_error('ERROR: ' . $e->getMessage());
}
sleep(1);
try
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://localhost/mitac_service.html/echo_mitac_alive"); // TASK: MITAC alive check
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_POST, FALSE);
$output = curl_exec($ch);
curl_close($ch);


+ 17
- 13
models/Mitac_service_model.php 查看文件

@@ -24,33 +24,31 @@ class Mitac_service_model extends CI_Model
}
// mitac socket
function mitac_socket($in)
function mitac_socket($in, $function_name = __FUNCTION__)
{
trigger_error(__FUNCTION__ . "..socket input|{$in}");
return 'ok';
trigger_error($function_name . "..socket input|{$in}");
return 'none'; // 尚未開放
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
trigger_error(__FUNCTION__ . "..socket_create() failed: reason: " . socket_strerror(socket_last_error()));
trigger_error($function_name . "..socket_create() failed: reason: " . socket_strerror(socket_last_error()));
}

$result = socket_connect($socket, MITAC_SERVICE_IP, MITAC_SERVICE_PORT);
if ($result === false) {
trigger_error(__FUNCTION__ . "..socket_connect() failed.\nReason: ({$result}) " . socket_strerror(socket_last_error($socket)));
trigger_error($function_name . "..socket_connect() failed.\nReason: ({$result}) " . socket_strerror(socket_last_error($socket)));
return false; // 中斷
}
if(!socket_write($socket, $in, strlen($in)))
{
trigger_error(__FUNCTION__ . '..Write failed..');
trigger_error($function_name . '..Write failed..');
}
$out = socket_read($socket, 64);
socket_shutdown($socket);
socket_close($socket);
trigger_error(__FUNCTION__ . "..socket output|{$out}");
trigger_error($function_name . "..socket output|{$out}");
return $out;
}
@@ -60,11 +58,19 @@ class Mitac_service_model extends CI_Model
$this->vars = $vars;
}
// 詢問是否存活
public function echo_mitac_alive()
{
$msg = iconv("UTF-8", "ISO-8859-1", implode(',', ['Mitac', 'Are you alive']));
$result = $this->mitac_socket($msg, __FUNCTION__);
return $result == 'Mitac,Alive' ? 'ok' : 'gg';
}
// 要求扣款 (ALTOB to MITAC)
public function parking_fee_altob($parms)
{
// 轉換成對方要的格式
$seqno = date('Ymd') . '_' . str_pad($parms['seqno'], 6, '0', STR_PAD_LEFT);
$seqno = date('Ymd') . '_' . str_pad($parms['seqno'], 10, '0', STR_PAD_LEFT);
$lpr = $parms['lpr'];
$in_time = date('Ymd_His', strtotime($parms['in_time']));
$out_time = date('Ymd_His', strtotime($parms['out_time']));
@@ -72,9 +78,7 @@ class Mitac_service_model extends CI_Model
// 產生通訊內容
$msg = iconv("UTF-8", "ISO-8859-1", implode(',', ['Mitac', 'ParkingFee_Altob', $seqno, $lpr, $in_time, $out_time, $gate_id]));
$result = $this->mitac_socket($msg);
trigger_error(__FUNCTION__ . "..{$msg}..|{$result}");
$result = $this->mitac_socket($msg, __FUNCTION__);
return 'ok';
}


正在加载...
取消
保存