这篇教程C++ ERRINFO函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中ERRINFO函数的典型用法代码示例。如果您正苦于以下问题:C++ ERRINFO函数的具体用法?C++ ERRINFO怎么用?C++ ERRINFO使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了ERRINFO函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: halAe_GetProdInfo/** ***************************************************************************** * @ingroup icp_hal * * @description * Get the CPU Type and product maj/min revisions, and return * the CPU type, and the combined maj and min revision. * * @assumptions * None * @sideEffects * None * @blocking * No * @reentrant * No * @threadSafe * Yes * * @param prodType - IN A pointer to the location of product type * @param prodRev - IN A pointer to the location of product revision * * @retval HALAE_SUCCESS Operation was successful * @retval HALAE_BADLIB Bad HAL library which wasn't initialized * @retval HALAE_BADARG Bad function argument * @retval HALAE_FAIL Operation failed * * *****************************************************************************/int halAe_GetProdInfo(icp_firml_handle_t *handle, unsigned int *prodType, unsigned int *prodRev){ if(!handle || !prodType || !prodRev) { ERRINFO(("handle=0x%p, prodType=0x%p, prodRev=0x%p/n", handle, prodType, prodRev)); return (HALAE_BADARG); } HALAE_VERIFY_LIB(handle); switch(handle->halHandle->PrdMinType) { case HWID_ACCEL_COMP: *prodType = ACCEL_COMP_TYPE; *prodRev = (handle->halHandle->PrdMajRev << PID_MAJOR_REV_BITPOS) | handle->halHandle->PrdMinRev; break; case HWID_ACCEL_COMP_C: *prodType = ACCELCOMP_C_CPU_TYPE; *prodRev = (handle->halHandle->PrdMajRev << PID_MAJOR_REV_BITPOS) | handle->halHandle->PrdMinRev; break; case HWID_ACCEL_COMP_B: *prodType = ACCELCOMP_B_CPU_TYPE; *prodRev = (handle->halHandle->PrdMajRev << PID_MAJOR_REV_BITPOS) | handle->halHandle->PrdMinRev; break; case HWID_ACCEL_COMP_RS: *prodType = ACCELCOMP_RS_CPU_TYPE; *prodRev = (handle->halHandle->PrdMajRev << PID_MAJOR_REV_BITPOS) | handle->halHandle->PrdMinRev; break; case HWID_ACCEL_COMP_R: *prodType = ACCELCOMP_R_CPU_TYPE; *prodRev = (handle->halHandle->PrdMajRev << PID_MAJOR_REV_BITPOS) | handle->halHandle->PrdMinRev; break; default: ERRINFO(("PrdMinType=0x%x/n", handle->halHandle->PrdMinType)); return (HALAE_FAIL); } return (HALAE_SUCCESS);}
开发者ID:lecoq,项目名称:qat_c2xxx,代码行数:85,
示例2: UcLo_AssignHalPages/** ***************************************************************************** * @ingroup uclo * * @description * * * @param pAeData - IN * @param hwAeNum - IN * * @retval UCLO_SUCCESS, UCLO_MEMFAIL, UCLO_BADARG * * *****************************************************************************/int UcLo_AssignHalPages(icp_firml_handle_t *handle, uclo_aedata_t *pAeData, unsigned int hwAeNum){ int ii=0, halPageNum=0, numPages=0, cc=0; unsigned int ss=0; if(pAeData == NULL) { ERRINFO(("bad argument, pAeData is NULL/n")); return (UCLO_BADARG); } for(ss = 0; ss < pAeData->numSlices; ss++) { numPages += pAeData->aeSlice[ss].encapImage->imagePtr->numOfPages; } pAeData->numPageXref = numPages; if(numPages == 0) { return (UCLO_SUCCESS); } if(!(pAeData->pageXref = (uclo_pagexref_t *)osalMemAlloc(sizeof(uclo_pagexref_t) * pAeData->numPageXref))) { ERRINFO(("malloc error/n")); return (UCLO_MEMFAIL); } osalMemSet(pAeData->pageXref, (UINT8)cc, sizeof(uclo_pagexref_t) * pAeData->numPageXref); halAe_SetNumPages(handle, (unsigned char)hwAeNum, pAeData->numPageXref); for(ss = 0; ss < pAeData->numSlices; ss++) { for(ii = 0; ii < pAeData->aeSlice[ss].encapImage->imagePtr->numOfPages; ii++) { halAe_SetPageData(handle, (unsigned char)hwAeNum, halPageNum, pAeData->aeSlice[ss].pages[ii].encapPage->begVirtAddr, pAeData->aeSlice[ss].pages[ii].encapPage->begPhyAddr, pAeData->aeSlice[ss].pages[ii].encapPage->numMicroWords); pAeData->aeSlice[ss].pages[ii].halPageNum = halPageNum; pAeData->pageXref[halPageNum].aeSliceIndex = ss; pAeData->pageXref[halPageNum].pageNum = ii; halPageNum++; } } return (UCLO_SUCCESS);}
开发者ID:lecoq,项目名称:qat_c2xxx,代码行数:66,
示例3: doAccountstatic int doAccount(TRANS& trans){ int ret=0; T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_lock_by_c0_and_accno(trans.cardaccno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,trans.cardaccno); else return E_DB_ACCOUNT_R; } if(tCardAccount.status[0]!=STATUS_NORMAL) { DB_t_account_free_lock_by_c0(); return E_CARDACC_LOGOUT; } if(amtcmp(tCardAccount.balance,0)!=0) { writelog(LOG_ERR,"balance[%.2lf]",tCardAccount.balance); DB_t_account_free_lock_by_c0(); return ERRINFO(E_CARDACC_BALANCE_NOZERO,tCardAccount.balance); } if(amtcmp(tCardAccount.foregift,0)!=0) { writelog(LOG_ERR,"foregift[%.2lf]",tCardAccount.foregift); DB_t_account_free_lock_by_c0(); return ERRINFO(E_CARDACC_FOREGIFT_NOZERO,tCardAccount.foregift); } tCardAccount.status[0]=STATUS_DELETE; tCardAccount.lastcardbal=trans.cardbefbal; tCardAccount.lastpaycnt=trans.paycnt-1; tCardAccount.paycnt=trans.paycnt; tCardAccount.cardbal=0; tCardAccount.frozebal=0; tCardAccount.subsidybal=0; tCardAccount.availbal=0; strcpy(tCardAccount.closedate,trans.accdate); ret=DB_t_account_update_lock_by_c0(&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCardAccount.accno); else return E_DB_ACCOUNT_U; } return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:51,
示例4: doCardstatic int doCard(T_t_card& tCard){ int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; ret=DB_t_card_read_by_cardno(trans.cardno,&tCard); if(ret) { writelog(LOG_ERR,"cardno[%d]",trans.cardno); if(DB_NOTFOUND==ret) return E_NOTEXIST_CARDNO; else return E_DB_CARD_R; } trans.cardtype=tCard.cardtype; trans.feetype=tCard.feetype; if(tCard.status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARD_LOGOUT,trans.cardno); } if('1'==tCard.frozeflag[0]) { return ERRINFO(E_CARD_FREEZE,trans.cardno); } if('1'==tCard.lossflag[0]) { return ERRINFO(E_CARD_LOST,trans.cardno); } if('1'==tCard.badflag[0]) { return ERRINFO(E_CARD_BADRECORD,trans.cardno); } if('1'==tCard.lockflag[0]) { return ERRINFO(E_CARDNO_LOCKED,trans.cardno); } //比较卡物理ID是否相同 if(strcmp(tCard.cardphyid,trans.cardphyid)!=0) { writelog(LOG_ERR,"db cardphyid[%s],input cardphyid[%s]",tCard.cardphyid,trans.cardphyid); return E_CARD_PHYNO_DIFFER; } //检查卡的有效期 if(strcmp(tCard.expiredate,trans.transdate)<=0) return E_CARD_EXPIRED; return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:49,
示例5: ParseCmd_P// speed set.u8 ParseCmd_P(char * pCmdStr, CMD_ST *pstCmd){ ACTION_ST stAction; if(pCmdStr == NULL) { return 0; } fprintf(stderr,"/t%s:/t开始解析/n",pCmdStr); if (HfnParseActionP(pCmdStr,&stAction) == false) { ERRINFO("P指令解析错误"); return 0; } fprintf(stderr,"/t设置目标速度:%d/n",stAction.m_stActionSpeed.m_slSpeed); // 执行速度切换的动作. pstCmd->m_astNodeChain[pstCmd->m_ucLen].m_stCond.m_ucCondtionType = COND_TYPE_ONCE; pstCmd->m_astNodeChain[pstCmd->m_ucLen].m_stAction = stAction; pstCmd->m_ucLen++; fprintf(stderr,"/t解析完成,命令ID = %u/n",(unsigned)pstCmd->m_ucLen); return 1;}
开发者ID:handsoul,项目名称:gmc,代码行数:28,
示例6: UcLo_FreeAeData/** ***************************************************************************** * @ingroup uclo * * @description * Free resources associated with Overlay AE data * * @param pAeData - IN * * @retval UCLO_SUCCESS, UCLO_BADARGG * * *****************************************************************************/int UcLo_FreeAeData(uclo_aedata_t *pAeData){ unsigned int ss=0; if(pAeData == NULL) { ERRINFO(("bad argument, pAeData is NULL/n ")); return (UCLO_BADARG); } for(ss=0; ss < pAeData->numSlices; ss++) { if(pAeData->aeSlice[ss].regions) { osalMemFree(pAeData->aeSlice[ss].regions); } pAeData->aeSlice[ss].regions = NULL; if(pAeData->aeSlice[ss].pages) { osalMemFree(pAeData->aeSlice[ss].pages); } pAeData->aeSlice[ss].pages = NULL; } if(pAeData->pageXref) { osalMemFree(pAeData->pageXref); } pAeData->pageXref = NULL; pAeData->relocUstoreDram = 0; return (UCLO_SUCCESS);}
开发者ID:lecoq,项目名称:qat_c2xxx,代码行数:47,
示例7: ParseCmd_S// 设置IO. / shM7.// 信号名称 - shM7.// 格式: setio = sh + pos + sigName// = sl + pos + sigName.u8 ParseCmd_S(char * pCmdStr, CMD_ST *pstCmd){ static s8 s_ascSigBuf[40]; ACTION_ST stAction; if (HfnParseActionS(pCmdStr,&stAction) == false) { ERRINFO("S命令解析错误: %s/n",pCmdStr); return false; } GetSigNameByID(stAction.m_stActionSig.m_ucRid,(char *)s_ascSigBuf); // sh/sl. fprintf(stderr,"/t设置信号:%s 为 %d,位置:%d/n", s_ascSigBuf,stAction.m_stActionSig.m_slSetVal,stAction.m_stActionSig.m_slPos); pstCmd->m_astNodeChain[pstCmd->m_ucLen].m_stCond.m_ucCondtionType = COND_TYPE_ONCE; pstCmd->m_astNodeChain[pstCmd->m_ucLen].m_stAction.m_iActionType = ACTION_TYPE_SIG; pstCmd->m_astNodeChain[pstCmd->m_ucLen].m_stAction = stAction; pstCmd->m_ucLen++; fprintf(stderr,"/t解析完成,命令ID = %u/n",(unsigned)pstCmd->m_ucLen); return 1;}
开发者ID:handsoul,项目名称:gmc,代码行数:31,
示例8: checklosecardaccstatic int checklosecardacc(int cardno,T_t_card *tCard,T_t_account *tAccount){ int ret = DB_t_card_read_by_cardno(cardno, tCard); if(tCard->status[0]!=STATUS_NORMAL) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_LOGOUT,cardno); } /* if('1'==tCard->frozeflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_FREEZE,cardno); } if('1'==tCard->badflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_BADRECORD,cardno); } // 只有挂失状态才能无卡退 if('1'!=tCard->lossflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARDNO_NOLOST,cardno); } */ ret=DB_t_account_read_by_accno(tCard->accno,tAccount); if(ret) { writelog(LOG_ERR,"accno[%s]",tCard->accno); if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_ACCNO,tCard->accno); else return E_DB_ACCOUNT_R; } if(tAccount->status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARDACC_LOGOUT,tAccount->accno); } return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:41,
示例9: F240000int F240000(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){ int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; trans.termid=atoi(rPack->sorder2); char seed_key[17] = ""; char sInputPwd[33] = ""; //存放加密前的卡密钥 char sCryptPwd[33] = ""; //存放加密后的卡密钥 T_t_card card; memset(&card,0,sizeof(card)); ST_CPACK aPack; ST_PACK *out_pack = &(aPack.pack); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); SetCol(handle,F_LVOL0,F_DAMT0,F_DAMT1,F_DAMT2,F_LVOL1,F_LVOL2,F_SDATE0,0); trans.cardno=rPack->lvol0; if(trans.cardno<1) trans.cardno=atoi(rPack->sserial0); ret=DB_t_card_read_by_cardno(trans.cardno,&card); if(ret) { writelog(LOG_ERR,"Create serial_no error,error code=[%d]",ret); return ERRINFO(E_CARD_LOGOUT,trans.cardno); } if(card.status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARD_LOGOUT,trans.cardno); } if('1'==card.frozeflag[0]) { return ERRINFO(E_CARD_FREEZE,trans.cardno); } if('1'==card.lossflag[0]) { return ERRINFO(E_CARD_LOST,trans.cardno); } if('1'==card.badflag[0]) { return ERRINFO(E_CARD_BADRECORD,trans.cardno); } if('1'==card.lockflag[0]) { return ERRINFO(E_CARDNO_LOCKED,trans.cardno); } des2src(sInputPwd,rPack->scust_limit); //卡密码 strcpy(seed_key,STATIC_SEED_KEY); //种子密钥 EncodePwd(seed_key,sInputPwd,sCryptPwd,0); //加密 if(strcmp(sCryptPwd,card.cardpwd)!=0) { writelog(LOG_ERR,"card err input[%s]db[%s]",sCryptPwd,card.cardpwd); return E_CARDPWD; } PutRow(handle,out_pack,pRetCode,szMsg); return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:60,
示例10: F847318int F847318(TRUSERID *handle,int iRequest,ST_PACK *in_pack,int *pRetCode,char *szMsg){ int cardno=0; int custid,ret; custid = in_pack->lvol0; if(custid == 0 ) { return E_INPUT_DATA_INVAILD; } if(in_pack->lvol1 >0) cardno = in_pack->lvol1; else { ret = get_cardno_by_custid(custid,&cardno); if(ret) { return ret; } } T_t_card tCard; memset(&tCard,0,sizeof tCard); ret = DB_t_card_read_by_cardno(cardno,&tCard); if(ret) { if(DB_NOTFOUND == ret) return ERRINFO(E_NOTEXIST_CARDNO,cardno); else return E_DB_CARD_R; } // 检查卡密码 if(strcmp(in_pack->sstatus0,TYPE_YES) == 0) { ret = CheckUserPswd(in_pack->semp_pwd,tCard.cardpwd); if(ret) { return E_CARDPWD; } } des2src(in_pack->semp,in_pack->scust_limit); in_pack->lwithdraw_flag = in_pack->lvol6; in_pack->lvol0=tCard.cardno; in_pack->sstatus1[0]='1'; ret = F846307(handle,iRequest,in_pack,pRetCode,szMsg); if(ret) return ret; return 0;}
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:51,
示例11: doAccountstatic int doAccount(TRANS& trans,char *cardaccno){ int ret=0; T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_lock_by_c0_and_accno(cardaccno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,cardaccno); else return E_DB_ACCOUNT_R; } if(tCardAccount.status[0]!=STATUS_NORMAL) { DB_t_account_free_lock_by_c0(); return ERRINFO(E_CARDACC_LOGOUT,tCardAccount.accno); } if(amtcmp(tCardAccount.balance,0)!=0) { DB_t_account_free_lock_by_c0(); return ERRINFO(E_CARDACC_BALANCE_NOZERO,tCardAccount.balance); } tCardAccount.availbal=0; tCardAccount.frozebal=0; tCardAccount.lastcardbal=0; ret=DB_t_account_update_lock_by_c0(&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,cardaccno); else return E_DB_ACCOUNT_U; } return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:38,
示例12: CheckCardStatusstatic int CheckCardStatus(){ CAccTrans& ats = CAccTrans::GetInst(); TRANS& trans = ats.trans; T_t_card tCard; memset(&tCard, 0, sizeof(tCard)); int ret = 0; ret = DB_t_card_read_by_cardno(trans.cardno, &tCard); if(ret) { writelog(LOG_ERR, "cardno[%d]", trans.cardno); if(DB_NOTFOUND == ret) return ERRINFO(E_NOTEXIST_CARDNO, trans.cardno); else return E_DB_CARD_R; } if(tCard.status[0] != STATUS_NORMAL) { return ERRINFO(E_CARD_LOGOUT, trans.cardno); } if('1' == tCard.frozeflag[0]) { return ERRINFO(E_CARD_FREEZE, trans.cardno); } if('1' == tCard.lossflag[0]) { return ERRINFO(E_CARD_LOST, trans.cardno); } if('1' == tCard.badflag[0]) { return ERRINFO(E_CARD_BADRECORD, trans.cardno); } //检查卡的有效期 if(strcmp(tCard.expiredate, trans.transdate) <= 0) return E_CARD_EXPIRED; trans.cardphytype = tCard.cardphytype; return 0;}
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:38,
示例13: HfnParseActionPbool HfnParseActionP(char * pCmdStr, ACTION_ST * pstAction){ s32 slSpdSeq = 0; if (pCmdStr == NULL || (*pCmdStr != 'P' && *pCmdStr != 'p')) { return false; } pCmdStr++;// 跳过字符[pP] if (GetDigit(pCmdStr,&slSpdSeq) == false) { ERRINFO("速度指针解析错误"); return false; } pstAction->m_iActionType = ACTION_TYPE_SPD; pstAction->m_stActionPos.m_slPos = slSpdSeq; return true;}
开发者ID:handsoul,项目名称:gmc,代码行数:22,
示例14: UcLo_ClearAeData/** ***************************************************************************** * @ingroup uclo * * @description * Initialize UcLo_AeData structure as unused * * @param pAeData - IN * * @retval UCLO_SUCCESS, UCLO_BADARG * * *****************************************************************************/int UcLo_ClearAeData(uclo_aedata_t *pAeData){ unsigned int ss = 0; if(pAeData == NULL) { ERRINFO(("bad argument, pAeData is NULL/n")); return (UCLO_BADARG); } for(ss=0; ss < pAeData->numSlices; ss++) { pAeData->aeSlice[ss].regions = NULL; pAeData->aeSlice[ss].pages = NULL; pAeData->aeSlice[ss].encapImage = NULL; } pAeData->numSlices = 0; pAeData->numPageXref = 0; pAeData->pageXref = NULL; pAeData->relocUstoreDram = (unsigned int)-1; return (UCLO_SUCCESS);}
开发者ID:lecoq,项目名称:qat_c2xxx,代码行数:36,
示例15: DoCardInsteadCancel//取消换卡static int DoCardInsteadCancel(TRUSERID *handle,ST_PACK *rPack,int *pRetCode,char *szMsg) { int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; ST_CPACK aPack; ST_PACK *outPack = &(aPack.pack); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); SetCol(handle,F_LVOL1,F_LSAFE_LEVEL2,F_LVOL4,F_LVOL5, F_SALL_NAME,F_SPAGER,F_SCERT_NO, F_SEMAIL2,F_SMARKET_CODE,F_SDATE0, F_LVOL0,F_STX_PWD,F_LVOL8,F_LVOL6,F_LSAFE_LEVEL,F_SMARKET_CODE2,F_SHOLDER_AC_NO, F_SORDER0,F_SEMP,F_SDATE3,F_STIME3,F_LVOL11,F_LVOL12, F_LWITHDRAW_FLAG,F_LSERIAL1,F_VSMESS,F_SNAME2,0); T_t_card tCard; memset(&tCard,0,sizeof(tCard)); ret=DB_t_card_read_by_cardno(trans.cardno,&tCard); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDNO,trans.cardno); else return E_DB_CARD_R; } if(tCard.status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARD_LOGOUT,trans.cardno); } if('1'==tCard.frozeflag[0]) { return ERRINFO(E_CARD_FREEZE,trans.cardno); } if('1'==tCard.lossflag[0]) { return ERRINFO(E_CARD_LOST,trans.cardno); } if('1'==tCard.badflag[0]) { return ERRINFO(E_CARD_BADRECORD,trans.cardno); } T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_by_accno(tCard.accno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCard.accno); else return E_DB_ACCOUNT_R; } T_t_customer customer; memset(&customer,0,sizeof(customer)); if(tCard.custid) { ret=DB_t_customer_read_by_custid(tCard.custid,&customer); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CUSTOMER,tCard.custid); else return E_DB_CUSTOMER_R; } } char cardpwd[33]=""; char key[17]=""; strcpy(key,STATIC_SEED_KEY); EncodePwd(key,cardpwd,tCard.cardpwd, 1); T_t_cardinsteaddtl cardinsteaddtl; memset(&cardinsteaddtl,0,sizeof(cardinsteaddtl)); ret=DB_t_cardinsteaddtl_read_lock_by_c0_and_cardno(trans.cardno,&cardinsteaddtl); if(ret) { if(DB_NOTFOUND==ret) return E_DB_CARDINSTEADDTL_N; else return E_DB_CARDINSTEADDTL_R; } if(cardinsteaddtl.status[0]==STATUS_NORMAL) { T_t_transdtl transdtl; memset(&transdtl,0,sizeof(transdtl)); des2src(transdtl.transdate,trans.transdate); des2src(transdtl.transtime,trans.transtime); des2src(transdtl.accdate,pAccTrans->trans.accdate); des2src(transdtl.acctime,trans.acctime); transdtl.termid=trans.termid; transdtl.termseqno=trans.termseqno; transdtl.transcode=trans.transcode; transdtl.paytype=trans.fundtype; des2src(transdtl.voucherno,trans.voucherno); transdtl.cardno=trans.cardno; transdtl.purseno=trans.purseno; transdtl.cardcnt=cardinsteaddtl.oldcardcnt; transdtl.cardbefbal=cardinsteaddtl.oldcardbal; transdtl.cardaftbal=transdtl.cardbefbal; transdtl.managefee=trans.totalfeeamt; transdtl.amount=trans.totaltransamt; transdtl.custid=tCard.custid; des2src(transdtl.custname,customer.custname); des2src(transdtl.stuempno,customer.stuempno); des2src(transdtl.opercode,trans.opercode);//.........这里部分代码省略.........
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:101,
示例16: DoCardInsteadstatic int DoCardInstead(TRUSERID *handle,ST_PACK *rPack,int *pRetCode,char *szMsg) { int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; ST_CPACK aPack; ST_PACK *outPack = &(aPack.pack); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); SetCol(handle,F_LVOL1,F_LSAFE_LEVEL2,F_LVOL4,F_LVOL5, F_SALL_NAME,F_SPAGER,F_SCERT_NO,F_LSAFE_LEVEL,F_SMARKET_CODE2,F_SHOLDER_AC_NO, F_SEMAIL2,F_SMARKET_CODE,F_SDATE0, F_LVOL0,F_STX_PWD,F_LVOL8,F_LVOL6, F_SORDER0,F_SEMP,F_SDATE3,F_STIME3,F_LVOL11,F_LVOL12, F_LWITHDRAW_FLAG,F_LSERIAL1,F_VSMESS,F_SNAME2,0); T_t_card tCard; memset(&tCard,0,sizeof(tCard)); ret=DB_t_card_read_lock_by_cur_and_cardno(trans.cardno,&tCard); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDNO,trans.cardno); else return E_DB_CARD_R; } if(tCard.status[0]!=STATUS_NORMAL) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_LOGOUT,trans.cardno); } if('1'==tCard.frozeflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_FREEZE,trans.cardno); } if('1'==tCard.lossflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_LOST,trans.cardno); } if('1'==tCard.badflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_BADRECORD,trans.cardno); } tCard.status[0]=STATUS_DELETE; des2src(tCard.closedate,trans.transdate); ret=DB_t_card_update_lock_by_cur(&tCard); if(ret) { return E_DB_CARD_U; } memset(tCard.closedate,0,sizeof(tCard.closedate)); tCard.status[0]=STATUS_NORMAL; T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_by_accno(tCard.accno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCard.accno); else return E_DB_ACCOUNT_R; } int existflag=0; ret=IsExistUnGetSubsidy(tCard.cardno,&existflag); if(ret) { return ret; } if(existflag) { ERRTIP("有未领补助,请领取补助后再换卡"); return E_COMMON_ERR; } T_t_customer customer; memset(&customer,0,sizeof(customer)); if(tCard.custid) { ret=DB_t_customer_read_by_custid(tCard.custid,&customer); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CUSTOMER,tCard.custid); else return E_DB_CUSTOMER_R; } des2src(trans.stuempno,customer.stuempno); des2src(trans.custname,customer.custname); trans.custid=customer.custid; } char cardpwd[33]=""; char key[17]=""; strcpy(key,STATIC_SEED_KEY); EncodePwd(key,cardpwd,tCard.cardpwd, 1); T_t_cardinsteaddtl cardinsteaddtl; memset(&cardinsteaddtl,0,sizeof(cardinsteaddtl)); ret=DB_t_cardinsteaddtl_read_lock_by_c0_and_cardno(trans.cardno,&cardinsteaddtl); if(ret) { if(DB_NOTFOUND==ret) return E_DB_CARDINSTEADDTL_N; else return E_DB_CARDINSTEADDTL_R; } //核对登记信息与卡表是否一致 if(strcmp(cardinsteaddtl.oldcardphyid,tCard.cardphyid)!=0) { DB_t_cardinsteaddtl_free_lock_by_c0();//.........这里部分代码省略.........
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:101,
示例17: SaveOldCardInfostatic int SaveOldCardInfo(TRUSERID *handle,ST_PACK *rPack,int *pRetCode,char *szMsg) { int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; T_t_card tCard; memset(&tCard,0,sizeof(tCard)); ret=DB_t_card_read_by_cardno(trans.cardno,&tCard); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDNO,trans.cardno); else return E_DB_CARD_R; } if(tCard.status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARD_LOGOUT,trans.cardno); } if('1'==tCard.frozeflag[0]) { return ERRINFO(E_CARD_FREEZE,trans.cardno); } if('1'==tCard.lossflag[0]) { return ERRINFO(E_CARD_LOST,trans.cardno); } if('1'==tCard.badflag[0]) { return ERRINFO(E_CARD_BADRECORD,trans.cardno); } //比较卡物理ID是否相同 if(strcmp(tCard.cardphyid,trans.cardphyid)!=0) { writelog(LOG_ERR,"db cardphyid[%s],input cardphyid[%s]",tCard.cardphyid,trans.cardphyid); return E_CARD_PHYNO_DIFFER; } T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_by_accno(tCard.accno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCard.accno); else return E_DB_ACCOUNT_R; } int existflag=0; ret=IsExistUnGetSubsidy(tCard.cardno,&existflag); if(ret) { return ret; } if(existflag) { ERRTIP("有未领补助,请领取补助后再换卡"); return E_COMMON_ERR; } ret=DB_t_cardinsteaddtl_del_by_cardno(trans.cardno); if(ret) { if(DB_NOTFOUND!=ret) return E_DB_CARDINSTEADDTL_R; } T_t_cardinsteaddtl cardinsteaddtl; memset(&cardinsteaddtl,0,sizeof(cardinsteaddtl)); des2src(cardinsteaddtl.accdate,pAccTrans->trans.accdate); cardinsteaddtl.termid = trans.termid; cardinsteaddtl.termseqno = trans.termseqno; cardinsteaddtl.cardno = trans.cardno; cardinsteaddtl.oldcardtype=tCard.cardtype; des2src(cardinsteaddtl.oldcardphyid,trans.cardphyid); des2src(cardinsteaddtl.oldshowcardno,tCard.showcardno); cardinsteaddtl.oldcardcnt = trans.paycnt; cardinsteaddtl.oldcardbal = trans.cardbefbal; cardinsteaddtl.oldsubsidyno=trans.cardsubsidyno; cardinsteaddtl.revflag[0]='0'; cardinsteaddtl.status[0]=STATUS_NORMAL; ret=DB_t_cardinsteaddtl_add(&cardinsteaddtl); if(ret) { if(DB_REPEAT==ret) return E_DB_CARDINSTEADDTL_E; else return E_DB_CARDINSTEADDTL_I; } T_t_cardver cardver; memset(&cardver,0,sizeof(cardver)); cardver.cardno=tCard.cardno; des2src(cardver.accdate,pAccTrans->trans.accdate); cardver.termid=trans.termid; cardver.termseqno=trans.termseqno; cardver.status[0]=STATUS_NORMAL; des2src(cardver.cardphyid,cardinsteaddtl.cardphyid); des2src(cardver.stuempno,trans.stuempno); cardver.cardvertype=CARDVERTYPE_CARDINSTEADOLD; ret=getCardVerNo(cardver.cardverno); if(ret) return ret; ret=DB_t_cardver_add(&cardver); if(ret) { if(DB_REPEAT==ret) return E_DB_CARDVER_E; else return E_DB_CARDVER_I;//.........这里部分代码省略.........
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:101,
示例18: F846310int F846310(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){ int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance();// ret=pAccTrans->checkCfgUpdate();// if(ret)// return ret; des2src(pAccTrans->trans.opercode,rPack->semp); pAccTrans->trans.transcode=TC_CARDRETURN; ret=pAccTrans->InitTrans(); if(ret) return ret; TRANS& trans=pAccTrans->trans; char anonymflag[2]=""; int returnForgiftFlag=0; ST_CPACK aPack; ST_PACK *outPack = &(aPack.pack); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); //检查客户 trans.cardflag=1; trans.usecardflag=1; trans.cardno=rPack->lvol0; trans.purseno=PURSE_NO_ONE; trans.paycnt = rPack->lvol6+1; trans.cardbefbal=rPack->lvol7/100.0; trans.cardaftbal=trans.cardbefbal; des2src(trans.cardphyid,rPack->sstation0); T_t_card tCard; memset(&tCard,0,sizeof(tCard)); ret=doCard(trans,tCard); if(ret) { return ret; } ret=UpdateCardBitmap(trans.cardno,trans.paycnt,CARDBITMAPTYPE_SYS_ONLINE); if(ret) return ret; T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_by_accno(tCard.accno,&tCardAccount); if(ret) { writelog(LOG_ERR,"cardno[%d]",tCard.cardno); if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCard.accno); else return E_DB_ACCOUNT_R; } if(tCardAccount.status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARDACC_LOGOUT,tCardAccount.accno); } if(amtcmp(tCardAccount.balance,0)<0) { ERRTIP("账户余额小于0不能直接回收"); return E_COMMON_ERR; } else if(amtcmp(tCardAccount.balance,0)==0) { trans.cardaftbal=0; } else { strcpy(trans.cardaccno,tCardAccount.accno); trans.feetype=tCard.feetype; trans.inputamt=tCardAccount.balance; trans.unusedamt = trans.inputamt; ret=pAccTrans->doTrans(); if(ret) return ret; ret=pAccTrans->doTransEnd(); if(ret) return ret; //修改帐户 ret=doAccount(trans,tCardAccount.accno); if(ret) return ret; } T_t_customer tCustomer; memset(&tCustomer,0,sizeof(tCustomer)); if(tCard.custid>0) { ret=DB_t_customer_read_by_custid(tCard.custid,&tCustomer); if(ret) { if(DB_NOTFOUND==ret) return E_NOTEXIST_CUSTOMER; else return E_DB_CUSTOMER_R; }//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例19: doCardstatic int doCard(TRANS& trans,T_t_card& tCard){ int ret=0; ret=DB_t_card_read_lock_by_cur_and_cardno(trans.cardno,&tCard); if(ret) { writelog(LOG_ERR,"cardno[%d]",trans.cardno); if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDNO,trans.cardno); else return E_DB_CARD_R; } if(tCard.status[0]!=STATUS_NORMAL) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_LOGOUT,trans.cardno); } if('1'==tCard.frozeflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_FREEZE,trans.cardno); } if('1'==tCard.lossflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_LOST,trans.cardno); } if('1'==tCard.badflag[0]) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_BADRECORD,trans.cardno); } //比较卡物理ID是否相同 if(strcmp(tCard.cardphyid,trans.cardphyid)!=0) { writelog(LOG_ERR,"db cardphyid[%s],input cardphyid[%s]",tCard.cardphyid,trans.cardphyid); DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARD_PHYNO_DIFFER,trans.cardphyid,tCard.cardphyid); } //回收卡 T_t_cardtype tCardType; memset(&tCardType,0,sizeof(tCardType)); ret=DB_t_cardtype_read_by_cardtype(tCard.cardtype,&tCardType); if(tCardType.recycleable[0]!='1') { DB_t_card_free_lock_by_cur(); return ERRINFO(E_CARDTYPE_CANNOT_REUSE,tCardType.cardtype); } if(tCardType.fixdaycnt<1) { DB_t_card_free_lock_by_cur(); return ERRINFO(E_NOSET_CARDTYPE_VALIDDAYS,tCardType.cardtype); } ret=calcEndDate(trans.transdate,tCardType.fixdaycnt,tCard.expiredate); if(ret) { DB_t_card_free_lock_by_cur(); return ret; } char cardpwd[33]=""; char key[17]=""; get_init_passwd_by_man_id("",cardpwd); strcpy(key,STATIC_SEED_KEY); EncodePwd(key,cardpwd,tCard.cardpwd, 0);// memset(tCard.cardstatus,'0',sizeof(tCard.cardstatus)); des2src(tCard.lastsaved,trans.sysdatetime); ret=DB_t_card_update_lock_by_cur(&tCard); if(ret) { if(DB_NOTFOUND==ret) return E_DB_CARD_N; else return E_DB_CARD_U; } //用来输出卡密码 strcpy(tCard.cardpwd,cardpwd); /* //添加卡片回收明细记录 T_t_carddtl tCarddtl; memset(&tCarddtl,0,sizeof(tCarddtl)); /////////////////////////////////rPack2TableStuct//////////////////////// des2src(tCarddtl.accdate,pAccTrans->sysPara.sSettleDate); tCarddtl.termid=trans.termid; tCarddtl.termseqno=trans.termseqno; tCarddtl.cardtype=tCard.cardtype; des2src(tCarddtl.showcardno,tCard.showcardno); des2src(tCarddtl.cardphyid,tCard.cardphyid); tCarddtl.cardusetype=CARDUSETYPE_RETURNCARD; des2src(tCarddtl.opercode,trans.opercode); ret=DB_t_carddtl_add(&tCarddtl); if(ret) { if(DB_REPEAT==ret) return E_DB_CARDDTL_E;//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例20: F846340int F846340(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg) { int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; trans.transcode=TC_EACC2SHOP; trans.transtype = TRANSTYPE_EACCPAYMENT; // 支付交易 //trans.termid=TERMID_WEB; trans.termid=rPack->lcert_code; // 使用支付网关的注册ID ret=pAccTrans->InitTrans(); if(ret) return ret; trans.inputamt=D4U5(rPack->damt0,2); trans.unusedamt = trans.inputamt; trans.transamt=trans.inputamt; if(amtcmp(trans.inputamt,0)==0) return E_INPUT_AMT_NULL; if(amtcmp(trans.inputamt,0)<0) return E_INPUT_AMT; //查询电子钱包帐户 T_t_netacc tNetAccount; memset(&tNetAccount,0,sizeof(tNetAccount)); ret=DB_t_netacc_read_by_accno(rPack->scust_no,&tNetAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_EACCNO,rPack->scust_no); else return E_DB_ACCOUNT_R; } //检查电子钱包密码 if(rPack->lvol1 == 0) { // 检查电子账户密码 检查账户余额 if(strcmp(rPack->snote2,tNetAccount.paypwd)!=0) return E_EACCPWD; } if(tNetAccount.status[0]!=STATUS_NORMAL) // 账户状态 return ERRINFO(E_EACCNO_LOGOUT,tNetAccount.accno); if(tNetAccount.stoppayflag[0]=='1') // 止付标志 return ERRINFO(E_EACC_STOPPAY,tNetAccount.accno); if(rPack->lvol1 == 0) { // 检查电子账户密码 检查账户余额 if(amtcmp(trans.inputamt,tNetAccount.balance)>0) return ERRINFO(E_EACC_BALANCE_SHORTAGE,trans.inputamt-tNetAccount.balance); } /* double CardMaxBal=0; ret=GetPurseMaxBal(PURSE_NO_ONE,CardMaxBal); if(ret) return ret; if(amtcmp(trans.inputamt+trans.cardbefbal,CardMaxBal)>0) return ERRINFO(E_AMT_EXCEED_MAX,CardMaxBal); */ des2src(trans.draccno,tNetAccount.accno); trans.custid=tNetAccount.custid; des2src(trans.custname,tNetAccount.accname); // 支付转账 T_t_shop shop; memset(&shop,0,sizeof(shop)); ret=DB_t_shop_read_by_shopid(rPack->lvol0,&shop); if(ret) { if(DB_NOTFOUND==ret) return E_NOTEXIST_SHOPID; else return E_DB_SHOP_R; } if(shop.status[0]!=STATUS_NORMAL) return E_SHOP_LOGOUT; if(shop.shoptype!=SHOPTYPE_ESHOP) return ERRIF_SHOP_TYPE; des2src(trans.craccno,shop.accno); // 产生交易参考号 T_t_refno tRefno; memset(&tRefno,0,sizeof(tRefno)); get_random(tRefno.mac); ret= GetNewRefno(tRefno.refno); if(ret) return ret; des2src(tRefno.lastsaved,trans.sysdatetime); des2src(tRefno.accdate,trans.accdate); tRefno.termid = trans.termid; tRefno.termseqno = trans.termseqno; tRefno.status = RS_SUCC; ret=DB_t_refno_add(&tRefno); if(ret) {//.........这里部分代码省略.........
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:101,
示例21: F850020//.........这里部分代码省略......... return E_DB_CARDBALANCE_R; } if(rPack->lvol2) { //有卡 if(amtcmp(trans.inputamt,cardbalance.balance)>0) trans.inputamt=cardbalance.balance; } else { //无卡 if(amtcmp(cardbalance.cardbal,cardbalance.balance)>0) trans.inputamt=cardbalance.balance; else trans.inputamt=cardbalance.cardbal; } cardbalance.balance =D4U5(cardbalance.balance - trans.inputamt); cardbalance.cardbal=0; // cardbalance.paycnt; if(rPack->lvol4) cardbalance.paycnt = rPack->lvol4-1; des2src(cardbalance.transdate,trans.transdate); des2src(cardbalance.transtime,trans.transtime); ret=DB_t_cardbalance_update_lock_by_c0(&cardbalance); if(ret) { return E_DB_CARDBITMAP_U; } double CardMaxBal=0; ret=GetPurseMaxBal(PURSE_NO_ONE,CardMaxBal); if(ret) return ret; if(amtcmp(trans.cardbefbal+rPack->lsafe_level,CardMaxBal)>0) return ERRINFO(E_AMT_EXCEED_MAX,CardMaxBal); trans.feetype=tCard.feetype; trans.custid=tCard.custid; trans.transamt=trans.inputamt; trans.unusedamt = trans.inputamt; if(pursetype.onlineflag) { //联机水控退款 pAccTrans->trans.transtype=TRANSTYPE_WATERREFUND; ret=pAccTrans->DoTransByTransType(); if(ret) return ret; ret=pAccTrans->doTransEnd(); if(ret) return ret; } else { if(pursetype.shopid<1) { ERRTIP("钱包类型[%d]没有设置对应的水控商户",pursetype.pursetype); return E_COMMON_ERR; } //否则脱机水控 int shoptype=0; char shopstatus[2]={0}; ret=ShopAccReadbyShopid(pursetype.shopid,trans.shopaccno,&shoptype,shopstatus); if(ret) { writelog(LOG_ERR,"shopid[%d]",pursetype.shopid); return ret; }
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,
示例22: switchconst char *SocketErrorDesc(int code){ switch(code) {#define ERRINFO(code, desc) case code: return desc " (" #code ")";ERRINFO(WSAEINTR, "Interrupted function call.")ERRINFO(WSAEACCES, "Permission denied.")ERRINFO(WSAEFAULT, "Bad address.")ERRINFO(WSAEINVAL, "Invalid argument.")ERRINFO(WSAEMFILE, "Too many open files.")ERRINFO(WSAEWOULDBLOCK, "Resource temporarily unavailable.")ERRINFO(WSAEINPROGRESS, "Operation now in progress.")ERRINFO(WSAEALREADY, "Operation already in progress.")ERRINFO(WSAENOTSOCK, "Socket operation on nonsocket.")ERRINFO(WSAEDESTADDRREQ, "Destination address required.")ERRINFO(WSAEMSGSIZE, "Message too long.")ERRINFO(WSAEPROTOTYPE, "Protocol wrong type for socket.")ERRINFO(WSAENOPROTOOPT, "Bad protocol option.")ERRINFO(WSAEPROTONOSUPPORT, "Protocol not supported.")ERRINFO(WSAESOCKTNOSUPPORT, "Socket type not supported.")ERRINFO(WSAEOPNOTSUPP, "Operation not supported.")ERRINFO(WSAEPFNOSUPPORT, "Protocol family not supported.")ERRINFO(WSAEAFNOSUPPORT, "Address family not supported by protocol family.")ERRINFO(WSAEADDRINUSE, "Address already in use.")ERRINFO(WSAEADDRNOTAVAIL, "Cannot assign requested address.")ERRINFO(WSAENETDOWN, "Network is down.")ERRINFO(WSAENETUNREACH, "Network is unreachable.")ERRINFO(WSAENETRESET, "Network dropped connection on reset.")ERRINFO(WSAECONNABORTED, "Software caused connection abort.")ERRINFO(WSAECONNRESET, "Connection reset by peer.")ERRINFO(WSAENOBUFS, "No buffer space available.")ERRINFO(WSAEISCONN, "Socket is already connected.")ERRINFO(WSAENOTCONN, "Socket is not connected.")ERRINFO(WSAESHUTDOWN, "Cannot send after socket shutdown.")ERRINFO(WSAETIMEDOUT, "Connection timed out.")ERRINFO(WSAECONNREFUSED, "Connection refused.")ERRINFO(WSAEHOSTDOWN, "Host is down.")ERRINFO(WSAEHOSTUNREACH, "No route to host.")ERRINFO(WSAEPROCLIM, "Too many processes.")ERRINFO(WSASYSNOTREADY, "Network subsystem is unavailable.")ERRINFO(WSAVERNOTSUPPORTED, "Winsock.dll version out of range.")ERRINFO(WSANOTINITIALISED, "Successful WSAStartup not yet performed.")ERRINFO(WSAEDISCON, "Graceful shutdown in progress.")ERRINFO(WSATYPE_NOT_FOUND, "Class type not found.")ERRINFO(WSAHOST_NOT_FOUND, "Host not found.")ERRINFO(WSATRY_AGAIN, "Nonauthoritative host not found.")ERRINFO(WSANO_RECOVERY, "This is a nonrecoverable error.")ERRINFO(WSANO_DATA, "Valid name, no data record of requested type.")//ERRINFO(WSA_INVALID_HANDLE, "Specified event object handle is invalid.")//ERRINFO(WSA_INVALID_PARAMETER, "One or more parameters are invalid.")//ERRINFO(WSA_IO_INCOMPLETE, "Overlapped I/O event object not in signaled state.")//ERRINFO(WSA_IO_PENDING, "Overlapped operations will complete later.")//ERRINFO(WSA_NOT_ENOUGH_MEMORY, "Insufficient memory available.")//ERRINFO(WSA_OPERATION_ABORTED, "Overlapped operation aborted.")//ERRINFO(WSAINVALIDPROCTABLE, "Invalid procedure table from service provider.")//ERRINFO(WSAINVALIDPROVIDER, "Invalid service provider version number.")//ERRINFO(WSAPROVIDERFAILEDINIT, "Unable to initialize a service provider.")ERRINFO(WSASYSCALLFAILURE, "System call failure.")#undef ERRINFO default: return "Unknown error code."; }}
开发者ID:AbdelghaniDr,项目名称:mirror,代码行数:63,
示例23: F846322int F846322(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg) { int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; des2src(pAccTrans->trans.opercode,rPack->semp); if(strlen(pAccTrans->trans.opercode)<1) { pAccTrans->trans.termid=rPack->lwithdraw_flag; } pAccTrans->trans.transcode=TC_CARDBALMOD; ret=pAccTrans->InitTrans(); if(ret) return ret; des2src(pAccTrans->trans.chkopercode,rPack->semp_no); ret=chk_oper_pwd(pAccTrans->trans.chkopercode,rPack->scust_limit); if(ret) return ret; trans.cardflag=1; trans.usecardflag=1; trans.cardno=rPack->lvol0; pAccTrans->SetCardCntAndCardBal(rPack->lvol5,rPack->lvol6,rPack->lvol7); des2src(trans.cardphyid,rPack->sstation1); if(rPack->lbank_acc_type>0) { trans.transamt=rPack->damt0; trans.transflag=TF_DPS; trans.aftdpscnt++; } else { trans.transamt=-rPack->damt0; trans.transflag=TF_PAY; trans.aftpaycnt++; } if(amtcmp(trans.transamt,0)==0) { ERRTIP("调整金额不能为0"); return E_COMMON_ERR; } trans.cardaftbal= D4U5(trans.cardbefbal+trans.transamt); T_t_card tCard; memset(&tCard,0,sizeof(tCard)); ret=doCard(trans,tCard); if(ret) { return ret; } trans.feetype=tCard.feetype; trans.cardtype=tCard.cardtype; T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_lock_by_c0_and_accno(tCard.accno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCard.accno); else return E_DB_ACCOUNT_R; } if(tCardAccount.status[0]!=STATUS_NORMAL) { DB_t_account_free_lock_by_c0(); return ERRINFO(E_CARDACC_LOGOUT,tCardAccount.accno); } if(amtcmp(trans.cardbefbal,tCardAccount.availbal)==0) { DB_t_account_free_lock_by_c0(); ERRTIP("该卡余额与账户余额一致,不需要调整"); return E_COMMON_ERR; } if(amtcmp(trans.cardbefbal,tCardAccount.balance)==0) { DB_t_account_free_lock_by_c0(); ERRTIP("该卡余额与账户余额一致,不需要调整"); return E_COMMON_ERR; } if(amtcmp(trans.cardaftbal,tCardAccount.balance)>0) { DB_t_account_free_lock_by_c0(); ERRTIP("调整后卡余额不能大于账户余额"); return E_COMMON_ERR; } tCardAccount.dpscnt=trans.dpscnt; tCardAccount.paycnt=trans.paycnt; if(rPack->lbank_acc_type>0) tCardAccount.dpscnt=trans.aftdpscnt; if(rPack->lbank_acc_type<0) tCardAccount.paycnt=trans.aftpaycnt; tCardAccount.cardbal=trans.cardaftbal; strcpy(tCardAccount.transtime,trans.sysdatetime); ret=DB_t_account_update_lock_by_c0(&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCard.accno); else return E_DB_ACCOUNT_U; } trans.custid=tCard.custid; T_t_transdtl transdtl; memset(&transdtl,0,sizeof(transdtl)); des2src(transdtl.transdate,trans.transdate); des2src(transdtl.transtime,trans.transtime); strcpy(transdtl.accdate,trans.accdate); strcpy(transdtl.acctime,trans.acctime); transdtl.termid=trans.termid; transdtl.termseqno=trans.termseqno; transdtl.transcode=trans.transcode; transdtl.paytype=trans.fundtype; des2src(transdtl.voucherno,trans.voucherno);//.........这里部分代码省略.........
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:101,
示例24: DoCheckstatic int DoCheck(ST_PACK *rPack,T_t_shopcard& tShopCard,T_t_shop& tShop){ //检查卡是否已经使用 int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; des2src(tShopCard.cardphyid,rPack->sbank_acc); des2src(tShopCard.showcardno,rPack->sorder0); des2src(tShopCard.expiredate,rPack->sdate0); des2src(tShopCard.opendate,trans.accdate); des2src(tShopCard.lastsaved,trans.sysdatetime); tShopCard.status[0]=STATUS_NORMAL; tShopCard.lossflag[0]='0'; tShopCard.shopid =rPack->lvol0; if(!strlen(tShopCard.cardphyid)) return E_INPUT_CARDPHYID; if(!strlen(tShopCard.expiredate)) return E_INPUT_EXPIREDATE; //判断到期日期 ret=IsInvalidDateTime(tShopCard.expiredate,"YYYYMMDD"); if (ret) return ERRINFO(E_INPUT_EXPIREDATE,tShopCard.expiredate); if (strncmp(tShopCard.expiredate,trans.accdate,8)<0) return ERRINFO(E_INPUT_EXPIREDATE,tShopCard.expiredate); //检查商户 ret=DB_t_shop_read_by_shopid(tShopCard.shopid,&tShop); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_SHOPID,tShopCard.shopid); else return E_DB_SHOPCARD_R; } if(tShop.status[0]!=STATUS_NORMAL) { return ERRINFO(E_SHOP_LOGOUT,tShop.shopid); } char cardpwd[33]={0}; char key[17]={0}; get_init_passwd_by_man_id(tShop.idno,cardpwd); strcpy(key,STATIC_SEED_KEY); EncodePwd(key,cardpwd,tShopCard.cardpwd, 0); strcpy(trans.cardpwd,cardpwd);//临时保存密码 //检查是否存在商户卡 T_t_shopcard tShopCardCheck; memset(&tShopCardCheck,0,sizeof(tShopCardCheck)); ret=DB_t_shopcard_read_by_shopid_and_status(tShopCard.shopid,tShopCard.status,&tShopCardCheck); if(ret) { if(DB_NOTFOUND!=ret) return E_DB_SHOPCARD_R; } else { ERRTIP("该商户商户卡已发行"); return E_COMMON_ERR; } ret=DB_t_shopcard_read_by_cardphyid_and_status(tShopCard.cardphyid,tShopCard.status,&tShopCardCheck); if (ret!=DB_NOTFOUND) { if (DB_SUCCESS==ret) return ERRINFO(E_EXIST_CARDPHYID,tShopCard.cardphyid); else return E_DB_CARD_R; } return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:72,
示例25: F846326int F846326(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){ int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); TRANS& trans=pAccTrans->trans; des2src(pAccTrans->trans.opercode,rPack->semp); if(strlen(pAccTrans->trans.opercode)<1) { pAccTrans->trans.termid=rPack->lwithdraw_flag; } pAccTrans->trans.transcode=TC_WATERCARDBALMOD; ret=pAccTrans->InitTrans(); if(ret) return ret; des2src(pAccTrans->trans.chkopercode,rPack->semp_no); ret=chk_oper_pwd(pAccTrans->trans.chkopercode,rPack->scust_limit); if(ret) return ret; if(rPack->lbank_acc_type>0) trans.transamt=rPack->damt0; else trans.transamt=-rPack->damt0; trans.cardflag=1; trans.usecardflag=1; trans.cardno=rPack->lvol0; trans.purseno=PURSE_NO_TWO; trans.cardbefbal=rPack->lvol7/100.0; trans.cardaftbal= D4U5(trans.cardbefbal+trans.transamt); des2src(trans.cardphyid,rPack->sstation1); if(amtcmp(trans.transamt,0)==0) { ERRTIP("调整金额不能为0"); return E_COMMON_ERR; } double CardMaxBal=0; ret=GetPurseMaxBal(PURSE_NO_TWO,CardMaxBal); if(ret) return ret; if(amtcmp(trans.cardaftbal,CardMaxBal)>0) return ERRINFO(E_AMT_EXCEED_MAX,CardMaxBal); T_t_card tCard; memset(&tCard,0,sizeof(tCard)); ret=doCard(trans,tCard); if(ret) { return ret; } trans.feetype=tCard.feetype; trans.cardtype=tCard.cardtype; T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_by_accno(tCard.accno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCard.accno); else return E_DB_ACCOUNT_R; } if(tCardAccount.status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARDACC_LOGOUT,tCardAccount.accno); } trans.custid=tCard.custid; T_t_transdtl transdtl; memset(&transdtl,0,sizeof(transdtl)); des2src(transdtl.transdate,trans.transdate); des2src(transdtl.transtime,trans.transtime); strcpy(transdtl.accdate,trans.accdate); strcpy(transdtl.acctime,trans.acctime); transdtl.termid=trans.termid; transdtl.termseqno=trans.termseqno; transdtl.transcode=trans.transcode; transdtl.paytype=trans.fundtype; des2src(transdtl.voucherno,trans.voucherno); transdtl.cardno=trans.cardno; transdtl.purseno=trans.purseno; transdtl.cardbefbal=trans.cardbefbal; transdtl.amount=trans.transamt; transdtl.managefee=trans.totalfeeamt; transdtl.cardaftbal=trans.cardaftbal; transdtl.custid=tCardAccount.custid; des2src(transdtl.custname,tCardAccount.accname); des2src(transdtl.opercode,trans.opercode); transdtl.showcardno=atol(tCard.showcardno); transdtl.status[0]=DTLSTATUS_SUCCESS; GetStuempnoByCustid(transdtl.custid,transdtl.stuempno); ret=DB_t_transdtl_add(&transdtl); if(ret) { if(DB_REPEAT==ret) return E_DB_TRANSDTL_E; else return E_DB_TRANSDTL_I; } ST_CPACK aPack;//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例26: F950043int F950043(TRUSERID *handle,int iRequest,ST_PACK *in_pack,int *pRetCode,char *szMsg){ int ret=0; int shopid=0; int rows=0; T_t_device tDevice; T_t_cfgshopfee cfgshopfee; char sysdate[9]; char systime[7]; ST_CPACK aPack; ST_PACK *out_pack; out_pack = &(aPack.pack); memset(&tDevice,0,sizeof tDevice); memset(sysdate,0,sizeof sysdate); memset(systime,0,sizeof systime); memset(&aPack,0,sizeof aPack); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); SetCol(handle,F_LVOL1,F_LVOL2,0); writelog(LOG_INFO,"950043 cpack:[%s]",CAccTrans::getInstance()->cpackdata); ret = DB_t_device_read_by_deviceid(in_pack->lvol0,&tDevice); if(ret) { if(DB_NOTFOUND == ret) return ERRINFO(E_NOTEXIST_DEVICE,in_pack->lvol0); else return E_DB_DEVICE_R; } if(tDevice.status[0]!=STATUS_NORMAL) return E_DEVICE_LOGOUT; int existcnt=0; getsysdate(sysdate); getsystime(systime); writelog(LOG_DEBUG,"device[%d]devphyid[%s],date[%s]time[%s]",in_pack->lvol0,tDevice.devphyid,sysdate,systime); ret = GetShopidByDevphyid(tDevice.devphyid,sysdate,systime,tDevice.deviceid,shopid); if(ret) { return ret; } ret=IsShopFeeCfgExist(shopid,existcnt); if(ret) return ret; if(!existcnt) { shopid=0; writelog(LOG_INFO,"该商户%d搭伙费参数不存在,取通用搭伙费参数",shopid); } ret = DB_t_cfgshopfee_open_select_by_c1_and_shopid(shopid); if(ret) { return E_DB_PREPARE; } while(1) { memset(&cfgshopfee,0,sizeof cfgshopfee); ret = DB_t_cfgshopfee_fetch_select_by_c1(&cfgshopfee); if(ret) { if(DB_NOTFOUND == ret) { if(!rows) return E_DB_CFGSHOPFEE_N; break; } else { return E_DB_CFGSHOPFEE_R; } } rows++; out_pack->lvol1 = cfgshopfee.feetype; out_pack->lvol2 = D4U5(cfgshopfee.feerate*100,0); PutRow(handle,out_pack,pRetCode,szMsg); writelog(LOG_INFO,"feetype[%d]feerate[%.4lf]", cfgshopfee.feetype,cfgshopfee.feerate); } return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:81,
示例27: F847150int F847150(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){ int ret =0; char accno[21]=""; char accflag=0; ST_CPACK aPack; ST_PACK *out_pack = &(aPack.pack); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); SetCol(handle,F_SBANKNAME,0); des2src(accno,rPack->sbank_acc); int subjflag=rPack->lvol1; if(subjflag) { //查询科目全称 T_t_subject subject; memset(&subject,0,sizeof(subject)); ret=DB_t_subject_read_by_subjno(accno,&subject); if(ret) { if(DB_NOTFOUND==ret) return E_DB_SUBJECT_N; else return E_DB_SUBJECT_R; } strcpy(out_pack->sbankname,subject.subjfullname); PutRow(handle,out_pack,pRetCode,szMsg); return 0; } if(strlen(accno)<10) { accflag=ACCFLAG_INNER; } else { if('1'==accno[0]) accflag=ACCFLAG_CARD; else if('2'==accno[0]) accflag=ACCFLAG_SHOP; else if('3'==accno[0]) accflag=ACCFLAG_EACC; else { return ERRINFO(E_NOTEXIST_ACCNO,accno); } } switch(accflag) { case ACCFLAG_CARD: { T_t_account tAccount; memset(&tAccount,0,sizeof(tAccount)); ret=DB_t_account_read_by_accno(accno, &tAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,accno); else return E_DB_ACCOUNT_R; } strcpy(out_pack->sbankname,tAccount.accname); } break; case ACCFLAG_SHOP: { T_t_shopacc tShopAcc; memset(&tShopAcc,0,sizeof(tShopAcc)); ret=DB_t_shopacc_read_by_accno(accno, &tShopAcc); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_SHOPACCNO,accno); else return E_DB_ACCOUNT_R; } strcpy(out_pack->sbankname,tShopAcc.accname); } break; case ACCFLAG_EACC: { T_t_netacc tNetAcc; memset(&tNetAcc,0,sizeof(tNetAcc)); ret=DB_t_netacc_read_by_accno(accno, &tNetAcc); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_EACCNO,accno); else return E_DB_ACCOUNT_R; } strcpy(out_pack->sbankname,tNetAcc.accname); } break; case ACCFLAG_INNER: {//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例28: F846336int F846336(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){ int ret=0; CAccTrans *pAccTrans=CAccTrans::getInstance(); des2src(pAccTrans->trans.opercode,rPack->semp); int transflag=rPack->lvol3;; if(transflag) { pAccTrans->trans.transcode=TC_EACC2CARD; } else { pAccTrans->trans.transcode=TC_CARD2EACC; } ret=pAccTrans->InitTrans(); if(ret) return ret; TRANS& trans=pAccTrans->trans; ST_CPACK aPack; ST_PACK *outPack = &(aPack.pack); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); char key[17]=""; char pwd_plain[33]=""; char pwd_crypt[33]=""; strcpy(key,STATIC_SEED_KEY); des2src(pwd_plain,rPack->scust_limit); EncodePwd(key,pwd_plain,pwd_crypt, 0); trans.cardflag=1; pAccTrans->trans.usecardflag=1; trans.cardno=rPack->lvol0; trans.purseno=PURSE_NO_ONE; trans.cardcnt=rPack->lvol6+1; trans.cardbefbal=rPack->lvol7/100.0; trans.cardaftbal=trans.cardbefbal; trans.inputamt=D4U5(rPack->damt0,2); // transdtl.cardaftbal=rPack->lvol8;// transdtl.siteno=rPack->lcert_code;// transdtl.frontno=0; //des2src(transdtl.devphyid,rPack->sname); //transdtl.devseqno=rPack->lserial0; //des2src(transdtl.bankcode,rPack->sbank_code); //des2src(transdtl.bankcardno,rPack->scard0); //des2src(transdtl.mobile,rPack->sphone2);// des2src(transdtl.remark,rPack->ssectypes); //检查客户 des2src(trans.cardphyid,rPack->sstation0); T_t_card tCard; memset(&tCard,0,sizeof(tCard)); ret=doCard(tCard); if(ret) { return ret; } //查询卡帐户 T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_by_cardno_and_purseno(trans.cardno,trans.purseno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_CARDNO_PURSENO_NOACCNO,trans.cardno,trans.purseno); else return E_DB_ACCOUNT_R; } if(tCardAccount.status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARDACC_LOGOUT,tCardAccount.accno); } //根据客户号查询电子钱包帐户 T_t_netacc tNetAccount; memset(&tNetAccount,0,sizeof(tNetAccount)); ret=DB_t_netacc_read_by_custid(tCardAccount.custid,&tNetAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_EACCNO,tCardAccount.custid); else return E_DB_ACCOUNT_R; } if(tNetAccount.status[0]!=STATUS_NORMAL) return ERRINFO(E_EACCNO_LOGOUT,tNetAccount.accno); strcpy(trans.cardaccno,tCardAccount.accno); pAccTrans->trans.feetype=tCard.feetype; pAccTrans->trans.custid=tCard.custid; strcpy(pAccTrans->trans.cardaccno,tCardAccount.accno); strcpy(pAccTrans->trans.eaccno,tNetAccount.accno); if(TC_CARD2EACC==trans.transcode) { //检查卡密码 if(strcmp(tCard.cardpwd,pwd_crypt)!=0) { return E_CARDPWD;//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例29: F950052//.........这里部分代码省略......... { return E_DB_DEPOSITOPER_U; } ret=DB_t_dpsshoppos_read_by_deviceid(trans.termid, &tDepositShoppos); if(ret) { if(DB_NOTFOUND==ret) { writelog(LOG_INFO,"PosDeposit termid[%d] ",trans.termid); trans.transcode = TC_POSDEPOSIT; } else { return E_DB_DEPOSITSHOPPOS_R; } } else { writelog(LOG_INFO,"ShopPosDeposit termid[%d] ",trans.termid); trans.transcode = TC_SHOPPOSDEPOSIT; ret=DB_t_shop_read_by_shopid(tDepositShoppos.shopid, &tDepositShop); if(ret) { if(DB_NOTFOUND==ret) return E_DB_SHOP_N; else return E_DB_SHOP_R; } if(tDepositShop.status[0]!=STATUS_NORMAL) { return E_SHOP_LOGOUT; } des2src(trans.draccno,tDepositShop.accno); } ret=pAccTrans->InitTrans(); if(ret) return ret; //根据卡号和钱包号得到消费者账号(借方) ret=DB_t_account_read_by_accno(tCard.accno,&tAccount); if(ret) { writelog(LOG_ERR,"DB_t_account_read_by_accno ret[%d]cardno[%d]",ret,trans.cardno); if(DB_NOTFOUND==ret) return E_NOTEXIST_ACCNO; else return E_DB_ACCOUNT_R; } double CardMaxBal=0; ret=GetPurseMaxBal(PURSE_NO_ONE,CardMaxBal); if(ret) return ret; if(amtcmp(trans.inputamt+trans.cardbefbal,CardMaxBal)>=0) return ERRINFO(E_AMT_EXCEED_MAX,CardMaxBal); trans.custid=tCard.custid; des2src(trans.cardaccno,tAccount.accno); ret=pAccTrans->doTrans(); if(ret) return ret; des2src(transdtl.transdate,trans.transdate); des2src(transdtl.transtime,trans.transtime); strcpy(transdtl.accdate,trans.accdate); strcpy(transdtl.acctime,trans.acctime); transdtl.termid=trans.termid; transdtl.termseqno=trans.termseqno; transdtl.transcode=trans.transcode; transdtl.paytype=trans.fundtype; des2src(transdtl.voucherno,trans.voucherno); transdtl.cardno=trans.cardno; transdtl.purseno=trans.purseno; transdtl.transflag = TF_DPS; transdtl.cardcnt=trans.dpscnt; transdtl.cardbefbal=trans.cardbefbal; transdtl.amount=trans.totaltransamt; transdtl.managefee=trans.totalfeeamt; transdtl.cardaftbal=trans.cardaftbal; transdtl.custid=trans.custid; des2src(transdtl.custname,tAccount.accname); des2src(transdtl.opercode,trans.opercode); transdtl.status[0]=DTLSTATUS_SUCCESS; ret=DB_t_transdtl_add(&transdtl); if(ret) { if(DB_REPEAT==ret) return E_DB_TRANSDTL_E; else return E_DB_TRANSDTL_I; } sprintf(trans.remark,"卡号%d 充值前卡余额:%.2lf元 卡当前余额:%.2lf元",trans.cardno,trans.cardbefbal,trans.cardaftbal); writelog(LOG_INFO,trans.remark); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); SetCol(handle,F_LVOL5,F_LVOL10,F_LCERT_CODE,F_SSTOCK_CODE2,0); out_pack->lvol5 = trans.cardno; out_pack->lvol10 = (int)D4U5(trans.cardaftbal*100,0); out_pack->lcert_code = trans.termseqno; PutRow(handle,out_pack,pRetCode,szMsg); return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例30: F846323int F846323(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){ int ret=0; CAccTrans& ats=CAccTrans::GetInst(); TRANS& trans=ats.trans; des2src(ats.trans.opercode,rPack->semp); if(strlen(ats.trans.opercode)<1) { ats.trans.termid=rPack->lwithdraw_flag; } ats.trans.transcode=TC_WATERCARDBALMOD; ret=ats.InitTrans(); if(ret) return ret; trans.transamt=rPack->damt0; trans.cardflag=1; trans.usecardflag=1; trans.cardno=rPack->lvol0; trans.purseno=PURSE_NO_THREE; trans.cardbefbal=rPack->lvol7/100.0; trans.cardaftbal= D4U5(trans.cardbefbal+trans.transamt); des2src(trans.cardphyid,rPack->sstation1); if(amtcmp(trans.transamt,0)==0) { ERRTIP("充值金额不能为0"); return E_COMMON_ERR; } T_t_card tCard; memset(&tCard,0,sizeof(tCard)); ret=doCard(trans,tCard); if(ret) { return ret; } trans.feetype=tCard.feetype; trans.cardtype=tCard.cardtype; T_t_account tCardAccount; memset(&tCardAccount,0,sizeof(tCardAccount)); ret=DB_t_account_read_by_accno(tCard.accno,&tCardAccount); if(ret) { if(DB_NOTFOUND==ret) return ERRINFO(E_NOTEXIST_CARDACCNO,tCard.accno); else return E_DB_ACCOUNT_R; } if(tCardAccount.status[0]!=STATUS_NORMAL) { return ERRINFO(E_CARDACC_LOGOUT,tCardAccount.accno); } trans.custid=tCard.custid; T_t_transdtl transdtl; memset(&transdtl,0,sizeof(transdtl)); des2src(transdtl.transdate,trans.transdate); des2src(transdtl.transtime,trans.transtime); strcpy(transdtl.accdate,trans.accdate); strcpy(transdtl.acctime,trans.acctime); transdtl.termid=trans.termid; transdtl.termseqno=trans.termseqno; transdtl.transcode=trans.transcode; transdtl.paytype=trans.fundtype; des2src(transdtl.voucherno,trans.voucherno); transdtl.cardno=trans.cardno; transdtl.purseno=trans.purseno; transdtl.cardbefbal=trans.cardbefbal; transdtl.amount=trans.transamt; transdtl.managefee=trans.totalfeeamt; transdtl.cardaftbal=trans.cardaftbal; transdtl.custid=tCardAccount.custid; des2src(transdtl.custname,tCardAccount.accname); des2src(transdtl.opercode,trans.opercode); des2src(transdtl.showcardno,tCard.showcardno); transdtl.status[0]=DTLSTATUS_SUCCESS; GetStuempnoByCustid(transdtl.custid,transdtl.stuempno); ret=DB_t_transdtl_add(&transdtl); if(ret) { if(DB_REPEAT==ret) return E_DB_TRANSDTL_E; else return E_DB_TRANSDTL_I; } ST_CPACK aPack; ST_PACK *outPack = &(aPack.pack); ResetNormalCPack(&aPack,0,1); SetCol(handle,F_LVOL0,F_LVOL8,F_SDATE0, F_SDATE3,F_SEMP,F_LWITHDRAW_FLAG,F_LSERIAL1,F_VSMESS,0); outPack->lvol0=tCard.cardno; outPack->lvol8=D4U5(ats.trans.cardaftbal*100,0); des2src(outPack->sdate3,ats.trans.accdate); des2src(outPack->semp,trans.opercode); outPack->lwithdraw_flag=trans.termid; outPack->lserial1=trans.termseqno; sprintf(trans.remark,"%s卡余额%.2lf元",ats.remark.c_str(),ats.trans.cardaftbal); des2src(outPack->vsmess,trans.remark); PutRow(handle,outPack,pRetCode,szMsg);//.........这里部分代码省略.........
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:101,
注:本文中的ERRINFO函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ ERRLOG函数代码示例 C++ ERREXIT2函数代码示例 |