Quellcode durchsuchen

upd

station_14109
altob.rd vor 8 Jahren
Ursprung
Commit
d23a9c0fec
2 geänderte Dateien mit 60 neuen und 166 gelöschten Zeilen
  1. +22
    -53
      controllers/Carpayment.php
  2. +38
    -113
      models/Carpayment_model.php

+ 22
- 53
controllers/Carpayment.php Datei anzeigen

@@ -99,6 +99,9 @@ class Carpayment extends CI_Controller
echo "\n----- " . LOG_PATH.APP_NAME . '.' . date('Ymd').'.log.txt' . ' -----'; echo "\n----- " . LOG_PATH.APP_NAME . '.' . date('Ymd').'.log.txt' . ' -----';
echo '</pre></body></html>'; echo '</pre></body></html>';
} }
// http://localhost/carpayment.html/p2payed/ (post method) // http://localhost/carpayment.html/p2payed/ (post method)
@@ -145,49 +148,26 @@ class Carpayment extends CI_Controller
} }
$parms['pay_type'] = 93; // MITAC 專用 $parms['pay_type'] = 93; // MITAC 專用
trigger_error('MITAC 付款:' . print_r($parms, true)); trigger_error('MITAC 付款:' . print_r($parms, true));
//$this->carpayment_model->mitac2payed($parms);
$this->carpayment_model->p2payed($parms);
}
/*
月租繳款完成
http://203.75.167.89/carpayment.html/memberpayed/12345/ABC1234/120/12112/1/2016-01-31/1f3870be274f6c49b3e31a0c6728957f
http://203.75.167.89/carpayment.html/memberpayed/會員號碼/車牌/金額/場站編號/月繳/本期到期日/md5
md5(會員號碼.車牌.金額.場站編號.月繳.本期到期日)
public function memberpayed()
{
$parms['member_no'] = $lines = $this->uri->segment(3);
$parms['lpr'] = $lines = $this->uri->segment(4);
$parms['amt'] = $lines = $this->uri->segment(5);
$parms['station_no'] = $lines = $this->uri->segment(6);
$parms['period_type'] = $lines = $this->uri->segment(7);
$parms['expire_date'] = $lines = $this->uri->segment(8);
$md5 = $this->uri->segment(9);
if (md5($parms['member_no'].$parms['lpr'].$parms['amt'].$parms['station_no'].$parms['seqno'].$parms['period_type'].$parms['expire_date']) === $md5)
{
$this->carpayment_model->memberpayed($parms);
}
}
*/
// 繳費機告知已付款 (new 2016/07/15)
// http://localhost/carpayment.html/ats2payed/車牌/金額/場站編號/序號/MD5
// md5(車牌.金額.場站編號.序號)
public function ats2payed()
{
$result = [];
$parms['lpr'] = $lines = $this->uri->segment(3);
$parms['amt'] = $lines = $this->uri->segment(4);
$parms['station_no'] = $lines = $this->uri->segment(5);
$parms['order_no'] = $lines = $this->uri->segment(6);
$md5 = $this->uri->segment(7);
if (md5($parms['lpr'].$parms['amt'].$parms['station_no'].$parms['order_no']) === $md5)
{
$this->carpayment_model->ats2payed($parms);
}
// 註記已離場
$this->carpayment_model->p2payed($parms, false, true);
} }
// 行動支付, 手機告知已付款 // 行動支付, 手機告知已付款
// http://203.75.167.89/carpayment.html/m2payed/ABC1234/120/12112/12345/1f3870be274f6c49b3e31a0c6728957f // http://203.75.167.89/carpayment.html/m2payed/ABC1234/120/12112/12345/1f3870be274f6c49b3e31a0c6728957f
@@ -200,19 +180,8 @@ class Carpayment extends CI_Controller
$parms['station_no'] = $lines = $this->uri->segment(5); $parms['station_no'] = $lines = $this->uri->segment(5);
$parms['seqno'] = $lines = $this->uri->segment(6); $parms['seqno'] = $lines = $this->uri->segment(6);
$md5 = $this->uri->segment(7); $md5 = $this->uri->segment(7);
trigger_error(__FUNCTION__ . '..' . print_r($parms, true));
echo $this->carpayment_model->m2payed($parms); echo $this->carpayment_model->m2payed($parms);
/*
$seqno = !empty($_SESSION['seqno']) ? $_SESSION['seqno'] : 0;
unset($_SESSION['seqno']);
if ($parms['seqno'] != 0 && $parms['seqno'] == $seqno && md5($parms['lpr'].$parms['amt'].$parms['station_no'].$parms['seqno']) === $md5)
{
echo $this->carpayment_model->m2payed($parms);
}
else
echo 'fail';
*/
} }


+ 38
- 113
models/Carpayment_model.php Datei anzeigen

@@ -23,54 +23,14 @@ class Carpayment_model extends CI_Model
$this->vars = $vars; $this->vars = $vars;
} }
/*
// MITAC 通知付款完成
public function mitac2payed($parms)
{
$where_arr = array('obj_type' => 1, 'cario_no' => $parms['cario_no'], 'obj_id' => $parms['lpr'], 'finished' => 0, 'err' => 0);
$result = $this->db->select("in_time, cario_no, station_no")
->from('cario')
->where($where_arr)
->limit(1)
->get()
->row_array();
$in_time = new DateTime($result['in_time']);
$pay_time = new DateTime($parms['pay_time']);
$data = array
(
'out_before_time' => date('Y-m-d H:i:s', strtotime("{$parms['pay_time']} + 15 minutes")),
'pay_time' => $parms['pay_time'],
'pay_type' => $parms['pay_type'],
'payed' => 1
);
// 更新
$this->db->where($where_arr)->update('cario', $data);
if (!$this->db->affected_rows())
{
trigger_error("付款失敗:{$parms['lpr']}|{$data['out_before_time']}");
return 'fail';
}
trigger_error("付款後更新時間:{$parms['lpr']}|{$data['out_before_time']}");
// 傳送付款更新記錄
$sync_agent = new AltobSyncAgent();
$sync_agent->init($result['station_no'], $result['in_time']);
$sync_agent->cario_no = $result['cario_no']; // 進出編號
$sync_result = $sync_agent->sync_st_pay($parms['lpr'], $parms['pay_time'], $parms['pay_type'],
date('Y-m-d H:i:s', strtotime("{$parms['pay_time']} + 15 minutes")));
trigger_error( "..sync_st_pay.." . $sync_result);
return 'ok';
}
*/
////////////////////////////////////////
//
// 付款後, 付款資訊建檔
//
////////////////////////////////////////
// 通知付款完成 // 通知付款完成
public function p2payed($parms, $opay=false)
public function p2payed($parms, $opay=false, $finished=false)
{ {
$result = $this->db->select("in_time, cario_no, station_no") $result = $this->db->select("in_time, cario_no, station_no")
->from('cario') ->from('cario')
@@ -81,7 +41,7 @@ class Carpayment_model extends CI_Model
->row_array(); ->row_array();
// 查不到車號才找備援碼 // 查不到車號才找備援碼
if(!isset($result['in_time']) && is_numeric($parms['lpr']) && strlen($parms['lpr']) == 6)
if(!isset($result['in_time']) || (is_numeric($parms['lpr']) && strlen($parms['lpr']) == 6))
{ {
$result = $this->db->select("in_time, cario_no, station_no") $result = $this->db->select("in_time, cario_no, station_no")
->from('cario') ->from('cario')
@@ -108,7 +68,7 @@ class Carpayment_model extends CI_Model
{ {
// A. (備援碼)歐付寶 // A. (備援碼)歐付寶
$parms2 = array('seqno' => $result['cario_no'], 'amt' => $parms['amt'], 'lpr' => $parms['lpr']); $parms2 = array('seqno' => $result['cario_no'], 'amt' => $parms['amt'], 'lpr' => $parms['lpr']);
return $this->m2payed($parms2);
return $this->m2payed($parms2, $finished);
} }
else else
@@ -121,7 +81,11 @@ class Carpayment_model extends CI_Model
'pay_type' => $parms['pay_type'], 'pay_type' => $parms['pay_type'],
'payed' => 1 'payed' => 1
); );
// 是否註記完結
if($finished)
$data['finished'] = 1;
$this->db->where(array('cario_no' => $result['cario_no']))->update('cario', $data); $this->db->where(array('cario_no' => $result['cario_no']))->update('cario', $data);
if (!$this->db->affected_rows()) if (!$this->db->affected_rows())
@@ -139,10 +103,7 @@ class Carpayment_model extends CI_Model
if($opay) if($opay)
{ {
$parms2 = array('seqno' => $result['cario_no'], 'amt' => $parms['amt'], 'lpr' => $parms['lpr']); $parms2 = array('seqno' => $result['cario_no'], 'amt' => $parms['amt'], 'lpr' => $parms['lpr']);
$result = $this->m2payed($parms2);
if($result != 'ok')
return $result;
return $this->m2payed($parms2, $finished);
} }
else else
{ {
@@ -160,7 +121,11 @@ class Carpayment_model extends CI_Model
'pay_type' => $parms['pay_type'], 'pay_type' => $parms['pay_type'],
'payed' => 1 'payed' => 1
); );
// 是否註記完結
if($finished)
$data['finished'] = 1;
$this->db $this->db
->where(array('obj_type' => 1, 'obj_id' => $parms['lpr'], 'finished' => 0, 'err' => 0)) ->where(array('obj_type' => 1, 'obj_id' => $parms['lpr'], 'finished' => 0, 'err' => 0))
->update('cario', $data); ->update('cario', $data);
@@ -171,7 +136,7 @@ class Carpayment_model extends CI_Model
return 'fail'; return 'fail';
} }
trigger_error("付款後更新時間:{$parms['lpr']}|{$data['out_before_time']}");
trigger_error("付款後更新時間:{$parms['lpr']}|{$data['out_before_time']}|". print_r($data, true));
} }
// 傳送付款更新記錄 // 傳送付款更新記錄
@@ -185,51 +150,12 @@ class Carpayment_model extends CI_Model
return 'ok'; return 'ok';
} }
// 繳費機告知已付款 (new 2016/07/15)
// http://localhost/carpayment.html/ats2payed/車牌/金額/場站編號/序號/MD5
// md5(車牌.金額.場站編號.序號)
public function ats2payed($parms)
{
$order_no = $parms['order_no'];
$bill_result = $this->db->from('tx_bill_ats')
->where(array('order_no' => $order_no, 'status' => 111))
->limit(1)
->get()
->row_array();
if(!empty($bill_result)){
$member_no = $bill_result['member_no'];
$station_no = $bill_result['station_no'];
$next_start_time = $bill_result['next_start_time'];
$next_end_time = $bill_result['next_end_time'];
$data = array(
'end_date' => $bill_result['next_end_time'] // TODO: 有被任何一筆序號蓋資料的可能
);
$this->db
->where(array('member_no' => $member_no, 'station_no' => $station_no))
->update('members', $data);
if ($this->db->affected_rows())
{
trigger_error("繳費機更新會員資料完成,{$parms['lpr']},金額:{$parms['amt']},序號:{$parms['order_no']}");
return 'ok';
}
else
{
trigger_error("繳費機更新會員資料失敗,{$parms['lpr']},金額:{$parms['amt']},序號:{$parms['order_no']}");
return 'fail';
}
}
}
// 行動支付, 手機告知已付款 // 行動支付, 手機告知已付款
// http://203.75.167.89/carpayment.html/m2payed/ABC1234/120/12112/12345/1f3870be274f6c49b3e31a0c6728957f // http://203.75.167.89/carpayment.html/m2payed/ABC1234/120/12112/12345/1f3870be274f6c49b3e31a0c6728957f
// http://203.75.167.89/carpayment.html/m2payed/車牌/金額/場站編號/序號/MD5 // http://203.75.167.89/carpayment.html/m2payed/車牌/金額/場站編號/序號/MD5
// md5(車牌.金額.場站編號.序號) // md5(車牌.金額.場站編號.序號)
public function m2payed($parms)
public function m2payed($parms, $finished=false)
{ {
$data = array $data = array
( (
@@ -238,10 +164,13 @@ class Carpayment_model extends CI_Model
'pay_type' => 4, // 歐付寶行動支付 'pay_type' => 4, // 歐付寶行動支付
'payed' => 1 'payed' => 1
); );
$this->db
->where(array('cario_no' => $parms['seqno']))
->update('cario', $data);
// 是否註記完結
if($finished)
$data['finished'] = 1;
$this->db->where(array('cario_no' => $parms['seqno']))->update('cario', $data);
if ($this->db->affected_rows()) if ($this->db->affected_rows())
{ {
trigger_error("歐付寶行動支付成功,{$parms['lpr']}金額:{$parms['amt']},序號:{$parms['seqno']}"); trigger_error("歐付寶行動支付成功,{$parms['lpr']}金額:{$parms['amt']},序號:{$parms['seqno']}");
@@ -253,21 +182,17 @@ class Carpayment_model extends CI_Model
return 'fail'; return 'fail';
} }
} }
/*
月租繳款完成
http://203.75.167.89/carpayment.html/memberpayed/12345/ABC1234/120/12112/1/2016-01-31/1f3870be274f6c49b3e31a0c6728957f
http://203.75.167.89/carpayment.html/memberpayed/會員號碼/車牌/金額/場站編號/月繳/本期到期日/md5
md5(會員號碼.車牌.金額.場站編號.月繳.本期到期日)
public function memberpayed($parms)
{
// update members (???)
}
*/
////////////////////////////////////////
//
// 付款前, 入場資訊查找
//
////////////////////////////////////////
// 模糊比對 // 模糊比對
function getLevenshteinSQLStatement($word, $target) function getLevenshteinSQLStatement($word, $target)
{ {


Laden…
Abbrechen
Speichern