📄 cms535.sqc
字号:
/******************************************************************** ** 源码文件名称 : cms535.SQC ** 所属子系统 : CMS ** 当前文件版本 : 1.0.0.0 ** 作者 : UCCB ALEX ** 版本创建日期 : 2004/10/11 ** 功能描述 : 卡解锁 处理子交易 ** 修改记录 : ** 修改人 修改日期 修改日期*********************************************************************/#include "code.h"#include "attrdef.h"#include "sysdef.h"#include "pubcom.h"#include "cmscode.h"#include "cmscardinfo.h"#include "cmslockm.h"#include "cmsacctm.h"EXEC SQL INCLUDE SQLCA;int cmsCardUnlockPro( PUBCOM *pstPubcom ){ /*定义局部变量*/ struct cmscardinfo stCardInfo; struct cmslockm stLockM ; struct cmsacctm stAcctM ; char acPassWd[PASSWD_LEN+1] ; /*密码*/ strcpy( g_acRspCode, RSP_OK ); strcpy( g_acTrcMsg, "子交易: 卡解锁处理子交易....."); TRCLOG4 memset( &stCardInfo, 0x00, sizeof ( struct cmscardinfo ) ); memset( &stLockM, 0x00, sizeof ( struct cmslockm ) ); memset( &stAcctM, 0x00, sizeof ( struct cmsacctm ) ); /* 取数据字典值 */ getstring("CardNo" , stCardInfo.cardno); /*卡号 */ getstring("PassWd", acPassWd ); /*卡密码*/ /* 获取卡片信息表 */ if( pubReadCmscardinfo( &stCardInfo ) ) { if ( SQLCODE == SQLNOTFOUND ) sprintf( g_acRspMsg, "卡号[%s]不存在", stCardInfo.cardno ); ERRLOG goto Exit; } /* 检查卡片状态是否为锁卡状态*/ if( cmsApiChkCardStatIsLock( &stCardInfo ) ) { ERRLOG goto Exit; } /*修改卡片信息表*/ stCardInfo.cardstat[BIT9_LEN]=BIT9_CARDOK; strcpy( stCardInfo.chgdate, pstPubcom->acTranDate ); if( pubModiCmscardinfo( &stCardInfo ) ) { ERRLOG; goto Exit; } /*判断卡密码是否正确*/ if( cmsApiChkCardPwd( &stCardInfo,acPassWd,pstPubcom->acChannelId ) ) { ERRLOG goto Exit; } /* 获取锁卡登记簿*/ strcpy( stLockM.cardno , stCardInfo.cardno ); stLockM.lockstat[BIT1_LEN]=LOCKSTAT; pubStoVCmslockm( &stLockM ); EXEC SQL SELECT * INTO R_CMSLOCKM FROM CMSLOCKM WHERE cardno = :cmslockm_cardno AND lockstat =:cmslockm_lockstat; if ( SQLCODE ) { strcpy( g_acRspCode, "999996" ); /* 数据库读错误 */ pubCrtRspInfo( "cmslockm",SQLCODE ); ERRLOG return FAILED; }; pubVtoSCmslockm( &stLockM); /*修改锁卡登记簿*/ stLockM.lockstat[BIT1_LEN]=UNLOCKSTAT; strcpy(stLockM.cncldate, pstPubcom->acTranDate); strcpy(stLockM.cnclbrc, pstPubcom->acBrc); strcpy(stLockM.cnclteller, pstPubcom->acTeller); stLockM.cnclserseqno = pstPubcom->lSerSeqNo; strcpy(stLockM.cnclauthteller, pstPubcom->acAteller); if( pubModiCmslockm( &stLockM ) ) { ERRLOG goto Exit; } /* 子交易出口 */ if( cmsApiInsTranLog( pstPubcom, &stCardInfo, &stAcctM, "解锁", "卡解锁 " ) ) { ERRLOG goto Exit; } strcpy( g_acTrcMsg, "子交易: 卡解锁处理子交易..."); TRCLOG4Exit: if( !strcmp( g_acRspCode, RSP_OK ) ) return SUCCESS; else return FAILED ; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -