📄 cms901.sqc
字号:
/******************************************************************** ** 源码文件名称 : cms901.SQC ** 所属子系统 : CMS ** 当前文件版本 : 4.0.0.0 ** 作者 : Feng ** 版本创建日期 : 2004/09/21 ** 功能描述 : 卡密码错误处理 ** 修改记录 : ** 修改人 修改日期 修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardinfo.h"EXEC SQL INCLUDE SQLCA;int cmsCardPwdErrorPro( PUBCOM *pstPubcom ){ /*定义局部变量*/ char acCardNo[ ACCT_LEN+1 ]; /* 卡号 */ char acSubSys [ SUBSYS_LEN + 1 ] ; /*子系统代码*/ struct cmscardinfo stCmsCardInfo; /* 卡片信息表结构 */ int iRtn; /* 函数返回值 */ sprintf( g_acTrcMsg, "子交易: 卡密码错误处理开始.." ); TRCLOG4 /* 初始化 */ memset( acCardNo, 0x00, sizeof( acCardNo ) ); memset( acSubSys, 0x00, sizeof( acSubSys ) ); /* 取数据字典值 */ getstring( "CardNo", acCardNo ); sprintf( g_acTrcMsg, "cardno=[%s] rspcode[%s]", acCardNo, g_acRspCode ); TRCLOG3 /*取帐户所属子系统*/ if( pubInqAcctNoIdx( acCardNo , acSubSys ) ) { sprintf( g_acRspMsg,"账户[%s]不存在",acCardNo ); ERRLOG goto Exit ; } if ( strcmp( acSubSys, "CMS" ) ) { goto Exit; } /* 调用卡密码错误处理api */ if ( !strcmp( g_acRspCode, "CMS201" ) ) { sprintf( g_acTrcMsg, "cmsApiProPwdError Begin " ); TRCLOG3 iRtn = cmsApiProPwdError( pstPubcom->lSerSeqNo, pstPubcom->acTranDate, \ acCardNo, pstPubcom->acChannelId, pstPubcom->acTranCode ); if ( iRtn ) { strcpy( g_acRspCode, "CMS201" ); pubCrtRspInfo( ); ERRLOG return FAILED; } sprintf( g_acTrcMsg, "cmsApiProPwdError End " ); TRCLOG3 } else { /* 初始化结构 */ memset( &stCmsCardInfo, 0x00, sizeof( struct cmscardinfo ) ); /* 将输入参数赋值给结构 */ strcpy ( stCmsCardInfo.cardno, acCardNo ); /* 从卡片信息表获取记录并锁住记录 */ pubStoVCmscardinfo( &stCmsCardInfo ); EXEC SQL DECLARE Info_l_cur CURSOR FOR SELECT * FROM CMSCARDINFO WHERE cardno = :cmscardinfo_cardno FOR UPDATE; SQLOPENCUR(Info_l_cur,"Info_l_cur") if ( SQLCODE ) { /* 打开游标错误 */ strcpy( g_acRspCode, "CMS111" ); pubCrtRspInfo( "cmscardinfo", SQLCODE ); ERRLOG return FAILED; } pubInitCmscardinfo(); EXEC SQL FETCH Info_l_cur INTO R_CMSCARDINFO ; if ( SQLCODE && SQLCODE != SQLNOTFOUND ) { /* 取游标错误 */ strcpy( g_acRspCode, "CMS112" ); pubCrtRspInfo( "cmscardinfo", SQLCODE ); ERRLOG SQLCLOSECUR(Info_l_cur,"Info_l_cur") return FAILED; } else if ( SQLCODE == SQLNOTFOUND ) { /* 记录不存在 */ strcpy( g_acRspCode, "CMS113" ); sprintf( g_acRspMsg, "卡号[%s]不存在", acCardNo ); ERRLOG SQLCLOSECUR(Info_l_cur,"Info_l_cur") return FAILED; } pubVtoSCmscardinfo( &stCmsCardInfo ); sprintf( g_acTrcMsg, "Get CardInfo End " ); TRCLOG2 strcpy( stCmsCardInfo.lastdate, pstPubcom->acTranDate ); /* 修改卡片信息表记录 */ pubStoVCmscardinfo( &stCmsCardInfo ); EXEC SQL UPDATE cmscardinfo SET lastdate = :cmscardinfo_lastdate WHERE CURRENT OF Info_l_cur; if ( SQLCODE ) { /* 修改出错 */ strcpy( g_acRspCode, "CMS114" ); pubCrtRspInfo( "cmscardinfo", SQLCODE ); ERRLOG SQLCLOSECUR(Info_l_cur,"Info_l_cur") return FAILED; } sprintf( g_acTrcMsg, "SQCLODE[%d]", SQLCODE ); TRCLOG2 SQLCLOSECUR(Info_l_cur,"Info_l_cur") } /* 子交易出口 */ Exit: strcpy( g_acTrcMsg, "子交易: 卡密码错误处理结束.." ); TRCLOG4 return SUCCESS;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -