⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 add_log.c

📁 界面库
💻 C
📖 第 1 页 / 共 3 页
字号:

/*=============================================================
功能: 		交易日志	
作者:		
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 + -