📄 add_log.c
字号:
/*=============================================================
功能: 交易日志
作者:
2001/3/25:王永忠:规范程序设计
===============================================================*/
#include <time.h>
#include <stdio.h>
#include <math.h>
#include "public.h"
#include "mytools.h"
#include "db_struct_c.h"
/*=============================================
添加交易日志:
ENTRY: pcs --- 交易包结构
msg --- 添写交易包位置提示信息
RETURN: -1 FAIL
0 SUCC
=============================================*/
int add_log(pcs, msg)
PUBLIC *pcs;
char *msg;
{
FILE *fp, *fopen();
char srdate[11], srtime[10];
char flname[81];
struct tm *tm;
time_t t;
if( !debug_ok() ) return 0; /* 系统不增加调试 */
time ( &t );
tm = localtime ( &t );
sprintf(flname,"%s.%02d.%02d",
getfname(WORKDIR, "/log/trans.log/tr_log"),
tm->tm_mon+1, tm->tm_mday);
fp = fopen ( flname, "a" );
if ( fp == NULL ){
errcall(ERROR,"open trans_log error");
return -1;
}
getdatef(srdate, "-");
gettimef(srtime, ":");
fprintf(fp,"\n%s %s ------ %s ------\n",srdate, srtime, msg);
fprintf(fp,"MSG_ID=[%s]\tPROC_CODE=[%s]\n", pcs->Msg_id,pcs->Proc_code);
fprintf(fp,"交易类型=[%d]\t原类型=[%d]\t原原类型=[%d]\n",
pcs->Tran_type, pcs->Void_tran_type, pcs->Void_old_tran_type);
fprintf(fp,"卡号=[%s]\t效期=[%s]\n", pcs->Card_no, pcs->Exp_date );
fprintf(fp,"交易金额=[%s]\t原金额=[%s]\n", pcs->Tran_amount,pcs->Void_amount);
fprintf(fp,"商户号=[%s]\t", pcs->Merchant_id);
fprintf(fp,"MCC =[%s]\t", pcs->Mcc);
fprintf(fp,"终端号=[%s]\n", pcs->Terminal_id);
fprintf(fp,"他行MCC=[%s]\t", pcs->Oth_mcc);
fprintf(fp,"他行商户号=[%s]\n", pcs->Oth_merchant_id);
fprintf(fp, "商户名[%s]\n", pcs->Merchant_name);
fprintf(fp,"收单行=[%.11s]\t",pcs->Acq_bank_id);
fprintf(fp,"收单行主机=[%s]\n",pcs->Acq_host_id);
fprintf(fp,"发卡行=[%.11s]\n",pcs->Iss_bank_id);
fprintf(fp,"发送行=[%.11s]\t",pcs->Snd_bank_id);
fprintf(fp,"发送行主机=[%s]\n",pcs->Snd_host_id);
fprintf(fp,"接收行=[%.11s]\t",pcs->Rcv_bank_id);
fprintf(fp,"接收行主机=[%s]\n",pcs->Rcv_host_id);
fprintf(fp,"本地交易日期=[%s]\t",pcs->Local_sys_date);
fprintf(fp,"本地交易时间=[%s]\n",pcs->Local_sys_time);
fprintf(fp,"RRN=[%s]\t交易系统时间=[%s]\n", pcs->Rrn, pcs->Tran_sys_time);
fprintf(fp,"银行类型=[%s]\t卡类型=[%s]\n", pcs->Bank_type, pcs->Card_type);
fprintf(fp,"流水号=[%ld]\t原流水号=[%ld]\n", pcs->Trace_no, pcs->Void_trace_no);
fprintf(fp,"票据号=[%ld]\t原票据号=[%ld]\n", pcs->Invoice_no, pcs->Void_invoice_no);
fprintf(fp,"授权号=[%s]\t批次号=[%ld]\n",
pcs->Auth_no, pcs->Batch_no);
fprintf(fp, "主机流水号=[%ld]\t原主机流水号=[%ld]\n",
pcs->Host_tran_ls, pcs->Void_host_ls);
fprintf(fp,"当前余额=[%s]\t可用余额=[%s]\n", pcs->Current_balance, pcs->Useful_balance);
fprintf(fp,"手续费=[%s]\t小费=[%s]\n", pcs->Fee, pcs->Tip);
fprintf(fp, "转账账号=[%s]\n", pcs->Trans_card_no);
fprintf(fp,"主机方清算日期=[%s]\t",pcs->Host_settle_date);
fprintf(fp,"发送方清算日期=[%s]\n",pcs->Snd_settle_date);
fprintf(fp,"接收方清算日期=[%s]\t",pcs->Rcv_settle_date);
fprintf(fp,"代理方清算日期=[%s]\n",pcs->Agent_settle_date);
fprintf(fp,"输卡方式=[%s]\tNII=[%s]\tPOS条件号=[%s]\t货币码=[%s]\n",
pcs->Input_mode, pcs->Nii, pcs->Pos_condition_code, pcs->Ccy_code);
fprintf(fp,"消息类型=[%ld]\t",pcs->Source_msg_type);
fprintf(fp,"模板号=[%d]\n", pcs->Module_id);
fprintf(fp,"二磁=[%s]\n",pcs->Card_track2);
fprintf(fp,"三磁=[%s]\n",pcs->Card_track3);
fprintf(fp,"附加数据=[%s]\n",pcs->Add_data);
fprintf(fp,"证件类型=[%c]\t证件号=[%s]\n", pcs->Person_id_type, pcs->Person_id);
fprintf(fp,"响应码=[%s]\t", pcs->Resp_code);
fprintf(fp,"响应行=[%s]\t响应行主机=[%s]\n", pcs->Resp_bank_id,pcs->Resp_host_id);
fprintf(fp,"\n");
fclose(fp);
return 0;
}
/*======================================================
* 添加错误交易日志:
* ENTRY:
pcs - 交易包结构 msg - 添写交易包位置提示信息
* If process success return value 0, else return value -1.
=======================================================*/
int add_err_log(PUBLIC *pcs, char *msg)
{
FILE *fp, *fopen();
char srdate[11], srtime[10];
fp = fopen((char *)getfname(WORKDIR, "/log/error_trans_log"), "a");
if (fp == NULL){
errcall(ERROR,"open error_trans_log error");
return -1;
}
getdatef(srdate, "-");
gettimef(srtime, ":");
fprintf(fp,"\n%s %s ------ %s ------\n",srdate, srtime, msg);
fprintf(fp,"acq_bank_id=[%s] ",pcs->Acq_bank_id);
fprintf(fp,"acq_host_id=[%s] ",pcs->Acq_host_id);
fprintf(fp,"snd_bank_id=[%s] ",pcs->Snd_bank_id);
fprintf(fp,"snd_host_id=[%s]\n",pcs->Snd_host_id);
fprintf(fp,"iss_bank_id=[%s] ",pcs->Iss_bank_id);
fprintf(fp,"rcv_bank_id=[%s] ",pcs->Rcv_bank_id);
fprintf(fp,"rcv_host_id=[%s]\n",pcs->Rcv_host_id);
fprintf(fp,"adv_logic_date=[%s] ",pcs->Host_settle_date);
fprintf(fp,"snd_logic_date=[%s]\n",pcs->Snd_settle_date);
fprintf(fp,"rcv_logic_date=[%s] ",pcs->Rcv_settle_date);
fprintf(fp,"agent_logic_date=[%s]\n",pcs->Agent_settle_date);
fprintf(fp,"local_sys_date=[%s] ",pcs->Local_sys_date);
fprintf(fp,"local_sys_time=[%s]\n",pcs->Local_sys_time);
fprintf(fp,"msg_id=[%s] proc_code=[%s] tran_sys_time =[%s]\n", \
pcs->Msg_id,pcs->Proc_code,pcs->Tran_sys_time);
fprintf(fp,"terminal_id=[%s] ", pcs->Terminal_id);
fprintf(fp,"merchant_id=[%s]\n", pcs->Merchant_id);
fprintf(fp,"MCC=[%s] rrn=[%s]\n" , pcs->Mcc,pcs->Rrn );
fprintf(fp,"oper_no=[%s] ",pcs->Oper_no );
fprintf(fp,"mode=[%s] trans_type=[%d] old_type=[%d]\n", \
pcs->Input_mode,pcs->Tran_type, pcs->Void_tran_type);
fprintf(fp,"card_no=[%s] expire=[%s] \n", pcs->Card_no,\
pcs->Exp_date );
fprintf(fp,"track2=[%s]\n",pcs->Card_track2);
fprintf(fp,"track3=[%s]\n",pcs->Card_track3);
fprintf(fp,"id_type[%c] person_id=[%s] passwd=[%8.8s] new_passwd=[%8.8s]\n",\
pcs->Person_id_type, pcs->Person_id, pcs->Passwd, pcs->New_passwd);
fprintf(fp,"bank_type=[%s] card_type=[%s] trans_card_no=[%s]\n", \
pcs->Bank_type, pcs->Card_type, pcs->Trans_card_no);
fprintf(fp,"amount=[%s] fee=[%s] current_balance=[%s] \
useful_balance=[%s]\n",
pcs->Tran_amount,pcs->Fee, pcs->Current_balance, \
pcs->Useful_balance);
fprintf(fp,"fee = [%s] add_data=[%s]\n", pcs->Fee,pcs->Add_data);
fprintf(fp,"trace_no=[%ld] invoice_no=[%ld] void_invoice_no=[%ld]\n", \
pcs->Trace_no, pcs->Invoice_no, pcs->Void_invoice_no);
fprintf(fp,"batch_no=[%ld] host_ls=[%ld] auth_no=[%s]\n",\
pcs->Batch_no, pcs->Host_tran_ls, pcs->Auth_no);
fprintf(fp,"resp_code=[%s] result=[%s]\n", \
pcs->Resp_code, pcs->Ccy_code);
fprintf(fp,"resp_bank_id=[%s] respone_host_id=[%s] \n", \
pcs->Resp_bank_id,pcs->Resp_host_id);
fprintf(fp,"\n");
fclose(fp);
return 0;
}
int add_inq_log(pcs, msg)
PUBLIC *pcs;
char *msg;
{
FILE *fp, *fopen();
char srdate[11], srtime[10];
fp = fopen( (char *)getfname(WORKDIR, "/log/inq_log"), "a" );
if ( fp == NULL ){
errcall(ERROR,"open inq_log error");
return -1;
}
getdatef(srdate, "-");
gettimef(srtime, ":");
fprintf(fp,"\n%s %s ------ %s ------\n",srdate, srtime, msg);
fprintf(fp,"acq_bank_id=[%s] ",pcs->Acq_bank_id);
fprintf(fp,"acq_host_id=[%s] ",pcs->Acq_host_id);
fprintf(fp,"snd_bank_id=[%s] ",pcs->Snd_bank_id);
fprintf(fp,"snd_host_id=[%s]\n",pcs->Snd_host_id);
fprintf(fp,"iss_bank_id=[%s] ",pcs->Iss_bank_id);
fprintf(fp,"rcv_bank_id=[%s] ",pcs->Rcv_bank_id);
fprintf(fp,"rcv_host_id=[%s]\n",pcs->Rcv_host_id);
fprintf(fp,"adv_logic_date=[%s] ",pcs->Host_settle_date);
fprintf(fp,"snd_logic_date=[%s]\n",pcs->Snd_settle_date);
fprintf(fp,"rcv_logic_date=[%s] ",pcs->Rcv_settle_date);
fprintf(fp,"agent_logic_date=[%s]\n",pcs->Agent_settle_date);
fprintf(fp,"local_sys_date=[%s] ",pcs->Local_sys_date);
fprintf(fp,"local_sys_time=[%s]\n",pcs->Local_sys_time);
fprintf(fp,"msg_id=[%s] proc_code=[%s] tran_sys_time =[%s]\n", pcs->Msg_id,pcs->Proc_code,pcs->Tran_sys_time);
fprintf(fp,"terminal_id=[%s] ", pcs->Terminal_id);
fprintf(fp,"merchant_id=[%s]\n", pcs->Merchant_id);
fprintf(fp,"MCC=[%s] rrn=[%s]\n" , pcs->Mcc,pcs->Rrn );
fprintf(fp,"oper_no=[%s] ",pcs->Oper_no );
fprintf(fp,"mode=[%s] trans_type=[%d] old_type=[%d]\n", \
pcs->Input_mode,pcs->Tran_type, pcs->Void_tran_type);
fprintf(fp,"card_no=[%s] expire=[%s] \n", pcs->Card_no,\
pcs->Exp_date );
fprintf(fp,"track2=[%s]\n",pcs->Card_track2);
fprintf(fp,"track3=[%s]\n",pcs->Card_track3);
fprintf(fp,"id_type[%c] person_id=[%s] passwd=[%8.8s] new_passwd=[%8.8s]\n",\
pcs->Person_id_type, pcs->Person_id, pcs->Passwd, pcs->New_passwd);
fprintf(fp,"bank_type=[%s] card_type=[%s] trans_card_no=[%s]\n", \
pcs->Bank_type, pcs->Card_type, pcs->Trans_card_no);
fprintf(fp,"amount=[%s] fee=[%s] current_balance=[%s] \
useful_balance=[%s]\n",
pcs->Tran_amount,pcs->Fee, pcs->Current_balance, \
pcs->Useful_balance);
fprintf(fp,"fee = [%s] add_data=[%s]\n", pcs->Fee,pcs->Add_data);
fprintf(fp,"trace_no=[%ld] invoice_no=[%ld] void_invoice_no=[%ld]\n", \
pcs->Trace_no, pcs->Invoice_no, pcs->Void_invoice_no);
fprintf(fp,"batch_no=[%ld] host_ls=[%ld] auth_no=[%s]\n",\
pcs->Batch_no, pcs->Host_tran_ls, pcs->Auth_no);
fprintf(fp,"resp_code=[%s] result=[%s]\n", \
pcs->Resp_code, pcs->Ccy_code);
fprintf(fp,"resp_bank_id=[%s] respone_host_id=[%s] \n", \
pcs->Resp_bank_id,pcs->Resp_host_id);
fprintf(fp,"\n");
fclose(fp);
return 0;
}
int add_iss_card_log(pcs, msg)
PUBLIC *pcs;
char *msg;
{
FILE *fp, *fopen();
char srdate[11], srtime[10];
fp = fopen( (char *)getfname(WORKDIR, "/log/iss_card"), "a" );
if ( fp == NULL ){
errcall(ERROR,"open iss_card error");
return -1;
}
getdatef(srdate, "-");
gettimef(srtime, ":");
fprintf(fp,"\n%s %s ------ %s ------\n",srdate, srtime, msg);
fprintf(fp,"acq_bank_id=[%s] ",pcs->Acq_bank_id);
fprintf(fp,"acq_host_id=[%s] ",pcs->Acq_host_id);
fprintf(fp,"snd_bank_id=[%s] ",pcs->Snd_bank_id);
fprintf(fp,"snd_host_id=[%s]\n",pcs->Snd_host_id);
fprintf(fp,"iss_bank_id=[%s] ",pcs->Iss_bank_id);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -