这篇教程C++ D2I函数代码示例写得很实用,希望能帮到您。
本文整理汇总了C++中D2I函数的典型用法代码示例。如果您正苦于以下问题:C++ D2I函数的具体用法?C++ D2I怎么用?C++ D2I使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。 在下文中一共展示了D2I函数的28个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。 示例1: get_keymap_dir/* * GH * Called from cmd4.c and a few other places. Just extracts * a direction from the keymap for ch (the last direction, * in fact) byte or char here? I'm thinking that keymaps should * generally only apply to single keys, which makes it no more * than 128, so a char should suffice... but keymap_act is 256... */int get_keymap_dir(char ch){ cptr act, s; int d = 0; if (isdigit(ch)) { d = D2I(ch); } else { if (rogue_like_commands) { act = keymap_act[KEYMAP_MODE_ROGUE][(byte)ch]; } else { act = keymap_act[KEYMAP_MODE_ORIG][(byte)ch]; } if (act) { /* Convert to a direction */ for (s = act; *s; ++s) { /* Use any digits in keymap */ if (isdigit(*s)) d = D2I(*s); } } } return d;}
开发者ID:jcheatham,项目名称:Zangband,代码行数:40,
示例2: target_dir/* * Extract a direction (or zero) from a character */int target_dir(struct keypress ch){ int d = 0; /* Already a direction? */ if (isdigit((unsigned char) ch.code)) { d = D2I(ch.code); } else if (isarrow(ch.code)) { switch (ch.code) { case ARROW_DOWN: d = 2; break; case ARROW_LEFT: d = 4; break; case ARROW_RIGHT: d = 6; break; case ARROW_UP: d = 8; break; } } else { int mode; const struct keypress *act; if (OPT(rogue_like_commands)) mode = KEYMAP_MODE_ROGUE; else mode = KEYMAP_MODE_ORIG; /* XXX see if this key has a digit in the keymap we can use */ act = keymap_find(mode, ch); if (act) { const struct keypress *cur; for (cur = act; cur->type == EVT_KBRD; cur++) { if (isdigit((unsigned char) cur->code)) d = D2I(cur->code); } } } /* Paranoia */ if (d == 5) d = 0; /* Return direction */ return (d);}
开发者ID:NickMcConnell,项目名称:FAangband,代码行数:53,
示例3: F820121int F820121(TRUSERID *handle,int iRequest,ST_PACK *in_pack,int *pRetCode,char *szMsg){ T_t_pif_phydevice aphydev; double dUniqNo=0; int ret=0; memset(&aphydev,0,sizeof(aphydev)); //从cpack中取得相应字符串 Strncpy_t(aphydev.dname,in_pack->sphone,sizeof(aphydev.dname)); Strncpy_t(aphydev.dtype,in_pack->spager,sizeof(aphydev.dtype)); Strncpy_t(aphydev.factory,in_pack->scert_no,sizeof(aphydev.factory)); Strncpy_t(aphydev.comments,(char*)in_pack->usset1,sizeof(aphydev.comments)); //设备标志从系统键值表中取得 ret=getNewUniqNo(KEYTYPE_PHYDEVICE,&dUniqNo); if(ret) { *pRetCode=E_DB_SYSKEY_R; goto L_RETU; } aphydev.phytype =D2I(dUniqNo); ret=DB_t_pif_phydevice_add(&aphydev); if(ret) { *pRetCode=E_DB_PHYDEVICE_I; goto L_RETU; } return 0; L_RETU: return -1;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:31,
示例4: D2Ivoid CDialogParamRegion::SetKeBe(DATA_IN::EnergyType energyType){ m_KE_BE = energyType; m_ComboAnodeControl.EnableWindow(m_KE_BE == DATA_IN::EnergyType::BE); m_AnodeTxtControl.EnableWindow(m_KE_BE == DATA_IN::EnergyType::BE); int NewValue = D2I( ((int) 10* CRegion::h_nu_Info.Value_h_nu[m_Anode])/10.) - D2I(m_KE_Start); m_KE_Start = I2D(NewValue); NewValue = D2I( ((int) 10* CRegion::h_nu_Info.Value_h_nu[m_Anode])/10.) - D2I(m_KE_End); m_KE_End = I2D(NewValue); std::swap(m_KE_Start, m_KE_End); UpdateData(FALSE);}
开发者ID:Alexepus,项目名称:Kratos,代码行数:17,
示例5: record_small_serialstatic int record_small_serial(ST_PACK *in_pack,T_t_tif_tradeserial *tradeserial,ST_PACK *out_pack){ int ret =0; double dUniqno = 0; T_t_tif_tradeserial tPacketSerial; //保存充值流水 memset(&tPacketSerial, 0, sizeof tPacketSerial); memcpy(&tPacketSerial, tradeserial, sizeof tPacketSerial); ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dUniqno); //获得最大流水号 if(ret) { writelog(LOG_ERR,"ret [%d]",ret); return ret; } tPacketSerial.serial_no = D2I(dUniqno); tPacketSerial.serial_state = SERISTAT_NONEEDDEBT; tPacketSerial.serial_type = TXCODE_SAVING_SMALL_PACKET; tPacketSerial.purse_id = 33;//33扇区钱包 tPacketSerial.in_balance = in_pack->damt2; tPacketSerial.trade_fee = in_pack->damt1; tPacketSerial.out_balance = tPacketSerial.in_balance + tPacketSerial.trade_fee; ret = DB_t_tif_tradeserial_add(&tPacketSerial); if (ret) { writelog(LOG_ERR,"ret[%d]",ret); if(DB_REPEAT==ret) ret = E_DB_TRADESERIAL_E; else ret = E_DB_TRADESERIAL_I; return ret; } out_pack->damt2=tPacketSerial.out_balance; out_pack->lvol1= D2I(dUniqno); //流水号 return 0; }
开发者ID:nykma,项目名称:ykt4sungard,代码行数:40,
示例6: textui_get_count/** * Get a command count, with the '0' key. */static int textui_get_count(void){ int count = 0; while (1) { ui_event_data ke; prt(format("Count: %d", count), 0, 0); ke = inkey_ex(); if (ke.type != EVT_KBRD) continue; if (ke.key == ESCAPE) return -1; /* Simple editing (delete or backspace) */ else if (ke.key == 0x7F || ke.key == KTRL('H')) count = count / 10; /* Actual numeric data */ else if (isdigit((unsigned char) ke.key)) { count = count * 10 + D2I(ke.key); if (count >= 9999) { bell("Invalid repeat count!"); count = 9999; } } /* Anything non-numeric passes straight to command input */ else { /* XXX nasty hardcoding of action menu key */ if (ke.key != '/n' && ke.key != '/r') Term_event_push(&ke); break; } } return count;}
开发者ID:NickMcConnell,项目名称:RePosBand,代码行数:49,
示例7: textui_get_count/** * Get a command count, with the '0' key. */static int textui_get_count(void){ int count = 0; while (1) { struct keypress ke; prt(format("Repeat: %d", count), 0, 0); ke = inkey(); if (ke.code == ESCAPE) return -1; /* Simple editing (delete or backspace) */ else if (ke.code == KC_DELETE || ke.code == KC_BACKSPACE) count = count / 10; /* Actual numeric data */ else if (isdigit((unsigned char) ke.code)) { count = count * 10 + D2I(ke.code); if (count >= 9999) { bell("Invalid repeat count!"); count = 9999; } } /* Anything non-numeric passes straight to command input */ else { /* XXX nasty hardcoding of action menu key */ if (ke.code != KC_ENTER) Term_keypress(ke.code, ke.mods); break; } } return count;}
开发者ID:KertaLosataure,项目名称:angband,代码行数:46,
示例8: record_serial int record_serial(ST_PACK *in_pack,T_t_tif_tradeserial *tradeserial,ST_PACK *out_pack){ int ret =0; double dUniqno = 0; char sMsg[256]=""; // 准备数据插入交易流水表 ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dUniqno); //获得最大流水号 if(ret) { writelog(LOG_ERR,"getNewUniqNo error,errcode=[%d]",ret); return ret; } tradeserial->serial_no = D2I(dUniqno); //流水号 out_pack->damt1=tradeserial->trade_fee; //充值金额 out_pack->damt0=tradeserial->out_balance; //出卡值 out_pack->lvol0=tradeserial->serial_no;//流水号 sprintf(sMsg,"交易前卡余额:%.2lf元 卡当前余额:%.2lf元",tradeserial->in_balance,tradeserial->out_balance); strcat(out_pack->vsmess,sMsg); writelog(LOG_DEBUG,out_pack->vsmess); ret = DB_t_tif_tradeserial_add(tradeserial); if (ret) { writelog(LOG_ERR,"ret[%d]",ret); if(DB_REPEAT==ret) ret = E_DB_TRADESERIAL_E; else ret = E_DB_TRADESERIAL_I; return ret; } ret=db_commit(); if(ret) { writelog(LOG_ERR,"db_commit error,errcode=[%d]",ret); return E_DB_COMMIT; } return 0; }
开发者ID:nykma,项目名称:ykt4sungard,代码行数:41,
示例9: packege_send_datastatic int packege_send_data(ST_PACK *in_pack,int flag,char *send_data){ int ret =0; //char cellphone[31]=""; //充值手机号 double money=0; //充值金额 char sysdate[11]=""; char systime[9]=""; char sysdatetime[20]=""; char serialno[20]=""; char sMoney[20]=""; T_t_pif_card tCard;// ext_phone_trans_t phone_trans_struct; ext_phone_trans_t* phone_trans_struct; phone_trans_struct=(ext_phone_trans_t*)send_data; memset(&tCard,0,sizeof(tCard)); memset(phone_trans_struct,0,sizeof(ext_phone_trans_t)); phone_trans_struct->prix[0]=0x31; memcpy(phone_trans_struct->length,"0067",4); if(1==flag) { memcpy(phone_trans_struct->type,"0100",4); } else if(2==flag) { memcpy(phone_trans_struct->type,"0200",4); } //memcpy(phone_trans_struct->bitery,"0000000000000000",16); memset(phone_trans_struct->bitery,'0',sizeof(phone_trans_struct->bitery)); ret=DB_t_pif_card_read_by_card_id(in_pack->lvol0, &tCard); if(ret) { if(DB_NOTFOUND==ret) ret=E_CARDNO_NOT_EXIST; else ret=E_DB_CARD_R; return ret; } sprintf(phone_trans_struct->cutid,"%-22d",tCard.cosumer_id); money = in_pack->damt1; int i_money=D2I(D4U5(money*100,0)); sprintf(sMoney,"%07d",i_money); memcpy(phone_trans_struct->money,sMoney,sizeof(phone_trans_struct->money)); ret=get_datetime_from_db(sysdate,systime); if(ret) { writelog(LOG_ERR,"get_datetime_from_db error,error code=[%d]",ret); getsysdate(sysdate); getsystime(systime); } strcpy(sysdatetime,sysdate+4); strcat(sysdatetime,systime); memcpy(phone_trans_struct->datetime,sysdatetime,10); memcpy(phone_trans_struct->tracenum,sysdate,8); sprintf(serialno,"%06d",in_pack->lvol6%1000000); memcpy(phone_trans_struct->tracenum+8,serialno,6); memcpy(phone_trans_struct->phone,in_pack->sphone,strlen(in_pack->sphone)); memcpy(phone_trans_struct->retnum,"00",2); memset(phone_trans_struct->plugdata,0x20,sizeof(phone_trans_struct->plugdata)); /* memcpy(send_data,phone_trans_struct->prix,1); memcpy(send_data+1,phone_trans_struct->length,4); memcpy(send_data+5,phone_trans_struct->type,4); memcpy(send_data+9,phone_trans_struct->bitery,16); memcpy(send_data+25,phone_trans_struct->cutid,22); memcpy(send_data+47,phone_trans_struct->money,7); memcpy(send_data+54,phone_trans_struct->datetime,10); memcpy(send_data+64,phone_trans_struct->tracenum,14); memcpy(send_data+78,phone_trans_struct->phone,11); memcpy(send_data+89,phone_trans_struct->retnum,2); memcpy(send_data+91,phone_trans_struct->plugdata,36); */ writelog(LOG_ERR,"package send data=[%s]",send_data); return 0; }
开发者ID:nykma,项目名称:ykt4sungard,代码行数:77,
示例10: target_dir/* * Extract a direction (or zero) from a character */int target_dir(char ch){ int d = 0; int mode; cptr act; cptr s; /* Already a direction? */ if (isdigit((unsigned char) ch)) { d = D2I(ch); } else if (isarrow(ch)) { switch (ch) { case ARROW_DOWN: d = 2; break; case ARROW_LEFT: d = 4; break; case ARROW_RIGHT: d = 6; break; case ARROW_UP: d = 8; break; } } else { /* Roguelike */ if (OPT(rogue_like_commands)) { mode = KEYMAP_MODE_ROGUE; } /* Original */ else { mode = KEYMAP_MODE_ORIG; } /* Extract the action (if any) */ act = keymap_act[mode][(byte) (ch)]; /* Analyze */ if (act) { /* Convert to a direction */ for (s = act; *s; ++s) { /* Use any digits in keymap */ if (isdigit((unsigned char) *s)) d = D2I(*s); } } } /* Paranoia */ if (d == 5) d = 0; /* Return direction */ return (d);}
开发者ID:artes-liberales,项目名称:FAangband,代码行数:64,
示例11: packege_elec_requeststatic int packege_elec_request(ST_PACK *in_pack,int flag,char *send_data){ int ret; ext_elect_req_t* elect_req_t; elect_req_t=(ext_elect_req_t*)send_data; double money=0; //充值金额 char serialno[10]=""; char sysdate[11]=""; char systime[9]=""; char sysdatetime[20]=""; unsigned char buf[106]=""; unsigned char soutmd5[16]=""; char outmd5[32]=""; T_t_pif_card tCard; memset(&tCard,0,sizeof(tCard)); if(flag==1){//房间查询不加密 memcpy(elect_req_t->prix,"0",1); }else{ memcpy(elect_req_t->prix,"1",1); } memcpy(elect_req_t->length,"0141",4); if(flag==1){ memcpy(elect_req_t->type,"0001",4); }else if(flag==2){ memcpy(elect_req_t->type,"0002",4); } memset(elect_req_t->bitery,'0',sizeof(elect_req_t->bitery)); sprintf(elect_req_t->room,"%-20s",in_pack->saddr); ret=DB_t_pif_card_read_by_card_id(in_pack->lvol0, &tCard); if(ret) { if(DB_NOTFOUND==ret) ret=E_CARDNO_NOT_EXIST; else ret=E_DB_CARD_R; return ret; } sprintf(elect_req_t->cutid,"%-22d",tCard.cosumer_id); money = in_pack->damt1; int i_money=D2I(D4U5(money*100,0)); sprintf(elect_req_t->money,"%07d",i_money); ret=get_datetime_from_db(sysdate,systime); if(ret) { writelog(LOG_ERR,"get_datetime_from_db error,error code=[%d]",ret); getsysdate(sysdate); getsystime(systime); } strcpy(sysdatetime,sysdate+4); strcat(sysdatetime,systime); memcpy(elect_req_t->datetime,sysdatetime,10); memcpy(elect_req_t->tracenum,sysdate,8); sprintf(serialno,"%010d",in_pack->lvol6); memcpy(elect_req_t->tracenum+8,serialno,10); memcpy(elect_req_t->retnum,"0000",4); memcpy(elect_req_t->clientid,"0001",4); memset(outmd5,'0',32); if(flag==1){ sprintf(elect_req_t->signcheck,"%s",outmd5); }else if(flag==2){ memcpy(buf,elect_req_t->type,105); writelog(LOG_ERR,"buf data=[%s]",buf); CalcMD5(buf,105,soutmd5); dec2hex(soutmd5,16,outmd5); writelog(LOG_ERR,"outmd5 data=[%s]",outmd5); sprintf(elect_req_t->signcheck,"%s",outmd5); } return 0; }
开发者ID:nykma,项目名称:ykt4sungard,代码行数:75,
示例12: tend_to_enter_account//.........这里部分代码省略......... else { tCustomer.fee_type=tSpeFee.fee_type; } //更新客户表的收费类别字段 ret=DB_t_cif_customer_update_lock_by_cur(&tCustomer); if(ret) { if(DB_NOTFOUND==ret) ret= E_CUSTOMER_NOT_EXIST; else ret= E_DB_CUSTOMER_U; return ret; } } DB_t_cif_customer_free_lock_cur(); des2src(Operator,in_pack->scust_no); //操作员号 //采集设备标识 // 准备数据插入交易流水表 ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dUniqno); //获得最大流水号 if(ret) { writelog(LOG_ERR,"getNewUniqNo error,errcode=[%d]",ret); return ret; } strncpy(tradeserial->operate_date,sysdate,sizeof(sysdate)-1); //发生日期 strncpy(tradeserial->operate_time,systime,sizeof(systime)-1); des2src(tradeserial->collect_date,tradeserial->operate_date); //采集日期 des2src(tradeserial->collect_time,tradeserial->operate_time); //采集时间 des2src(tradeserial->enteract_date,logicdate); //处理日期 des2src(tradeserial->enteract_time,tradeserial->operate_time); //处理时间 tradeserial->serial_no = D2I(dUniqno); //流水号 tradeserial->serial_type = trade_code; //流水类型 tradeserial->purse_id = PURSE_NO_ONE; //钱包号 tradeserial->serial_state = SERISTAT_NODEBT; //流水状态 tradeserial->maindevice_id = maindevice_id; //上传工作站标识 tradeserial->device_id = device_id; //采集设备标识 tradeserial->card_id = card_id; //交易卡号 tradeserial->customer_id=tCard.cosumer_id; //客户号 des2src(tradeserial->oper_code,Operator); tradeserial->trade_count=in_pack->lvol1+1; //交易次数 tradeserial->in_balance=in_pack->damt0; //入卡值 tradeserial->trade_fee=in_pack->damt1; //交易金额 strncpy(tradeserial->reserve_2,in_pack->vsmess,sizeof(tradeserial->reserve_2)-1); IA->iCardNo=tCard.card_id; IA->iFeeType=tCustomer.fee_type; IA->dArrInAmt[0]=tradeserial->trade_fee; IA->iMainDevId=tradeserial->maindevice_id; //工作站标识 IA->iDevId=tradeserial->device_id; //设备ID IA->iSerialNo=tradeserial->serial_no; //流水号 IA->iTradeNo=tradeserial->serial_type; //交易码 strcpy(IA->sTxDate,tradeserial->operate_date); //交易日期 strcpy(IA->sTxTime,tradeserial->operate_time); //交易时间 strcpy(IA->sTxCollectDate,tradeserial->collect_date); //采集日期 strcpy(IA->sTxCollectTime,tradeserial->collect_time); //采集时间 strcpy(IA->sTxAccDate,tradeserial->enteract_date); //记账日期 strcpy(IA->sTxAccTime,tradeserial->enteract_time); //记账时间 strcpy(IA->sMdeOper,tradeserial->oper_code); //操作员 strcpy(IA->sChkOper,tradeserial->reserve_1); //复核操作员 IA->iUseCardFlag=USE_CARD_TYPE_ONLINE; //联机交易 IA->iTxCnt=tradeserial->trade_count; //交易次数 IA->dInCardBala=tradeserial->in_balance; //入卡值
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,
示例13: F847102//.........这里部分代码省略......... goto L_RETU; } DB_t_pif_card_free_lock_by_cur(); // 插入卡挂失有效期限表/* ret=GetLostCardValiddate(sysdate,enddate); //获得挂失有效期限 if (ret) { *pRetCode = ret; goto L_RETU; } cardlossinfo.card_id = card_id; //卡号 des2src(cardlossinfo.begin_date,sysdate); //起始日期 des2src(cardlossinfo.end_date,enddate); //截至日期 des2src(cardlossinfo.operate_date,sysdate); //操作日期 des2src(cardlossinfo.operate_time,systime); //操作时间 cardlossinfo.state_id=STATE_VALID; //有效 ret = DB_t_pif_cardlossinfo_add(&cardlossinfo); if (ret) { *pRetCode = E_DB_CARDLOSSINFO_I; writelog(LOG_ERR,"errcode[%d] ",ret); goto L_RETU; }*/ //如果该卡号被冻结,则挂失时对黑名单不处理 if(STATE_FALSE==tCard.state_id[CARDSTAT_TYPE_FREEZE]) { // 插入黑名单表 ret=DB_t_tif_black_sheet_del_by_card_id_and_is_ad(tCard.card_id,DELETE_BLACKLIST); if(ret) { if(ret!=DB_NOTFOUND) { *pRetCode=ret; goto L_RETU; } } ret=InsertToBlkList(tCard.card_id,ADD_BLACKLIST); if(ret) { *pRetCode=ret; writelog(LOG_ERR,"InsertToBlkList err[%d]",ret); goto L_RETU; } //广播黑名单 AddXmlItemInt(tMesList.incontent, XML_KEY_CARDID,card_id); AddXmlItemInt(tMesList.incontent, XML_KEY_ADDDELSIGN,ADD_BLACKLIST); //增删标志 tMesList.funid = 930005; tMesList.pfunid = 930003; tMesList.max_send_cnt = 10; tMesList.level = MESLIST_PRIORITY_REALTIME; tMesList.msgtype = MESLIST_TYPE_ORDER; ret=AddMsgLst(&tMesList); if(ret) { *pRetCode=ret; writelog(LOG_ERR,"AddMsgLst err[%d]",ret); goto L_RETU; } } // 准备数据插入交易流水表 ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dUniqno); //获得最大流水号 if(ret) { *pRetCode = ret; writelog(LOG_ERR,"ERRCODE = [%d]",ret); goto L_RETU; } des2src(tradeserial.operate_date,sysdate); //发生日期 des2src(tradeserial.operate_time,systime); //发生时间 des2src(tradeserial.collect_date,sysdate); //采集日期 des2src(tradeserial.collect_time,systime); //采集时间 des2src(tradeserial.enteract_date,logicdate); //处理日期 des2src(tradeserial.enteract_time,systime); //处理时间 tradeserial.serial_no = D2I(dUniqno); //流水号 tradeserial.serial_type = TXCODE_CARD_LOSS; //挂失 tradeserial.serial_state = SERISTAT_NONEEDDEBT; //流水状态 tradeserial.maindevice_id = maindevice_id; //上传工作站标识 tradeserial.device_id = device_id; //采集设备标识 tradeserial.card_id = card_id; //交易卡号 tradeserial.customer_id=tCard.cosumer_id; //客户号 des2src(tradeserial.oper_code,Operator); ret = DB_t_tif_tradeserial_add(&tradeserial); if (ret) { writelog(LOG_ERR,"ret[%d]",ret); if(DB_REPEAT==ret) *pRetCode = E_DB_TRADESERIAL_E; else *pRetCode = E_DB_TRADESERIAL_I; goto L_RETU; } return 0;L_RETU: return -1;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例14: F950041int F950041(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){ int ret; T_t_pif_device tDevice; T_t_cif_shop_pos tShopPos; T_t_cif_shop tShop; T_t_tif_meslist tMsg; T_t_pif_feetype tFeeType; int rate = 0; int retries = 0; int msgid; unsigned char buf[32] = ""; char cardlist[100] = ""; int rows = 0; int i,j; memset(&tDevice,0,sizeof tDevice); memset(&tFeeType,0,sizeof tFeeType); ST_CPACK aPack; ST_PACK *out_pack = &(aPack.pack); memset(&aPack,0,sizeof aPack); ResetNormalCPack(&aPack,0,1); SetCol(handle,0); SetCol(handle,F_VSVARSTR0,F_VSMESS,0); if(rPack->lcert_code < 1) { *pRetCode = E_DEVICE_NOT_EXIST; } else if((ret = DB_t_pif_device_read_by_device_id(rPack->lcert_code,&tDevice))) { if(DB_NOTFOUND == ret) *pRetCode = E_DB_DEVICE_N; else *pRetCode = E_DB_DEVICE_R; } else if(tDevice.state_id == DEVISTAT_LOGOUT) { *pRetCode = E_DEVICE_NOT_EXIST; } // 如果是 39 的充值机 else if(strcmp(tDevice.devtype,"0201") == 0 && tDevice.phytype == 1000) { des2src(rPack->sdate0,tDevice.devphy999_id); ret = F930006(handle,iRequest,rPack,pRetCode,szMsg); if(ret) { goto LRet; } return 0; } else if((ret = DB_t_cif_shop_pos_open_select_by_c0_and_device_id(rPack->lcert_code))) { *pRetCode = E_DB_SHOP_POS_R; } else { while(1) { memset(&tShopPos,0,sizeof tShopPos); memset(&tShop,0,sizeof tShop); if((ret = DB_t_cif_shop_pos_fetch_select_by_c0(&tShopPos))) { if(ret == DB_NOTFOUND) { writelog(LOG_DEBUG,"shop doesn't find [%d]!"); *pRetCode = 0; } else *pRetCode = E_DB_SHOP_POS_R; break; } writelog(LOG_DEBUG,"find shop [%d]",tShopPos.shop_id); if((ret = DB_t_cif_shop_read_by_shop_id(tShopPos.shop_id,&tShop))) { *pRetCode = ret; break; } if('1' == tShop.is_leaf[0] && '1' == tShop.is_getfee[0] && amtcmp(tShop.ratio,0.00)>0 ) { writelog(LOG_DEBUG,"shop rate [%.02f]",tShop.ratio); int newrate = D2I(tShop.ratio * 100); if(newrate > rate) rate = newrate; } } } if(*pRetCode) return -1; ret = DB_t_pif_feetype_open_select_by_cur1(); if(ret) { if(DB_NOTFOUND == ret)//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例15: CONV_FUNC//.........这里部分代码省略......... k4 = pk[4]; k5 = pk[5]; k6 = pk[6]; pk += kw; if (kw == 7) { if (l < (n - 1) || off < m) {#ifdef __SUNPRO_C#pragma pipeloop(0)#endif /* __SUNPRO_C */ for (i = 0; i <= (wid - 2); i += 2) { p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6; p5 = p7; p6 = buff[i + 6]; p7 = buff[i + 7]; buffd[i ] += p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4 + p5*k5 + p6*k6; buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4 + p6*k5 + p7*k6; } } else {#ifdef __SUNPRO_C#pragma pipeloop(0)#endif /* __SUNPRO_C */ for (i = 0; i <= (wid - 2); i += 2) { p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6; p5 = p7; p6 = buff[i + 6]; p7 = buff[i + 7]; LOAD_BUFF(buffi); dd.d64 = *(FTYPE *)(buffi + i); buffn[i ] = (FTYPE)dd.i32s.i0; buffn[i + 1] = (FTYPE)dd.i32s.i1; d0 = D2I(p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4 + p5*k5 + p6*k6 + buffd[i ]); d1 = D2I(p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4 + p6*k5 + p7*k6 + buffd[i + 1]); dp[0 ] = FROM_S32(d0); dp[chan1] = FROM_S32(d1); buffd[i ] = 0.0; buffd[i + 1] = 0.0; sp += chan2; dp += chan2; } } } else if (kw == 6) { if (l < (n - 1) || off < m) {#ifdef __SUNPRO_C#pragma pipeloop(0)#endif /* __SUNPRO_C */ for (i = 0; i <= (wid - 2); i += 2) { p0 = p2; p1 = p3; p2 = p4; p3 = p5; p4 = p6; p5 = buff[i + 5]; p6 = buff[i + 6]; buffd[i ] += p0*k0 + p1*k1 + p2*k2 + p3*k3 + p4*k4 + p5*k5; buffd[i + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3 + p5*k4 + p6*k5; } } else {#ifdef __SUNPRO_C#pragma pipeloop(0)#endif /* __SUNPRO_C */
开发者ID:lmsf,项目名称:jdk9-dev,代码行数:67,
示例16: elect_request_changzhoustatic int elect_request_changzhou(ST_PACK *in_pack,char ext_msg[256]){ int ret = 0; char c_drtbranch[10]=""; char c_bccbasefuncno[10]=""; int DRTP_BRANCH =0; int BCC_BASEFUNCNO =0; ST_PACK ArrayPack; // 设置返回包 ST_CPACK aPack; // 设置应答包 ST_CPACK sPack; // 设置发送包 int card_id; T_t_cif_customer tCustomer; T_t_pif_spefee tSpeFee; T_t_aif_account tAccount; T_t_pif_card tCard; memset(&tCustomer,0,sizeof(tCustomer)); memset(&tSpeFee,0,sizeof(tSpeFee)); memset(&tAccount,0,sizeof(tAccount)); memset(&tCard,0,sizeof(tCard)); card_id=in_pack->lvol0; ret=DB_t_pif_card_read_by_card_id(card_id, &tCard); if(ret) { if(DB_NOTFOUND==ret) ret=E_CARDNO_NOT_EXIST; else ret=E_DB_CARD_R; return ret; } ret=DB_t_cif_customer_read_lock_by_cur_and_cut_id(tCard.cosumer_id, &tCustomer); if(ret) { writelog(LOG_ERR,"cut_id[%d]",tCard.cosumer_id); if(DB_NOTFOUND==ret) ret= E_CUSTOMER_NOT_EXIST; else ret= E_DB_CUSTOMER_R; return ret; } ret=GetParameter(2501, c_drtbranch); if(ret){ writelog(LOG_ERR,"get_parameter error,error code=[%d]",ret); return ret; } ret=GetParameter(2502, c_bccbasefuncno); if(ret){ writelog(LOG_ERR,"get_parameter error,error code=[%d]",ret); return ret; } DRTP_BRANCH = atoi(c_drtbranch); BCC_BASEFUNCNO = atoi(c_bccbasefuncno); ResetNormalCPack(&aPack, 0, 1); memset(&ArrayPack, 0, sizeof(ArrayPack)); ResetNormalCPack(&sPack, 0, 1); SetHeadCol(&sPack, F_SSECTYPES,F_LVOL0,F_LVOL1,F_SORDER0,F_SCUST_AUTH,0); // 设置发送windows BU的头部视图信息 sPack.head.RequestType = 847357; sPack.pack.lvol0=in_pack->lvol10;//房间号 sPack.pack.lvol1=D2I(in_pack->damt1*100);//转账金额(分) memcpy(sPack.pack.sorder0,tCustomer.cut_name,11); ret = ExtCall(0, DRTP_BRANCH, BCC_BASEFUNCNO, 0, TIMEOUT, &sPack, &aPack, &ArrayPack); if (ret < 0||aPack.head.retCode!=0) { if(ret<0) { writelog(LOG_ERR,"Call 847357 error,errcode=[%d],retCode=[%d]",ret,aPack.head.retCode); return ret; } else { writelog(LOG_ERR,"Call 847357 error,errcode=[%d],retCode=[%d]",ret,aPack.head.retCode); return aPack.head.retCode; } } return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:86,
示例17: F847101//.........这里部分代码省略......... else { ret=IsInvalidDateTime(rPack->sdate0,"YYYYMMDD"); if(ret) { *pRetCode = E_INPUT_DATE; goto L_RETU; } if(strncmp(rPack->sdate0,sysdate,8)<=0) { *pRetCode=E_INPUT_DATE; goto L_RETU; } des2src(card_endtime,rPack->sdate0); } // 默认密码, 初始取身份证的后6位, 没有身份证号用666666. len=strlen(tCustomer.man_id) ; if (len >= 6) { strncpy(h_password,&(tCustomer.man_id[len-6]),6); if(h_password[5]>'9'||h_password[5]<'0') h_password[5]='0'; } else { strcpy(h_password,DEFAULT_CUST_PWD); } ret = getNewUniqNo(KEYTYPE_CARD_ID,&h_temp_Card_id); //获取最大卡号 if(ret) { *pRetCode = ret; goto L_RETU; } tCard.card_id = D2I(h_temp_Card_id); //卡号 des2src(tCard.showid,h_showcardid); //显示卡号 des2src(tCard.is_main,TYPE_YES); //是否为主卡 des2src(tCard.state_id,CARDSTAT_REG); //卡状态 tCard.type_id = CT_NORMAL; //卡类别 EncodePwd(seed_key,h_password,tCard.password,0); //卡密码 tCard.cosumer_id = hi_cutid; //客户标识 tCard.account_count = ACCOUNT_COUNT_ONE; //卡对应帐户个数 des2src(tCard.begin_time,sysdate); //注册时间 des2src(tCard.end_time, card_endtime); //截至时间 tCard.phytype = PHYTYPE_NO_ONE; //设备物理型号;默认为1 // 插入卡信息 ret = DB_t_pif_card_add(&tCard); if (ret) { if(DB_REPEAT==ret) *pRetCode = E_DB_CARD_E; else *pRetCode = E_DB_CARD_I; goto L_RETU; } // 准备数据插入帐户信息表 ret = getNewActno(tAccount.account_id); //获得最大帐号 if (ret) { *pRetCode = ret; goto L_RETU; } des2src(tAccount.open_date,sysdate); //开户时间 des2src(tAccount.open_time,systime); tAccount.current_state = ACCOUNTSTAT_REGIST; //当前状态 tAccount.act_type = ACCTYPE_PERMAIN; //帐号类别
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,
示例18: F847103//.........这里部分代码省略......... } DB_t_pif_card_free_lock_by_cur(); goto L_RETU; } } tCard.state_id[CARDSTAT_TYPE_LOST]=STATE_FALSE; ret=DB_t_pif_card_update_lock_by_cur(&tCard); if(ret) { writelog(LOG_ERR,"card_id[%d]",hi_cardid); if(DB_NOTFOUND==ret) *pRetCode= E_CARDNO_NOT_EXIST; else *pRetCode= E_DB_CARD_U; goto L_RETU; } DB_t_pif_card_free_lock_by_cur(); ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&h_temp_Serial_no); //获得最大流水号 if(ret) { *pRetCode = ret; writelog(LOG_ERR,"ERRCODE = [%d]",ret); goto L_RETU; } des2src(tradeserial.operate_date,sysdate); //发生日期 des2src(tradeserial.operate_time,systime); //发生时间 des2src(tradeserial.collect_date,sysdate); //采集日期 des2src(tradeserial.collect_time,systime); //采集时间 des2src(tradeserial.enteract_date,logicdate); //处理日期 des2src(tradeserial.enteract_time,systime); //处理时间 tradeserial.serial_no = D2I(h_temp_Serial_no); //流水号 tradeserial.serial_type = TXCODE_CARD_COMEBACK_LOSS; //解挂 tradeserial.serial_state = SERISTAT_NONEEDDEBT; //流水状态 tradeserial.maindevice_id = hi_maindevice_id; //上传工作站标识 tradeserial.device_id = hi_device_id; //采集设备标识 tradeserial.card_id = hi_cardid; //交易卡号 tradeserial.customer_id = hi_Cut_id; des2src(tradeserial.oper_code, hi_Operator); /* if(!card_is_lost) { //允许重复解挂 //再下传白名单 // 插入黑名单表 ret=InsertToBlkList(hi_cardid,DELETE_BLACKLIST); if(ret) { *pRetCode=ret; writelog(LOG_ERR,"InsertToBlkList err[%d]",ret); goto L_RETU; } //广播黑名单 AddXmlItemInt(tMesList.incontent, XML_KEY_CARDID,hi_cardid); AddXmlItemInt(tMesList.incontent, XML_KEY_ADDDELSIGN,DELETE_BLACKLIST); //增删标志 tMesList.funid = 930005; tMesList.pfunid = 930003; tMesList.max_send_cnt = 10; tMesList.level = MESLIST_PRIORITY_REALTIME; tMesList.msgtype = MESLIST_TYPE_ORDER; ret=AddMsgLst(&tMesList);
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,
示例19: F846336//.........这里部分代码省略......... if(tEAcc.stoppayflag[0] == '1') return E_EACC_STOPPAY; if(amtcmp(tEAcc.cur_freebala , rPack->damt0) <0) //金额不足 return E_EACC_BALANCE_SHORTAGE; ret=GetParameter(GLOBE_MAXCARDBALANCE,sMaxBalance); if(ret) return ret; dMaxCardBalance=atof(sMaxBalance); if(amtcmp(tCardAccount.cur_bala+tradeserial.trade_fee,dMaxCardBalance)>0) return E_AMT_EXCEED_MAX;// tradeserial.in_balance=rPack->damt1; //卡上余额// tradeserial.trade_count=rPack->lvol6+1; //交易次数 } else { tradeserial.serial_type = TXCODE_CARD2EACC; strcpy(seedkey,STATIC_SEED_KEY); des2src(inpwd_plain,rPack->scust_limit2); EncodePwd(seedkey,inpwd_plain,inpwd_crypt,0); if(strcmp(tCardAccount.password,inpwd_crypt)!=0) return E_CARD_PWD_DIFFER; if(amtcmp(tCardAccount.cur_freebala , rPack->damt0) <0) //金额不足 return E_EACC_BALANCE_SHORTAGE; ret=GetParameter(GLOBE_MAXEACCBALANCE,sMaxBalance); if(ret) return ret; dMaxEACCBalance=atof(sMaxBalance); if(amtcmp(tEAcc.cur_bala+tradeserial.trade_fee,dMaxEACCBalance)>0) return E_AMT_EXCEED_MAX; // tradeserial.in_balance=tEAcc.cur_freebala;// tradeserial.trade_count=tEAcc.consume_count+1; //交易次数 } ret=GetLogicDate(logicdate); //业务日期 if(ret) return ret; double dSerialNo = 0; ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dSerialNo); //获得最大流水号 if(ret) { writelog(LOG_ERR," getNewUniqNo ERRCODE = [%d]",ret); return ret; } tradeserial.serial_no = D2I(dSerialNo); //流水号 tradeserial.other_seri_no = 0; //上传端流水号 tradeserial.serial_state = SERISTAT_DEBT; //流水状态 des2src(tradeserial.operate_date,sysdate); //发生日期 des2src(tradeserial.operate_time,systime); //发生时间 des2src(tradeserial.collect_date,sysdate); //采集日期 des2src(tradeserial.collect_time,systime); //采集时间 des2src(tradeserial.enteract_date,logicdate); //处理日期 des2src(tradeserial.enteract_time,systime); //处理时间 des2src(tradeserial.oper_code, rPack->sname); tradeserial.customer_id = tCustomer.cut_id; tradeserial.sys_id = 0; //外部系统标识 tradeserial.in_balance=rPack->lvol7/100.0; tradeserial.trade_count=rPack->lvol6+1; //交易次数 des2src(IA.sArrInActno[0],tCardAccount.account_id); //卡帐户 des2src(IA.sArrInActno[5],tEAcc.account_id); //电子钱包帐户 IA.iCardNo=tEAcc.card_id; IA.dArrInAmt[0]=tradeserial.trade_fee; ret=process(&IA,&tradeserial); if(ret) { writelog(LOG_ERR,"process ret[%d]",ret); return ret; } if(TXCODE_CARD2EACC==tradeserial.serial_type) sprintf(outPack->vsmess,"卡转电子钱包:转帐前卡余额%.2lf元,转账金额%.2lf,当前卡余额%.2lf元",tradeserial.in_balance,tradeserial.trade_fee,tradeserial.out_balance); else sprintf(outPack->vsmess,"电子钱包转卡:转帐前卡余额%.2lf元,转账金额%.2lf,当前卡余额%.2lf元",tradeserial.in_balance,tradeserial.trade_fee,tradeserial.out_balance); writelog(LOG_DEBUG,outPack->vsmess); ret = DB_t_tif_tradeserial_add(&tradeserial); if (ret) { writelog(LOG_ERR,"ret[%d]",ret); if(DB_REPEAT==ret) return E_DB_TRADESERIAL_E; else return E_DB_TRADESERIAL_I; } if(amtcmp(tradeserial.out_balance,0)<0) return E_ENTER_ACCOUNT; SetCol(handle,F_DAMT2,F_LSERIAL1,F_VSMESS,0); outPack->damt2=tradeserial.out_balance; //出卡值 outPack->lserial1=tradeserial.serial_no; //流水号 PutRow(handle,outPack,pRetCode,szMsg); return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例20: F847107//.........这里部分代码省略......... } else { DB_t_customer_free_lock_cur(); *pRetCode=E_DB_SPEFEE_R; goto L_RETU; } } else { tCustomer.feetype=tSpeFee.feetype; } //更新客户表的收费类别字段 ret=DB_t_customer_update_lock_by_cur(&tCustomer); if(ret) { if(DB_NOTFOUND==ret) *pRetCode= E_CUSTOMER_NOT_EXIST; else *pRetCode= E_DB_CUSTOMER_U; goto L_RETU; } } DB_t_customer_free_lock_cur(); ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dSerialNo); //获得流水号 if(ret) { *pRetCode = ret; writelog(LOG_ERR," ERRCODE = [%d]",ret); goto L_RETU; } tradeserial.serial_no = D2I(dSerialNo); //流水号 tradeserial.other_seri_no = 0; //上传端流水号 tradeserial.serial_type = TXCODE_DRAW_DEPOSIT_LOG; //交易代码 tradeserial.serial_state = SERISTAT_DEBT; //流水状态 des2src(tradeserial.operate_date,sysdate); //发生日期 des2src(tradeserial.operate_time,systime); //发生时间 des2src(tradeserial.collect_date,sysdate); //采集日期 des2src(tradeserial.collect_time,systime); //采集时间 des2src(tradeserial.enteract_date,logicdate); //处理日期 des2src(tradeserial.enteract_time,systime); //处理时间 tradeserial.maindeviceid = rPack->lvol6; //上传工作站标 tradeserial.deviceid = rPack->lvol7; //采集设备标识 tradeserial.cardno = rPack->lvol0; //卡号 tradeserial.purseno = rPack->lvol1; //钱包号 tradeserial.custid = rPack->lvol2; //客户标识 tradeserial.in_balance=rPack->damt1; //入卡值 tradeserial.trade_count=rPack->lvol10+1; //交易次数 des2src(tradeserial.opercode , rPack->scust_limit); //操作员代码 tradeserial.sys_id = 0; //外部系统标识 IA.iCardNo=tCard.cardno; IA.iFeeType=tCustomer.feetype; strcpy(IA.sArrInActno[0],tAccount.account_id); IA.dArrInAmt[0]=tradeserial.trade_fee; //账号 IA.iArrInFeeSwitch[0]=rPack->lvol0; IA.iArrInFeeSwitch[5]=rPack->lvol5; IA.iArrInFeeSwitch[6]=rPack->lvol6; IA.iArrInFeeSwitch[7]=rPack->lvol7; IA.iArrInFeeSwitch[8]=rPack->lvol8; IA.iArrInFeeSwitch[9]=rPack->lvol9; IA.iArrInFeeSwitch[10]=rPack->lvol10; T_t_cardbitmap tCardBitmap;
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,
示例21: mlib_ImageConv1xNstatic mlib_status mlib_ImageConv1xN(mlib_image *dst, const mlib_image *src, const mlib_d64 *k, mlib_s32 n, mlib_s32 dn, mlib_s32 cmask){ FTYPE buff[BUFF_SIZE]; mlib_s32 off, kh; mlib_s32 d0, d1; const FTYPE *pk; FTYPE k0, k1, k2, k3; FTYPE p0, p1, p2, p3, p4; DEF_VARS(DTYPE); DTYPE *sl_c, *dl_c, *sl0; mlib_s32 l, hsize, max_hsize; GET_SRC_DST_PARAMETERS(DTYPE); hgt -= (n - 1); adr_dst += dn*dll; max_hsize = (CACHE_SIZE/sizeof(DTYPE))/sll; if (!max_hsize) max_hsize = 1; if (max_hsize > BUFF_SIZE) { pbuff = mlib_malloc(sizeof(FTYPE)*max_hsize); } chan1 = nchannel; sl_c = adr_src; dl_c = adr_dst; for (l = 0; l < hgt; l += hsize) { hsize = hgt - l; if (hsize > max_hsize) hsize = max_hsize; for (c = 0; c < nchannel; c++) { if (!(cmask & (1 << (chan1 - 1 - c)))) continue; sl = sl_c + c; dl = dl_c + c;#ifdef __SUNPRO_C#pragma pipeloop(0)#endif /* __SUNPRO_C */ for (j = 0; j < hsize; j++) pbuff[j] = 0.0; for (i = 0; i < wid; i++) { sl0 = sl; for (off = 0; off < (n - 4); off += 4) { pk = k + off; sp = sl0; k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3]; p2 = sp[0]; p3 = sp[sll]; p4 = sp[2*sll]; sp += 3*sll;#ifdef __SUNPRO_C#pragma pipeloop(0)#endif /* __SUNPRO_C */ for (j = 0; j < hsize; j += 2) { p0 = p2; p1 = p3; p2 = p4; p3 = sp[0]; p4 = sp[sll]; pbuff[j ] += p0*k0 + p1*k1 + p2*k2 + p3*k3; pbuff[j + 1] += p1*k0 + p2*k1 + p3*k2 + p4*k3; sp += 2*sll; } sl0 += 4*sll; } pk = k + off; sp = sl0; k0 = pk[0]; k1 = pk[1]; k2 = pk[2]; k3 = pk[3]; p2 = sp[0]; p3 = sp[sll]; p4 = sp[2*sll]; dp = dl; kh = n - off; if (kh == 4) { sp += 3*sll;#ifdef __SUNPRO_C#pragma pipeloop(0)#endif /* __SUNPRO_C */ for (j = 0; j <= (hsize - 2); j += 2) { p0 = p2; p1 = p3; p2 = p4; p3 = sp[0]; p4 = sp[sll]; d0 = D2I(p0*k0 + p1*k1 + p2*k2 + p3*k3 + pbuff[j]); d1 = D2I(p1*k0 + p2*k1 + p3*k2 + p4*k3 + pbuff[j + 1]);//.........这里部分代码省略.........
开发者ID:lmsf,项目名称:jdk9-dev,代码行数:101,
示例22: parse_bufferERL_NIF_TERM parse_buffer(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]) { Parser par; Parser* parser = ∥ ErlNifBinary buffer; if(!enif_inspect_binary(env, argv[0], &buffer)) return enif_make_badarg(env); if(!init_parser(parser, env, argv[0], &buffer, argv[1])) return enif_make_badarg(env); ERL_NIF_TERM reply = argv[2]; ERL_NIF_TERM return_value; parser->remaining_length = buffer.size; parser->pointer = buffer.data + parser->frame_start; while (parser->frame_start < parser->buffer_size) { parser->frame_size = D3I(parser->pointer); parser->pointer += 3; unsigned long seg_num = D1(parser->pointer); parser->pointer += 1; parser->remaining_length -= (parser->frame_size + 4); if (parser->remaining_length < 0) { return_value = enif_make_tuple3(env, parser->atoms->atom_incomplete, reply, enif_make_sub_binary(env, parser->raw, parser->frame_start, parser->buffer_size - parser->frame_start)); break; } if (*parser->pointer == MYSQL_RESP_EOF) { ERL_NIF_TERM remaining_buffer = enif_make_sub_binary(env, parser->raw, parser->frame_start + parser->frame_size + 4, parser->remaining_length); if (parser->frame_size == 5) { unsigned long server_status = D2I(parser->pointer + 3); return_value = enif_make_tuple5(env, parser->atoms->atom_eof, enif_make_uint(env, server_status), enif_make_uint(env, seg_num), reply, remaining_buffer); } else return_value = enif_make_tuple4(env, parser->atoms->atom_eof, enif_make_uint(env, seg_num), reply, remaining_buffer); break; } parser->frame_start += 4; ERL_NIF_TERM row = parse_line(parser); reply = enif_make_list_cell(env, row, reply); parser->frame_start += parser->frame_size; parser->pointer += parser->frame_size; } if (parser->frame_start >= parser->buffer_size) return_value = enif_make_tuple3(env, parser->atoms->atom_incomplete, reply, parser->atoms->atom_empty); destroy_parser(parser); return return_value;}
开发者ID:GWeise,项目名称:Emysql,代码行数:75,
示例23: do_849009/** * /brief 处理网银转账入账业务 * /param in_pack 请求报文包 * /param out_pack 输出报文包 * /param online_tx 联机交易,当为1时,如果个人账户已注销,则不能交易, * 当为0时,如果个人账户已注销,则借记 现金,贷记 营业成本 */int do_849009(ST_PACK *in_pack,char *szMsg,ST_PACK *out_pack,int online_tx){ int cust_id,card_id; int subsidy_no; int ret,count; char temp[64]; double max_subsidy_money = 0.0; double total_money,dSerial; T_t_tif_subsidy subsidy; T_t_tif_tradeserial tSerial; T_t_aif_account account; T_t_tif_meslist tMesList; InAcc IA; if(amtcmp(in_pack->damt0,0.0) <= 0) { writelog(LOG_DEBUG,"input money error!"); return E_INPUT_AMT; } memset(temp,0,sizeof temp); ret = GetParameter(GLOBAL_MAX_PER_SUBSIDY,temp); if(ret) { return ret; } max_subsidy_money = D4U5(atof(temp),2); // 流水号 ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dSerial); if(ret) { return ret; } // 查询卡信息 ret = do_849008_query(in_pack,&cust_id,&card_id); if(ret) { writelog(LOG_DEBUG,"query customer information error!,ret[%d]",ret); return ret; } // 账户信息 memset(&account,0,sizeof account); ret = DB_t_aif_account_read_by_card_id_and_purse_id(card_id,in_pack->lvol3,&account); if(ret) { // 账户表无信息 if(DB_NOTFOUND == ret) return E_DB_ACCOUNT_N; else return E_DB_ACCOUNT_R; } // 生成流水记录 memset(&tSerial,0,sizeof tSerial); writelog(LOG_DEBUG,"cust_id[%d],Serial_no[%d]]",cust_id,in_pack->lvol2); ret = do_849008_query_serial(cust_id,in_pack->lvol2,&tSerial); if(ret) { return ret; } // 认为已经入账成功,直接返回结果 if(tSerial.serial_no > 0) { out_pack->lvol0 = tSerial.card_id; out_pack->lvol1 = tSerial.serial_no; out_pack->lvol2 = tSerial.customer_id; out_pack->damt0 = tSerial.trade_fee; return 0; } memset(&IA,0,sizeof IA); tSerial.serial_no = D2I(dSerial); tSerial.serial_type = TXCODE_NETFEE_TRANS; // 网银转账 tSerial.serial_state = SERISTAT_DEBT; des2src(tSerial.oper_code,in_pack->scust_no2); des2src(tSerial.operate_date,in_pack->sdate0); des2src(tSerial.operate_time,in_pack->stime0); GetLogicDate(tSerial.enteract_date); getsystime(tSerial.enteract_time); getsysdate(tSerial.collect_date); des2src(tSerial.collect_time,tSerial.enteract_time); tSerial.customer_id = cust_id; tSerial.card_id = card_id; tSerial.in_balance = 0.0; tSerial.out_balance = 0.0; tSerial.trade_fee = in_pack->damt0; tSerial.other_seri_no = in_pack->lvol2; // 银行端流水号 if(account.current_state >= ACCOUNTSTAT_LOGOUT) { // 个人账户已经注销//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例24: parse_lineERL_NIF_TERM parse_line(Parser* parser) { unsigned long idx = parser->frame_start; unsigned col = 0; ERL_NIF_TERM reply[parser->table_width]; while(col < parser->table_width) { unsigned char size_length = (parser->buffer[idx] <= MYSQL_LIMIT_BYTE) ? (1) : (parser->buffer[idx] - MYSQL_LIMIT_BYTE); size_length *= (size_length == 4) ? (2) : (1); unsigned long long content_length = 0; if (parser->buffer[idx] != MYSQL_NULL_RESULT) { switch (size_length) { case 1: content_length = D1(parser->buffer + idx); break; case 2: content_length = D2I(parser->buffer + idx + 1); size_length++; break; case 3: content_length = D3I(parser->buffer + idx + 1); size_length++; break; case 8: content_length = D8I(parser->buffer + idx + 1); size_length++; break; } } else content_length = 0; unsigned char *new_val = parser->buffer + idx + size_length; MYSQL_TIME time_; if (content_length == 0) reply[col] = parser->atoms->atom_undefined; else if (parser->columns[col] == MYSQL_TYPE_BIT || parser->columns[col] == MYSQL_TYPE_TINY_BLOB || parser->columns[col] == MYSQL_TYPE_MEDIUM_BLOB || parser->columns[col] == MYSQL_TYPE_LONG_BLOB || parser->columns[col] == MYSQL_TYPE_BLOB || parser->columns[col] == MYSQL_TYPE_VAR_STRING || parser->columns[col] == MYSQL_TYPE_STRING) reply[col] = enif_make_sub_binary(parser->env, parser->raw, idx + size_length, size_length + content_length - 1); else if (parser->columns[col] == MYSQL_TYPE_TINY || parser->columns[col] == MYSQL_TYPE_SHORT || parser->columns[col] == MYSQL_TYPE_LONG || parser->columns[col] == MYSQL_TYPE_LONGLONG || parser->columns[col] == MYSQL_TYPE_INT24 || parser->columns[col] == MYSQL_TYPE_YEAR) reply[col] = enif_make_int(parser->env, atoi((char *) new_val)); else if (parser->columns[col] == MYSQL_TYPE_DECIMAL || parser->columns[col] == MYSQL_TYPE_NEWDECIMAL || parser->columns[col] == MYSQL_TYPE_FLOAT || parser->columns[col] == MYSQL_TYPE_DOUBLE) reply[col] = enif_make_double(parser->env, strtod((const char *) new_val, NULL)); else if (parser->columns[col] == MYSQL_TYPE_DATE) { sscanf((const char*) new_val, "%d-%d-%d", &time_.year, &time_.month, &time_.day); reply[col] = enif_make_tuple2(parser->env, parser->atoms->atom_date, enif_make_tuple3(parser->env, enif_make_int(parser->env, time_.year), enif_make_int(parser->env, time_.month), enif_make_int(parser->env, time_.day)) ); } else if (parser->columns[col] == MYSQL_TYPE_TIME) { sscanf((const char*) new_val, "%d:%d:%d", &time_.hour, &time_.minute, &time_.second); reply[col] = enif_make_tuple2(parser->env, parser->atoms->atom_time, enif_make_tuple3(parser->env, enif_make_int(parser->env, time_.hour), enif_make_int(parser->env, time_.minute), enif_make_int(parser->env, time_.second)) ); } else if (parser->columns[col] == MYSQL_TYPE_TIMESTAMP || parser->columns[col] == MYSQL_TYPE_DATETIME) { sscanf((const char*) new_val, "%d-%d-%d %d:%d:%d", &time_.year, &time_.month, &time_.day, &time_.hour, &time_.minute, &time_.second); reply[col] = enif_make_tuple2(parser->env, parser->atoms->atom_datetime, enif_make_tuple2(parser->env, enif_make_tuple3(parser->env, enif_make_int(parser->env, time_.year), enif_make_int(parser->env, time_.month), enif_make_int(parser->env, time_.day) ), enif_make_tuple3(parser->env, enif_make_int(parser->env, time_.hour), enif_make_int(parser->env, time_.minute), enif_make_int(parser->env, time_.second) ) ) ); } else if (parser->columns[col] == MYSQL_TYPE_FIELD_EXTRA) { ERL_NIF_TERM default_content; if (content_length > 12) default_content = enif_make_sub_binary(parser->env, parser->raw, idx + size_length + 12, size_length + content_length - 13); else default_content = parser->atoms->atom_undefined;//.........这里部分代码省略.........
开发者ID:GWeise,项目名称:Emysql,代码行数:101,
示例25: F847132//.........这里部分代码省略......... } */ ret=stat_subsidy_amount_by_batch_no(tSubsidy.batch_no, &iTotalCnt,&dTotalAmt); if(ret) { *pRetCode = ret; writelog(LOG_ERR,"ret[%d]",ret); goto L_RETU; } if(iTotalCnt!=rPack->lvol3) { strcpy(szMsg,"补助人数与导入的数据不符"); *pRetCode=E_INPUT_DATA_INVAILD; goto L_RETU; } if(amtcmp(dTotalAmt,rPack->damt0)!=0) { strcpy(szMsg,"补助总金额与导入的补助数据不符"); *pRetCode=E_INPUT_DATA_INVAILD; goto L_RETU; } writelog(LOG_DEBUG,"download subsidy batch_no : %s",tSubsidy.batch_no); des2src(tSubsidy.tx_date,sysdate); des2src(tSubsidy.tx_time,systime); ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dSerialNo); //获得最大流水号 if(ret) { *pRetCode = ret; writelog(LOG_ERR,"ret[%d]",ret); goto L_RETU; } tradeserial.serial_no = D2I(dSerialNo); //流水号 tradeserial.other_seri_no = 0; //上传端流水号 if(amtcmp(dTotalAmt,0.0)>0) tradeserial.serial_type = TXCODE_SET_SUBSIDY; else tradeserial.serial_type = TXCODE_DESUBSIDY_DOWN; tradeserial.serial_state = SERISTAT_DEBT; //流水状态 des2src(tradeserial.operate_date,sysdate); //发生日期 des2src(tradeserial.operate_time,systime); //发生时间 des2src(tradeserial.collect_date,sysdate); //采集日期 des2src(tradeserial.collect_time,systime); //采集时间 des2src(tradeserial.enteract_date,logicdate); //处理日期 des2src(tradeserial.enteract_time,systime); //处理时间 tradeserial.maindevice_id = rPack->lvol6; //上传工作站标识 tradeserial.device_id = rPack->lvol7; //采集设备标识 des2src(tradeserial.oper_code , rPack->scust_no); //操作员代码 tradeserial.sys_id = 0; //外部系统标识 // 设置发生金额 tradeserial.trade_fee = dTotalAmt; switch(tSubsidy.bill_type) { case TYPE_CASH: //现金 break; case TYPE_BILL: //支票 case TYPE_FUNDBOOK: //经费本 tSavdtl.amount=rPack->damt0; //发生额 if(amtcmp(tSavdtl.amount,0)==0) break; des2src(tSavdtl.bill_no,tSubsidy.bill_no); //票据号码 if(strlen(tSavdtl.bill_no)<1) { *pRetCode=E_INPUT_BILLNO; goto L_RETU;
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,
示例26: F240157//.........这里部分代码省略......... } else { DB_t_cif_customer_free_lock_cur(); *pRetCode=E_DB_SPEFEE_R; goto L_RETU; } } else { tCustomer.fee_type=tSpeFee.fee_type; } //更新客户表的收费类别字段 ret=DB_t_cif_customer_update_lock_by_cur(&tCustomer); if(ret) { if(DB_NOTFOUND==ret) *pRetCode= E_CUSTOMER_NOT_EXIST; else *pRetCode= E_DB_CUSTOMER_U; goto L_RETU; } } DB_t_cif_customer_free_lock_cur(); ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dUniqno); //获得最大流水号 if(ret) { *pRetCode = ret; writelog(LOG_ERR," ERRCODE = [%d]",ret); goto L_RETU; } tradeserial.serial_no = D2I(dUniqno); //流水号 tradeserial.other_seri_no = 0; //上传端流水号 tradeserial.serial_type = TXCODE_MAKEUPSERIAL; tradeserial.serial_state = SERISTAT_DEBT; //流水状态 des2src(tradeserial.operate_date,sysdate); //发生日期 des2src(tradeserial.operate_time,systime); //发生时间 des2src(tradeserial.collect_date,sysdate); //采集日期 des2src(tradeserial.collect_time,systime); //采集时间 des2src(tradeserial.enteract_date,logicdate); //处理日期 des2src(tradeserial.enteract_time,systime); //处理时间 tradeserial.maindevice_id = rPack->lvol6; //上传工作站标识// tradeserial.device_id = rPack->lvol7; //采集设备标识 tradeserial.card_id =card_id; //卡号 tradeserial.purse_id = PURSE_NO_ONE; //钱包号 tradeserial.customer_id = tCard.cosumer_id; //客户标识 tradeserial.in_balance=rPack->damt0; //入卡值 tradeserial.trade_count=rPack->lvol1+1; //交易次数 des2src(tradeserial.oper_code,rPack->scust_limit); //操作员代码 tradeserial.sys_id = 0; //外部系统标识 des2src(IA.sArrInActno[0],tAccount.account_id); //帐户 IA.iCardNo=tCard.card_id; IA.iFeeType=tCustomer.fee_type; IA.dArrInAmt[0]=tradeserial.trade_fee; IA.iArrInFeeSwitch[0]=rPack->lvol0; IA.iArrInFeeSwitch[1]=rPack->lvol1; IA.iArrInFeeSwitch[2]=rPack->lvol2; IA.iArrInFeeSwitch[3]=rPack->lvol3; IA.iArrInFeeSwitch[4]=rPack->lvol4; IA.iArrInFeeSwitch[5]=rPack->lvol5; ret=process(&IA,&tradeserial); if(ret)
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,
示例27: F847302int F847302(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){ int ret = 0; T_t_card tCard; T_t_tif_tradeserial tTradeSerial, tPacketSerial; T_t_tif_writefailed tWriteFailed; char logicdate[11] = ""; double dUniqNo = 0; memset(&tCard, 0, sizeof tCard); memset(&tTradeSerial, 0, sizeof tTradeSerial); memset(&tPacketSerial, 0, sizeof tPacketSerial); memset(&tWriteFailed, 0, sizeof tWriteFailed); if (rPack->lvol3 != 0 && rPack->lvol3 != 1) { writelog(LOG_DEBUG,"输入标志错误[%d]",rPack->lvol3); *pRetCode = E_INPUT_ERROR; goto L_RETU; } ret = DB_t_tif_tradeserial_read_by_serial_no(rPack->lvol1,&tTradeSerial); //消费流水号 if (ret) { writelog(LOG_DEBUG,"输入号不存在消费流水号[%d]",rPack->lvol1); if (DB_NOTFOUND == ret) { *pRetCode = E_DB_TRADESERIAL_N; } else { *pRetCode = E_DB_TRADESERIAL_R; } goto L_RETU; } ret = DB_t_card_read_lock_by_cur_and_cardno(tTradeSerial.cardno,&tCard); if (ret) { if (DB_NOTFOUND == ret) { *pRetCode = E_DB_CARD_N; } else { *pRetCode = E_DB_CARD_R; } goto L_RETU; } ret = DB_t_tif_tradeserial_read_by_serial_no(rPack->lvol2,&tPacketSerial); //充值流水号 if (ret) { writelog(LOG_DEBUG,"输入号不存在充值流水号[%d]",rPack->lvol2); if (DB_NOTFOUND == ret) { *pRetCode = E_DB_TRADESERIAL_N; } else { *pRetCode = E_DB_TRADESERIAL_R; } goto L_RETU; } GetLogicDate(logicdate); tWriteFailed.cardno = tCard.cardno; des2src(tWriteFailed.tx_date,logicdate); writelog(LOG_DEBUG,"大钱包交易金额[%f]",tTradeSerial.trade_fee); // 大钱包写卡失败 if (0 == rPack->lvol3) { // 大钱包写卡失败 ret = getNewUniqNo(KEYTYPE_WRITEFAILED, &dUniqNo); //获得写卡失败表最大ID号 if (ret) { writelog(LOG_ERR,"ret[%d]",ret); *pRetCode = ret; goto L_RETU; } tWriteFailed.id = D2I(dUniqNo); tWriteFailed.serial_no = tTradeSerial.serial_no; tWriteFailed.serial_type = tTradeSerial.serial_type; tWriteFailed.purese_no = PURSE_NO_ONE; tWriteFailed.deal_flag[0] = CARDWFAIL_PACKET_DEAL_FLAG_Y; tWriteFailed.deal_bala = tTradeSerial.trade_fee; des2src(tWriteFailed.comments, "大钱包写卡失败"); ret = DB_t_tif_writefailed_add(&tWriteFailed); if (ret) { *pRetCode = E_DB_WRITEFAILED_I; goto L_RETU; } } tCard.cardattr[CARDSTAT_TYPE_WFAIL] = STATE_TRUE; ret = DB_t_card_update_lock_by_cur(&tCard); if (ret) { *pRetCode = E_DB_CARD_U; goto L_RETU;//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,
示例28: F847301//.........这里部分代码省略......... { *pRetCode = E_DB_CUSTOMER_R; } goto L_RETU; } //读取个人帐户 ret = DB_t_aif_account_read_by_cardno_and_purseno(tCard.cardno,PURSE_NO_ONE,&tAccount); if (ret) { if (DB_NOTFOUND == ret) { *pRetCode = E_DB_ACCOUNT_N; } else { *pRetCode = E_DB_ACCOUNT_R; } goto L_RETU; } //个人临时帐户填死掉了, 不需要查询 ret = getNewUniqNo(KEYTYPE_TRADESERIAL,&dUniqNo); // 获得最大流水号 if (ret) { writelog(LOG_ERR,"ret[%d]",ret); *pRetCode = ret; goto L_RETU; } getsysdate(sysdate); getsystime(systime); GetLogicDate(logicdate); memset(&tSerial, 0, sizeof tSerial); tSerial.serial_no = D2I(dUniqNo); tSerial.other_seri_no = 0; tSerial.serial_state = SERISTAT_DEBT; //流水状态 tSerial.serial_type = TXCODE_CONSUME; //交易类型 des2src(tSerial.operate_date,sysdate); //发生日期 des2src(tSerial.operate_time,systime); //发生时间 des2src(tSerial.collect_date,sysdate); //采集日期 des2src(tSerial.collect_time,systime); //采集时间 des2src(tSerial.enteract_date,logicdate); //处理日期 des2src(tSerial.enteract_time,systime); //处理时间// tSerial.maindeviceid = rPack->lvol3; //上传工作站标识 tSerial.deviceid = 0; //采集设备标识 tSerial.cardno = hi_cardid; //交易卡号 des2src(tSerial.showid,tCard.showid); //显示卡号 tSerial.purseno = PURSE_NO_ONE; //钱包号 tSerial.custid = tCard.custid; //客户号 des2src(tSerial.opercode, rPack->scust_no); //操作员代码 tSerial.sysid = 0; tSerial.trade_count = rPack->lvol4 + 1; //卡交易次数 tSerial.trade_fee = transfer_price; //转钱金额 tSerial.cardbefbal = cardbefbal; //入卡值 writelog(LOG_DEBUG,"水控转账入卡值[%.2lf]",cardbefbal); des2src(IA.sArrInActno[0],tAccount.account_id); //个人帐户// des2src(IA.sArrInActno[1],temp_account_id); //个人临时帐户 IA.dArrInAmt[0] = tSerial.trade_fee; //交易金额 IA.iCardNo = tCard.cardno; //交易卡号 IA.iFeeType = tCustomer.feetype; //客户收费类型 //调用入帐子模块 ret = process(&IA,&tSerial); if (ret) {
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:67,
注:本文中的D2I函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 C++ D3D11CreateDevice函数代码示例 C++ D2D1CreateFactory函数代码示例 |