function DBLog($logtable, $subject, $arr) { $DBHOST = DB_HOST42; //主DB $plink = checkdblink($DBHOST); mylink($plink, LOGDB_NAME); foreach ($arr as $Qval => $value) { $arr[$Qval] = mysql_real_escape_string($arr[$Qval]); } //schedule排程記錄的Table schedule if ($logtable == "schedule") { //己執行過的就不要再動 result=0 未執行 1 成功 2 失敗 $str = "SELECT serial FROM schedule WHERE result=0 and setdate='" . $arr['setdate'] . "' and settime='" . $arr['settime'] . "' "; $res = @mysql_query($str, $plink); if (list($serial) = @mysql_fetch_array($res)) { $update_str = "UPDATE schedule SET result='" . $arr['result'] . "', result_note='" . $arr['result_note'] . "', running='" . $arr['running'] . "', start_time='" . $arr['start_time'] . "', end_time='" . $arr['end_time'] . "', update_time = '" . date('YmdHis') . "' WHERE serial = " . $serial . " limit 1 "; @mysql_query($update_str, $plink); } else { //沒找到就Insert $insert_str = "INSERT INTO `schedule` (`setdate`, `settime`, `subject`, `period`, `result`, `result_note`, `running`, `insert_time`, `start_time`, `end_time`, `update_time`) VALUES ('" . $arr['setdate'] . "', '" . $arr['settime'] . "', '" . mysql_real_escape_string($subject) . "', '" . $arr['period'] . "', '" . $arr['result'] . "', '" . $arr['result_note'] . "', '" . $arr['running'] . "', '" . date('YmdHis') . "', '" . $arr['start_time'] . "', '" . $arr['end_time'] . "', '" . date('YmdHis') . "')"; @mysql_query($insert_str, $plink); } } //排程記錄的Table schedule if ($logtable == "monitor") { $insert_str = "INSERT INTO `monitor` (`setdate`, `settime`, `subject`, `period`, `result`, `result_note`, `result_num`, `running`, `insert_time`, `start_time`, `end_time`, `update_time`) VALUES ('" . $arr['setdate'] . "', '" . $arr['settime'] . "', '" . mysql_real_escape_string($subject) . "', '" . $arr['period'] . "', '" . $arr['result'] . "', '" . $arr['result_note'] . "', '" . $arr['result_num'] . "', '" . $arr['running'] . "', '" . date('YmdHis') . "', '" . $arr['start_time'] . "', '" . $arr['end_time'] . "', '" . date('YmdHis') . "')"; $res = @mysql_query($insert_str, $plink); } //Line執行記錄 if ($logtable == "exec_line") { $insert_str = "INSERT INTO `exec_line` (`line_group`, `msg`, `hostname`, `filename`, `line_server`, `running`, `insert_time`, `start_time`, `end_time`) VALUES ('" . $arr['line_group'] . "', '" . $arr['msg'] . "', '" . $arr['hostname'] . "', '" . $arr['filename'] . "', '" . $arr['line_server'] . "', '" . $arr['running'] . "', '" . date('YmdHis') . "', '" . $arr['start_time'] . "', '" . $arr['end_time'] . "')"; @mysql_query($insert_str, $plink); } @mysql_close($plink); }
2014.12.16 增加聯信分期銀行-華南銀行分期費率 */ $logtable = "schedule"; $setdate = date("Ymd"); $settime = "0120"; $subject = "allPay標上每筆銀行費率"; $period = "daily"; $result = 0; $result_note = ""; $t1 = microtime(true); $start_time = date("YmdHis"); include_once "db_link.php"; include_once "comm_func.php"; $DBHOST = DB_HOST; //主DB $plink = checkdblink($DBHOST); mylink($plink); //銀行費定義也同步記錄在 PayWeb allpay_com.php 中 2014.07.8 by raleigh include_once "percen_mak_bank.inc"; //取出小特店的GID $strGID = "SELECT client FROM o_user WHERE sps=4 and stop=0 "; $Gid = @mysql_query($strGID, $plink); while ($G = @mysql_fetch_array($Gid)) { $GID_arr[] = $G[client]; } //清除測試資料 $strD = "delete from o_auth where client=3 "; @mysql_query($strD, $plink); //二天前 $MKtime = mktime(date("H"), date("i"), date("s"), date("m"), date("d") - 2, date("Y")); $dtymd_2ch = date("Ymd", $MKtime);
if ($ii_str) { $title = $subject . "-異常-" . $result_note; $title .= "-有執行失敗SQL"; $msg .= "有更新 o_close 失敗的 sr : <br>" . $ii_str . "<br>"; } //記DBLOG $arr = array('setdate' => $setdate, 'settime' => $settime, 'period' => $period, 'result' => $result, 'result_note' => $result_note, 'running' => number_format(microtime(true) - $t1, 3), 'start_time' => $start_time, 'end_time' => date("YmdHis")); @DBLog($logtable, $subject, $arr); $msg .= "<hr size=1>於 Settlement 每日 " . $settime . " 執行的 " . $filename . " 執行時間 " . number_format(microtime(true) - $t1, 3) . " 秒<br>" . date("Y/m/d H:i:s"); exec_mail(2, $title, $msg, 'holiday_pay_mak'); echo $subject . "-結束 \r\n"; //第二階段驗證 //找出已關帳, 但沒壓撥款日或手續費的 sleep(30); $t1 = microtime(true); $plink = checkdblink(DB_HOST42); mylink($plink); $MKtime = mktime(date("H"), date("i"), date("s"), date("m") - 1, date("d"), date("Y")); $dtymd_ch = date("Ymd", $MKtime); //日期 $strR = "SELECT sr, authsr, client, dtymd, bank, dt, taishin FROM o_close WHERE (taishin='' or percen='' or bank_pc='') and dtymd>='{$dtymd_ch}' and stat='已關帳' and client not in (select client from o_user where mid!='' and allpayto != 0 and bank!=20) "; $ww = @mysql_query($strR, $plink); $num1 = @mysql_num_rows($ww); //未壓到撥款工作日的筆數 if ($num1) { $ii_str = ""; while ($ax = @mysql_fetch_array($ww)) { $ii_str .= "o_close.sr: " . $ax['sr'] . " o_close.authsr: " . $ax['authsr'] . " 撥款日: " . $ax['taishin'] . " <br>"; } $linemsg = "近1個月內有已關帳但未壓撥款日或%數的交易 " . $num1 . " 筆, 請檢查! by holiday_pay_mak"; exec_line(4, $linemsg, 'holiday_pay_mak');