//查询银行卡余额 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; }
//查询银行卡余额 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; }