Beispiel #1
0
//查询银行卡余额
int Pos_QueryBank(INNER_TRANS_REQUEST * pNode)
{

	int ret=0;
	double bank_balance=0;
	char device_id[10+1]="";
	char card_id[12+1]="";
	char bankcard_no[30+1]="";
	char card_pwd[6+1]="";

	//判断设备是否登录
	des2src(card_id,pNode->CardNo);
	des2src(device_id,pNode->TerminalId);
	des2src(bankcard_no,pNode->BankCardNo);
	des2src(card_pwd,pNode->AccountPwd);
	ret=device_login_yes_or_no(atoi(device_id));
	if(ret)
	{	
		if(ret<0)
		{
			writelog(LOG_ERR,"device_login_yes_or_no faild,=[%s]",device_id);
			return E_TRANS_SCHOOL_NETERR;
		}
		else
		{
			writelog(LOG_INFO,"Device has not signed in!device_id=[%s],background ret=[%d]",device_id,ret);
			return E_TRANS_TERM_NOLOGIN;
		}
	}
	//判断操作方式(AUTH_MODE),如果绑定关系,判断校园卡密码是否正确
	if(AUTH_MODE_SCHOOLPWD==g_Bank.AUTH_MODE)
	{
		//判断绑定对应关系是否相符
		ret=verify_sch_bank_relationship(0,atoi(card_id),"",0,bankcard_no);
		if(ret)
		{
			writelog(LOG_INFO,"verify_sch_bank_relationship error!card_id=[%s],bankcard_id=[%s]",card_id,bankcard_no);
			return E_TRANS_RELATION_ERR;
		}
		ret=verify_card_password(atoi(card_id),"", 0,card_pwd);
		if(ret)
		{
			writelog(LOG_INFO,"Verify card password faild!card_id=[%s]",card_id);
			return ret;
		}
	}
	//发送银行查询余额申请包
	ret=Bank_QueryBalance(pNode,&bank_balance);
	if(ret)
	{
		writelog(LOG_INFO,"Bank_QueryBalance error!card_id=[%s],bankcard_id=[%s]",card_id,bankcard_no);
		return ret;
	}

	writelog(LOG_INFO,"Query bank card balance succeed!Balance=[%s]",pNode->Balance);
	return 0;

}
Beispiel #2
0
//查询银行卡余额
int Pos_QueryBank(INNER_TRANS_REQUEST * pNode)
{

	int ret=0;
	double bank_balance=0;
	//判断设备是否登录

	//判断操作方式(AUTH_MODE),如果绑定关系,判断校园卡密码是否正确

	//发送银行查询余额申请包
	ret=Bank_QueryBalance(pNode,&bank_balance);
	if(ret)	return -1;

	sprintf(pNode->Balance,"%9f",bank_balance);
	writelog(LOG_INFO,"Query bank card balance succeed!Balance=[%f]",bank_balance);
	return 0;

}