您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ D4U5函数代码示例

51自学网 2021-06-01 20:17:28
  C++
这篇教程C++ D4U5函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中D4U5函数的典型用法代码示例。如果您正苦于以下问题:C++ D4U5函数的具体用法?C++ D4U5怎么用?C++ D4U5使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了D4U5函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: DoResponse

static int DoResponse(const T_t_cardtrans& cardtrans, TRUSERID *handle, int *pRetCode, char *szMsg){    CAccTrans& ats = CAccTrans::GetInst();    TRANS& trans = ats.trans;    ST_CPACK aPack;    ST_PACK *outPack = &(aPack.pack);    ResetNormalCPack(&aPack, 0, 1);    SetCol(handle, F_LVOL0, F_LVOL1, F_LVOL7, F_LVOL8, F_DAMT0, F_LCERT_CODE,           F_SDATE0, F_STIME0, F_LWITHDRAW_FLAG, F_LSERIAL0, F_LSERIAL1, F_SNOTE, F_VSMESS, 0);    outPack->lwithdraw_flag = trans.termid;    outPack->lvol0 = trans.cardno;    outPack->lvol7 = D4U5(trans.cardbefbal * 100, 0);    outPack->lvol8 = D4U5(trans.cardaftbal * 100, 0);    if(trans.errcode)    {        outPack->lvol1 = 1;        outPack->damt0 = trans.addamt;        outPack->lcert_code = trans.transcode;        outPack->lserial0 = cardtrans.termid;        outPack->lserial1 = cardtrans.termseqno;        strcpy(outPack->sdate0, cardtrans.transdate);        strcpy(outPack->stime0, cardtrans.transtime);        strcpy(outPack->snote, trans.remark);    }    PutRow(handle, outPack, pRetCode, szMsg);    return 0;}
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:28,


示例2: amtcmp

//金额比较函数,只比较小数点前2位int amtcmp(double amt1,double amt2){	long long lAmt1=D4U5(amt1,2)*100;	long long lAmt2=D4U5(amt2,2)*100;	long long lAmt=lAmt1-lAmt2;	if(0==lAmt)		return 0;	else if(lAmt<0)		return -1;	else		return   1;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:13,


示例3: do_refundment_subsidy

static int do_refundment_subsidy(T_t_aif_account *account,double *subsidy_money,char *opercode,int subsidy_no){	T_t_tif_subsidy tSubsidy;	char tx_date[9]="";	char tx_time[7]="";	double total_money = 0.0;	int ret;	char status[2] = "";	getsysdate(tx_date);	getsystime(tx_time);	status[0] = SUBSIDY_STAT_NORMAL;	// 按交易卡号退款	ret = DB_t_tif_subsidy_open_select_for_update_by_c3_and_cardno_and_status(		account->cardno,status);	if(ret)	{		if(DB_NOTFOUND != ret)		{			writelog(LOG_ERR,"open subsidy error,cardno[%d],ret[%d]",account->cardno,ret);			return E_DB_SUBSIDY_R;		}	}	else	{		while(1)		{			memset(&tSubsidy,0,sizeof tSubsidy);			ret = DB_t_tif_subsidy_fetch_select_by_c3(&tSubsidy);			if(ret)			{				if(DB_NOTFOUND == ret)					break;				writelog(LOG_ERR,"read subsidy error,cardno[%d],ret[%d]",account->cardno,ret);				return E_DB_SUBSIDY_R;			}			if(subsidy_no > -1 && tSubsidy.subsidy_no < subsidy_no)			{				writelog(LOG_INFO,"cardid[%d]online subsidy_no[%d],db subsidy_no[%d] ignore",						 account->cardno,subsidy_no,tSubsidy.subsidy_no);				continue;			}			total_money += D4U5(tSubsidy.amount,2);			tSubsidy.status[0] = SUBSIDY_STAT_FINISHED;			des2src(tSubsidy.get_date,tx_date);			des2src(tSubsidy.get_time,tx_time);			des2src(tSubsidy.opercode,opercode);			ret = DB_t_tif_subsidy_update_lock_by_c3(&tSubsidy);			if(ret)			{				writelog(LOG_ERR,"update subsidy error,cardno[%d],subsidy_no[%d],ret[%d]",						 tSubsidy.cardno,tSubsidy.subsidy_no,ret);				return E_DB_SUBSIDY_U;			}		}	}	*subsidy_money = total_money;	return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:59,


示例4: D2I

// 将浮点数转换为整型int D2I(double value){    /*    double smaller = floor(value);    double bigger = ceil(value);    return (int)(((bigger - value) > (value - smaller)) ? smaller : bigger);    */    return (int)D4U5(value,0);}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:10,


示例5: do_rush_balance

static int do_rush_balance(T_t_tif_tradelog * tradelog,InAcc * pIA,T_t_tif_tradeserial* pSerial){	int ret;	int subindex;	T_t_aif_account account;	// 初始化入账模块	subindex = pIA->iSubIndex;	memset(pIA,0,sizeof(InAcc));	pIA->dArrInAmt[0] = tradelog->op_fee * -1;	des2src(pIA->sArrInActno[0],tradelog->act_id);	pIA->iSubIndex = subindex;	ret = process(pIA,pSerial);	if(ret)	{		writelog(LOG_ERR,"消费解款冲正,账号[%s]失败[%.2lf]"			,tradelog->act_id,tradelog->op_fee);		return ret;	}	memset(&account,0,sizeof account);	ret = DB_t_aif_account_read_by_account_id(tradelog->act_id,&account);	if(ret)	{		writelog(LOG_ERR,"查询商户账户失败ret[%d]",ret);		if(DB_NOTFOUND == ret)			return E_DB_ACCOUNT_N;		else			return E_DB_ACCOUNT_R;	}	// 更新账户余额	account.last_bala =D4U5(account.last_bala+ tradelog->op_fee,2);	account.last_freebala = D4U5(account.last_freebala+ tradelog->op_fee,2);	ret = DB_t_aif_account_update_by_account_id(tradelog->act_id,&account);	if(ret)	{		writelog(LOG_ERR,"冲正后更新账户可用解款金额失败account[%s]"			,tradelog->act_id);		if(DB_NOTFOUND == ret)			return E_DB_ACCOUNT_N;		else			return E_DB_ACCOUNT_U;	}	pSerial->trade_fee = D4U5(pSerial->trade_fee+tradelog->op_fee,2);	return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:44,


示例6: CardTransProcess

int CardTransProcess(T_t_cardtrans& cardtrans){    CAccTrans& ats = CAccTrans::GetInst();    TRANS& trans = ats.trans;    int ret = DB_t_cardtrans_read_lock_by_c0_and_cardno(trans.cardno, &cardtrans);    if(ret)    {        if(DB_NOTFOUND == ret)            return 0;        else            return E_DB_CARDTRANS_R;    }    ret = CardTransCheck(cardtrans);    if(ret)    {        DB_t_cardtrans_free_lock_by_c0();        return ret;    }    if(trans.errcode)    {        trans.cardaftbal = cardtrans.cardaftbal;        trans.addamt = D4U5(trans.cardaftbal - trans.cardbefbal);        trans.transcode = cardtrans.transcode;        if(trans.transcode)        {            T_t_transcode *_pCfgTransCode = ats.getCfgTranscode(cardtrans.transcode);            if(_pCfgTransCode)                strcpy(trans.remark, _pCfgTransCode->transname);        }        cardtrans.updcnt++;        strcpy(cardtrans.updtime, trans.sysdatetime);        ret = DB_t_cardtrans_update_lock_by_c0(&cardtrans);        if(ret)        {            return E_DB_CARDTRANS_U;        }    }    else    {        DB_t_cardtrans_free_lock_by_c0();    }    return 0;}
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:43,


示例7: DoCardInsteadCancel

//.........这里部分代码省略.........        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);        transdtl.status[0]=DTLSTATUS_SUCCESS;        des2src(transdtl.showcardno,cardinsteaddtl.oldshowcardno);        ret=DB_t_transdtl_add(&transdtl);        if(ret) {            if(DB_REPEAT==ret)                return E_DB_TRANSDTL_E;            else                return E_DB_TRANSDTL_I;        }        outPack->lvol1=tCard.custid;        outPack->lsafe_level2=customer.custtype;        outPack->lvol5=tCard.feetype;        des2src(outPack->sall_name,customer.custname);        des2src(outPack->spager,customer.stuempno);        des2src(outPack->scert_no,customer.deptcode);        des2src(outPack->semail2,customer.idno);        des2src(outPack->smarket_code,customer.sex);        des2src(outPack->sdate0,tCard.expiredate);        sprintf(outPack->sholder_ac_no,"%d",10);				//发行方标识        des2src(outPack->smarket_code2,customer.idtype);        des2src(outPack->sname2,tCard.cardverno);        outPack->lsafe_level=tCard.cardtype;        outPack->lvol0=tCard.cardno;        outPack->lvol8=(int)(cardinsteaddtl.oldcardbal*100);        outPack->lvol4=cardinsteaddtl.oldsubsidyno;        outPack->lvol11=D4U5(tCardAccount.singlemaxamt*100,0);        outPack->lvol12=D4U5(tCardAccount.daycostmaxamt*100,0);        outPack->lvol6=cardinsteaddtl.oldcardcnt;        des2src(outPack->sorder0,tCard.showcardno);        des2src(outPack->sdate3,pAccTrans->trans.accdate);        des2src(outPack->stime3,pAccTrans->trans.acctime);        des2src(outPack->semp,trans.opercode);        outPack->lwithdraw_flag=trans.termid;        outPack->lserial1=trans.termseqno;        des2src(outPack->stx_pwd,cardpwd);        PutRow(handle,outPack,pRetCode,szMsg);        return 0;    }    if(cardinsteaddtl.revflag[0]=='1') {        return E_CARDINSTEAD_CANCEL;    }    T_t_card cardtmp;    memset(&cardtmp,0,sizeof(cardtmp));    ret=DB_t_card_read_by_cardphyid_and_status(trans.cardphyid,"1",&cardtmp);    if(ret!=DB_NOTFOUND) {        if(DB_SUCCESS==ret)            return ERRINFO(E_EXIST_CARDPHYID,trans.cardphyid);        else            return E_DB_CARD_R;    }    if(pAccTrans->sysPara.bEnableCardMgr) {        ret=DB_t_card_read_by_showcardno_and_status(trans.showcardno,"1",&tCard);        if(ret!=DB_NOTFOUND) {            if(DB_SUCCESS==ret)                return ERRINFO(E_EXIST_SHOWCARDNO,trans.showcardno);            else                return E_DB_CARD_R;        }
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:67,


示例8: F846310

//.........这里部分代码省略.........	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;		}	}	T_t_transdtl transdtl;	memset(&transdtl,0,sizeof(transdtl));	strcpy(transdtl.transdate,trans.transdate);	strcpy(transdtl.transtime,trans.transtime);	strcpy(transdtl.accdate,trans.accdate);	strcpy(transdtl.acctime,trans.acctime);	transdtl.termid=trans.termid;	transdtl.termseqno=trans.termseqno;//	des2src(transdtl.collectdate,rPack->sdate1);//	des2src(transdtl.collecttime,rPack->stime1);	transdtl.transcode=trans.transcode;//	transdtl.paytype=rPack->lvol9;//	des2src(transdtl.voucherno,rPack->scust_auth2);	transdtl.cardno=trans.cardno;	transdtl.purseno=PURSE_NO_ONE;	transdtl.transflag=TF_PAY;	transdtl.cardcnt=trans.paycnt;	transdtl.cardbefbal=trans.cardbefbal;	transdtl.cardaftbal=trans.cardaftbal;    transdtl.amount=trans.totaltransamt;	transdtl.managefee=trans.totalfeeamt;////	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.opercode,trans.opercode);	transdtl.status[0]=DTLSTATUS_SUCCESS;	transdtl.revflag[0]='0';	transdtl.errcode=0;	transdtl.custid=tCardAccount.custid;    des2src(transdtl.showcardno,tCard.showcardno);		GetCustBaseInfoByCustID(transdtl.custid,transdtl.custname,transdtl.stuempno,NULL);	ret=DB_t_transdtl_add(&transdtl);	if(ret)	{	  if(DB_REPEAT==ret)	    return E_DB_TRANSDTL_E;	  else	    return E_DB_TRANSDTL_I;	}		    SetCol(handle,F_LVOL1,F_LSAFE_LEVEL2,F_LVOL5,F_LVOL6,           F_SALL_NAME,F_SPAGER,F_SCERT_NO,F_SHOLDER_AC_NO,F_LSAFE_LEVEL,F_SMARKET_CODE2,           F_SEMAIL2,F_SMARKET_CODE,F_SDATE0,F_SNOTE,           F_SSTAT_TYPE,F_SSTAT_TYPE2,F_SNATION_CODE,F_SBRANCH_CODE0,           F_LVOL0,F_STX_PWD,F_LVOL8,F_LVOL11,F_LVOL12,           F_SORDER0,F_SORDER1,F_SORDER2,F_SDATE3,F_STIME3,F_SEMP,           F_LWITHDRAW_FLAG,F_LSERIAL1,F_VSMESS,F_SNAME2,0);	outPack->lvol1=tCustomer.custid;	outPack->lsafe_level2=tCustomer.custtype;	outPack->lvol5=tCard.feetype;	des2src(outPack->sall_name,tCustomer.custname);	des2src(outPack->spager,tCustomer.stuempno);	des2src(outPack->scert_no,tCustomer.deptcode);	des2src(outPack->semail2,tCustomer.idno);	des2src(outPack->smarket_code,tCustomer.sex);	des2src(outPack->smarket_code2,tCustomer.idtype);	outPack->lsafe_level=tCard.cardtype;	des2src(outPack->sdate0,tCard.expiredate);	outPack->lvol0=tCard.cardno;	outPack->lvol6=trans.paycnt;	des2src(outPack->stx_pwd,tCard.cardpwd);  	des2src(outPack->sorder0,tCard.showcardno);     des2src(outPack->sname2,tCard.cardverno);	//	des2src(outPack->sorder0,tCard.showcardno);   	strcpy(outPack->snote,CARD_STRUCT_VERSION);			  //制卡版本号	strcpy(outPack->sorder1,CARD_REGISTER_PUBLISH_CODE);	  //发卡注册标识号	strcpy(outPack->sorder2,CARD_REGISTER_SERVICE_CODE);	  //服务注册标识号	outPack->lvol8=D4U5(pAccTrans->trans.cardaftbal*100,0);	outPack->lvol11=D4U5(tCardAccount.singlemaxamt*100,0);	outPack->lvol12=D4U5(tCardAccount.daycostmaxamt*100,0);	sprintf(outPack->sholder_ac_no,"%d",tCustomer.custid);  //客户号	des2src(outPack->sstat_type,tCustomer.idtype);		  //证件类型	des2src(outPack->snation_code,tCustomer.country); 	  //国籍	des2src(outPack->sstat_type2,tCustomer.nation); //民族	des2src(outPack->sbranch_code0,tCustomer.areacode);	  //院校代码  	des2src(outPack->sdate3,pAccTrans->trans.accdate);    des2src(outPack->stime3,pAccTrans->trans.acctime);	des2src(outPack->semp,trans.opercode);	outPack->lwithdraw_flag=trans.termid;	outPack->lserial1=trans.termseqno;	sprintf(trans.remark,"%s卡余额%.2lf元",pAccTrans->remark.c_str(),pAccTrans->trans.cardaftbal);	des2src(outPack->vsmess,trans.remark);	PutRow(handle,outPack,pRetCode,szMsg);	return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,


示例9: DoCardInstead

//.........这里部分代码省略.........        DB_t_cardinsteaddtl_free_lock_by_c0();        strcpy(szMsg,"保存的卡信息与原卡物理ID不一致");        return E_CARD_PHYNO_DIFFER;    }    //核对原物理ID是否一致    if(strcmp(cardinsteaddtl.oldcardphyid,rPack->scust_no)!=0) {        DB_t_cardinsteaddtl_free_lock_by_c0();        return E_CARD_PHYNO_DIFFER;    }    if(cardinsteaddtl.revflag[0]=='1') {        DB_t_cardinsteaddtl_free_lock_by_c0();        return E_CARDINSTEAD_CANCEL;    }    if(cardinsteaddtl.status[0]=='2') {        DB_t_cardinsteaddtl_free_lock_by_c0();        if(strcmp(cardinsteaddtl.cardphyid,trans.cardphyid)!=0) {            return ERRINFO(E_CARD_PHYNO_DIFFER,trans.cardphyid,cardinsteaddtl.cardphyid);        }        outPack->lvol1=tCard.custid;        outPack->lsafe_level2=customer.custtype;        outPack->lvol5=tCard.feetype;        des2src(outPack->sall_name,customer.custname);        des2src(outPack->spager,customer.stuempno);        des2src(outPack->scert_no,customer.deptcode);        des2src(outPack->semail2,customer.idno);        des2src(outPack->smarket_code,customer.sex);        des2src(outPack->sdate0,tCard.expiredate);        sprintf(outPack->sholder_ac_no,"%d",10);				//发行方标识        des2src(outPack->smarket_code2,customer.idtype);        outPack->lsafe_level=tCard.cardtype;        des2src(outPack->sname2,tCard.cardverno);        outPack->lvol0=tCard.cardno;        outPack->lvol8=(int)(cardinsteaddtl.oldcardbal*100);        outPack->lvol11=D4U5(tCardAccount.singlemaxamt*100,0);        outPack->lvol12=D4U5(tCardAccount.daycostmaxamt*100,0);        outPack->lvol6=cardinsteaddtl.oldcardcnt;        outPack->lvol4=cardinsteaddtl.oldsubsidyno;        des2src(outPack->sorder0,tCard.showcardno);        des2src(outPack->sdate3,pAccTrans->trans.accdate);        des2src(outPack->semp,trans.opercode);        des2src(outPack->stx_pwd,cardpwd);        outPack->lwithdraw_flag=trans.termid;        outPack->lserial1=trans.termseqno;        PutRow(handle,outPack,pRetCode,szMsg);        return 0;    }    cardinsteaddtl.status[0]=STATUS_DELETE;    des2src(cardinsteaddtl.cardphyid,trans.cardphyid);    des2src(cardinsteaddtl.showcardno,trans.showcardno);    ret=DB_t_cardinsteaddtl_update_lock_by_c0(&cardinsteaddtl);    if(ret) {        return E_DB_CARDINSTEADDTL_U;    }    //检查新卡物理id    T_t_card cardtmp;    memset(&cardtmp,0,sizeof(cardtmp));    ret=DB_t_card_read_by_cardphyid_and_status(trans.cardphyid,"1",&cardtmp);    if(ret!=DB_NOTFOUND) {        if(DB_SUCCESS==ret)            return ERRINFO(E_EXIST_CARDPHYID,trans.cardphyid);        else            return E_DB_CARD_R;    }    if(pAccTrans->sysPara.bEnableCardMgr) {        ret=DB_t_card_read_by_showcardno_and_status(trans.showcardno,"1",&cardtmp);        if(ret!=DB_NOTFOUND) {
开发者ID:Codiscope-Research,项目名称:ykt4sungard,代码行数:67,


示例10: packege_elec_request

static 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,


示例11: packege_send_data

static 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,


示例12: F847119

//.........这里部分代码省略.........			writelog(LOG_ERR,"input card_id [%d],tradeserial card_id[%d]",card_id,old_tradeserial.card_id);			*pRetCode=E_CARDNO_SERIAL_NE;			goto L_RETU;		}		serial_type=old_tradeserial.serial_type;		flag=TYPE_CUR;	}	else	{		ret=DB_t_tif_tradeserial_his_read_by_bak_date_and_serial_no(operate_date,iSerialno,&tradeserialhis);		if(ret)		{			writelog(LOG_ERR,"operate_date[%s]Serialno[%d]",operate_date,iSerialno);			if(DB_NOTFOUND==ret)				*pRetCode=E_SERIALNO_NOT_EXIST;			else				*pRetCode=E_DB_TRADESERIAL_R;			goto L_RETU;		}		if(card_id!=tradeserialhis.card_id)		{			writelog(LOG_ERR,"input card_id [%d],tradeserial card_id[%d]",card_id,tradeserialhis.card_id);			*pRetCode=E_CARDNO_SERIAL_NE;			goto L_RETU;		}		serial_type=tradeserialhis.serial_type;		flag=TYPE_HIS;	}	if(TYPE_CUR==flag)	{		seri_in_bala=old_tradeserial.in_balance;		seri_out_bala=old_tradeserial.out_balance;		strncpy(tx_date,old_tradeserial.operate_date,sizeof(tx_date));		dAmt=D4U5(old_tradeserial.out_balance-old_tradeserial.in_balance,2); 		//发生额=出卡值-入卡值	}	else	{		seri_in_bala=tradeserialhis.in_balance;		seri_out_bala=tradeserialhis.out_balance;		strncpy(tx_date,tradeserialhis.operate_date,sizeof(tx_date));		dAmt=D4U5(tradeserialhis.out_balance-tradeserialhis.in_balance,2); 		//发生额=出卡值-入卡值	}	des2src(old_physical_no,tCard.physical_no);	trim(physical_no);	trim(old_physical_no);	switch(serial_type)	{		//发行正式卡		case  847101:		//补办正式卡		case  847104:		//发行过渡临时卡		case 847116:		//发行非记名临时卡		case 847124:		case 847125:		case 847126:			if(strcmp(old_physical_no,physical_no)!=0)			{				ret=IsExistCardByPhyCardNo(physical_no);				if(ret)				{					*pRetCode = ret;					goto L_RETU;				}				//修改卡标志,置为正常状态
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,


示例13: F850020

int F850020(TRUSERID *handle,int iRequest,ST_PACK *rPack,int *pRetCode,char *szMsg){	int ret=0;	CAccTrans *pAccTrans=CAccTrans::getInstance();	TRANS& trans=pAccTrans->trans;	pAccTrans->trans.transcode=TC_WATERBALRETURN;	des2src(pAccTrans->trans.opercode,rPack->semp);	pAccTrans->trans.termid=rPack->lwithdraw_flag;	ret=pAccTrans->InitTrans();	if(ret)		return ret;			    ST_CPACK aPack;    ST_PACK *outPack = &(aPack.pack);    memset(&aPack,0,sizeof(aPack));    ResetNormalCPack(&aPack,0,1);	SetCol(handle,0);	SetCol(handle,F_LVOL0,F_LVOL1,F_LVOL2,F_LVOL3,F_LVOL8,F_SDATE0,F_SPHONE3,F_SADDR,F_LVOL5,F_LVOL9,F_LSAFE_LEVEL,F_LSAFE_LEVEL2,		F_SDATE3,F_STIME3,F_SEMP,F_LWITHDRAW_FLAG,F_LSERIAL1,F_VSMESS,0);	trans.cardflag=1;	trans.usecardflag=1;		trans.cardno=rPack->lvol0;		trans.purseno=PURSE_NO_ONE;	trans.dpscnt=rPack->lvol5+1;	trans.cardbefbal=rPack->lvol7/100.0;	trans.cardaftbal=trans.cardbefbal;	des2src(trans.cardphyid,rPack->sstation1);		double waterbefbal = D4U5(rPack->lsafe_level/100.0);	double wateraftbal = 0;	trans.inputamt= waterbefbal;		T_t_pursetype  pursetype;	memset(&pursetype,0,sizeof(pursetype));	pursetype.pursetype=rPack->lvol1;	if(pursetype.pursetype<1)	{		ERRTIP("请输入小钱包类型");		return E_COMMON_ERR;	}	ret=DB_t_pursetype_read_by_pursetype(pursetype.pursetype,&pursetype);	if(ret)	{		if(DB_NOTFOUND==ret)		{				ERRTIP("钱包类型[%d]不存在",pursetype.pursetype);			return E_COMMON_ERR;		}		else			return E_DB_PURSETYPE_R;	}	if(!pursetype.enableflag)	{		ERRTIP("钱包类型[%d]未启用",pursetype.pursetype);		return E_COMMON_ERR;	}	if(!pursetype.refundflag)	{		ERRTIP("钱包类型[%d]不允许退款",pursetype.pursetype);		return E_COMMON_ERR;			}	if(amtcmp(trans.inputamt,pursetype.pursemaxbal)>0)		trans.inputamt=pursetype.pursemaxbal;	T_t_card  tCard;	memset(&tCard,0,sizeof(tCard));	T_t_account tAccount;	memset(&tAccount,0,sizeof(tAccount));		ret=pAccTrans->CheckAcc(&tCard,&tAccount);	if(ret)	{		writelog(LOG_ERR,"检查状态失败");		return ret;	}	T_t_cardbalance  cardbalance;	memset(&cardbalance,0,sizeof(cardbalance));	ret=DB_t_cardbalance_read_lock_by_c0_and_accno_and_pursetype(tAccount.accno,pursetype.pursetype,&cardbalance);	if(ret)	{		if(DB_NOTFOUND==ret)			return E_DB_CARDBALANCE_N;		else			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;	}//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,


示例14: F847104

//.........这里部分代码省略.........	if(tCustomer.fee_type<1)	{		ret=DB_t_pif_spefee_read_by_dept_code_and_cut_type(tCustomer.classdept_no, tCustomer.cut_type,&tSpeFee);		if(ret)		{			if(DB_NOTFOUND==ret)			{				tCustomer.fee_type=tCustomer.cut_type;			}			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();	tradeserial.trade_fee =D4U5(rPack->damt0,2);	//	准备数据插入卡信息表	memcpy(seed_key,STATIC_SEED_KEY,16);			//读种子密钥	if(strlen(tCustomer.can_time)==8)	{		ret=IsInvalidDateTime(tCustomer.can_time,"YYYYMMDD");		if(ret)		{			*pRetCode=E_TB_CUSTOMER_ENDTIME;			goto L_RETU;		}		if(strncmp(tCustomer.can_time,sysdate,8)<=0)		{			*pRetCode=E_TB_CUSTOMER_ENDTIME;			goto L_RETU;		}		des2src(card_endtime,tCustomer.can_time);	}	else if(strlen(rPack->sdate0)==0)	{		*pRetCode=E_TB_CUSTOMER_NO_ENDTIME;		goto L_RETU;	}	else	{		ret=IsInvalidDateTime(rPack->sdate0,"YYYYMMDD");		if(ret)		{			*pRetCode = E_INPUT_DATE;			goto L_RETU;		}		if(strncmp(rPack->sdate0,sysdate,8)<=0)		{
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,


示例15: F847101

//.........这里部分代码省略.........	if(tCustomer.fee_type<1)	{		ret=DB_t_pif_spefee_read_by_dept_code_and_cut_type(tCustomer.classdept_no, tCustomer.cut_type,&tSpeFee);		if(ret)		{			if(DB_NOTFOUND==ret)			{				tCustomer.fee_type=tCustomer.cut_type;			}			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();	tradeserial.trade_fee =D4U5(rPack->damt0,2);	//检查金额是否超过最大额度	ret=GetParameter(GLOBE_MAXCARDBALANCE,sMaxCardBalance);	if(ret)	{		*pRetCode=ret;		goto L_RETU;	}	dMaxCardBalance=atof(sMaxCardBalance);	if(amtcmp(tradeserial.trade_fee,dMaxCardBalance)>0)	{		writelog(LOG_ERR,"tradeserial.trade_fee[%lf]",tradeserial.trade_fee);		*pRetCode=E_AMT_EXCEED_MAX;		goto L_RETU;	}	//	准备数据插入卡信息表	memcpy(seed_key,STATIC_SEED_KEY,16);			//读种子密钥	if(strlen(tCustomer.can_time)==8)	{		ret=IsInvalidDateTime(tCustomer.can_time,"YYYYMMDD");		if(ret)		{			*pRetCode=E_TB_CUSTOMER_ENDTIME;			goto L_RETU;		}		if(strncmp(tCustomer.can_time,sysdate,8)<=0)		{			*pRetCode=E_TB_CUSTOMER_ENDTIME;			goto L_RETU;		}		des2src(card_endtime,tCustomer.can_time);
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,


示例16: 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,


示例17: F846322

int 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,


示例18: F846336

int 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,


示例19: F950043

int 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,


示例20: F846314

//.........这里部分代码省略.........	trans.purseno=PURSE_NO_ONE;	trans.paycnt=rPack->lvol6+1;	trans.cardbefbal=rPack->lvol7/100.0;	trans.cardaftbal=trans.cardbefbal;//	trans.fundtype=PAYTYPE_CASH;	des2src(trans.cardphyid,rPack->sstation0);	trans.inputamt=rPack->damt0;		trans.unusedamt = trans.inputamt;	if(amtcmp(trans.inputamt,trans.cardbefbal)>0)	{		return ERRINFO(E_CARD_BALANCE_SHORTAGE,trans.cardbefbal);	}	T_t_card tCard;		memset(&tCard,0,sizeof(tCard));	ret=doCard(trans,tCard);	if(ret)	{		return ret;	}//	ret=UpdateCardBitmap(trans.cardno,trans.cardcnt,CARDBITMAPTYPE_DEC,0);//	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(tCardAccount.lastpaycnt>trans.paycnt)	{		return ERRINFO(E_CARDCNT_LT_LASTCARDCNT,trans.paycnt,tCardAccount.lastpaycnt);	}	strcpy(trans.cardaccno,tCardAccount.accno);	trans.feetype=tCard.feetype;	trans.custid=tCard.custid;	strcpy(trans.draccno,tCardAccount.accno);	ret=pAccTrans->doTrans();	if(ret)		return ret;	ret=pAccTrans->doTransEnd();	if(ret)		return ret;	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.transflag =TF_PAY;	transdtl.cardcnt=trans.paycnt;	transdtl.cardbefbal=trans.cardbefbal;	transdtl.cardaftbal=trans.cardaftbal;    transdtl.amount=trans.totaltransamt;	transdtl.managefee=trans.totalfeeamt;	transdtl.custid=tCardAccount.custid;	des2src(transdtl.custname,tCardAccount.accname);	des2src(transdtl.opercode,trans.opercode);	transdtl.status[0]=DTLSTATUS_SUCCESS;    transdtl.showcardno=atol(tCard.showcardno);	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;	}			SetCol(handle,F_LVOL0,F_LVOL8,F_SDATE0,		F_SDATE3,F_SEMP,F_LWITHDRAW_FLAG,F_LSERIAL1,F_VSMESS,F_STIME3,0);		outPack->lvol0=tCard.cardno;	outPack->lvol8=D4U5(pAccTrans->trans.cardaftbal*100,0);	des2src(outPack->sdate3,pAccTrans->trans.accdate);	des2src(outPack->stime3,pAccTrans->trans.acctime);	des2src(outPack->semp,trans.opercode);	outPack->lwithdraw_flag=trans.termid;	outPack->lserial1=trans.termseqno;    sprintf(trans.remark,"%s卡余额%.2lf元",pAccTrans->remark.c_str(),pAccTrans->trans.cardaftbal);    des2src(outPack->vsmess,trans.remark);	PutRow(handle,outPack,pRetCode,szMsg);	return 0;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,


示例21: F847123

//.........这里部分代码省略.........	if(tCustomer.fee_type<1)	{		ret=DB_t_pif_spefee_read_by_dept_code_and_cut_type(tCustomer.classdept_no, tCustomer.cut_type,&tSpeFee);		if(ret)		{			if(DB_NOTFOUND==ret)			{				tCustomer.fee_type=tCustomer.cut_type;			}			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,&dSerialno);  				//获得流水号	if(ret)	{		*pRetCode = ret;		writelog(LOG_ERR,"ret [%d]",ret);		goto L_RETU;	}	tTradeserial.serial_no = (int)dSerialno;					//流水号	tTradeserial.other_seri_no = 0;							//上传端流水号	tTradeserial.serial_type = 847123;						//交易代码;备注:发卡+充值 用一个交易码,即847101; 发卡(不充值)另用一个交易码,即新的发卡程序文件名,从而区分发卡充值与发卡不充值的卡操作信息。	tTradeserial.serial_state = SERISTAT_DEBT;				//流水状态	des2src(tTradeserial.operate_date,sysdate);				//发生日期	des2src(tTradeserial.operate_time,systime);				//发生时间	des2src(tTradeserial.collect_date,sysdate);				//采集日期	des2src(tTradeserial.collect_time,systime);				//采集时间	des2src(tTradeserial.enteract_date,logicdate);				//处理日期	des2src(tTradeserial.enteract_time,systime);				//处理时间	des2src(tTradeserial.oper_code , rPack->scust_limit);	tTradeserial.maindevice_id = rPack->lvol6;				//上传工作站标识	tTradeserial.device_id = rPack->lvol7;					//采集设备标识	tTradeserial.card_id = tCard.card_id;						//卡号	des2src(tTradeserial.showid,tCard.showid);				//显示卡号	tTradeserial.purse_id = PURSE_NO_ONE;					//钱包号	tTradeserial.customer_id = tCard.cosumer_id;				//客户标识	//插入交易流水表	ret = DB_t_tif_tradeserial_add(&tTradeserial);	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;	}	out_pack->lvol0 = card_id;									//交易卡号	out_pack->lvol1 = tCustomer.cut_type;						//客户类别	out_pack->lvol5 = tCustomer.fee_type;						//收费类别	des2src(out_pack->scust_no,tCard.showid);					//显示卡号	des2src(out_pack->scust_no2,tCustomer.classdept_no);			//部门号	des2src(out_pack->scust_auth,tCustomer.stuemp_no);			//学号	des2src(out_pack->scust_auth2,tCustomer.man_id);			//身份证号	des2src(out_pack->sname,tCustomer.cut_name);				//客户姓名	des2src(out_pack->sname2,tCustomer.lib_cardid);				//图书证号	des2src(out_pack->sstatus0,tCustomer.sex);					//性别	des2src(out_pack->sopen_emp,sPwd);						//卡密码	des2src(out_pack->sdate0,tCard.end_time);					//有效截至日期	out_pack->damt2=D4U5(tAccount.card_balance,2);			//卡余额	out_pack->lvol10=tAccount.consume_count;					//消费次数	out_pack->lserial1=tTradeserial.serial_no;						//流水号	sprintf(out_pack->vsmess,"流水号:%d 卡号:%d 学工号:%s 姓名:%s 卡余额:%.2lf元",tTradeserial.serial_no,card_id,tCustomer.stuemp_no,tCustomer.cut_name,tAccount.card_balance);	writelog(LOG_DEBUG,out_pack->vsmess);	// add by 汤成 2005-8-8	// 增加向名单表写入记录	ret = InsertToBlkList(card_id,CHCARD_BLACKLIST);	if(ret)	{		*pRetCode = ret;		goto L_RETU;	}	PutRow(handle,out_pack,pRetCode,szMsg);	return 0;L_RETU:	return -1;}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,


示例22: F846323

int 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,


示例23: F846326

int 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,


示例24: D2I

// 将浮点数转换为整型int D2I(double value){	return (int)D4U5(value,0);}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:5,


示例25: F847183

//.........这里部分代码省略.........	}	tRcvdtl.status[0]='4';				//冲正	des2src(tRcvdtl.oper_no,rPack->scust_limit);	des2src(tRcvdtl.deal_date,sysdate);	des2src(tRcvdtl.deal_time,systime);	ret=DB_t_tif_rcvdtl_update_lock_by_c0(&tRcvdtl);	if(ret)	{	        *pRetCode=E_DB_RCVDTL_U;	        writelog(LOG_ERR,"DB_t_tif_rcvdtl_update_lock_by_c0[%d]",ret);	        goto L_RETU;	}	DB_t_tif_rcvdtl_free_lock_c0();	//赋值	ret=getdata(&tTradeserial,&tRcvdtl);	if(ret)	{		*pRetCode=ret;		goto L_RETU;	}	des2src(tTradeserial.operate_date,sysdate);	des2src(tTradeserial.operate_time,systime);	des2src(tTradeserial.collect_date,sysdate);	des2src(tTradeserial.collect_time,systime);	ret=GetLogicDate(tTradeserial.enteract_date);						//业务日期	if(ret)	{		*pRetCode=ret;		writelog(LOG_ERR,"GetLogicDate  err ret[%d]",ret);		goto L_RETU;	}	des2src(tTradeserial.enteract_time,systime);	tTradeserial.in_balance =rPack->damt1; 	tTradeserial.trade_fee = -1 * D4U5(tRcvdtl.amount/100.0,2);		//本次消费金额 	tTradeserial.boardfee = -1 * D4U5(tRcvdtl.manage_fee/100.0,2);	//本次消费管理费       tTradeserial.out_balance=tTradeserial.in_balance-tTradeserial.trade_fee;	tTradeserial.trade_count=rPack->lvol10;	tTradeserial.maindevice_id=rPack->lvol6;//	tTradeserial.sys_id=rPack->lvol6;	des2src(tTradeserial.oper_code,rPack->scust_limit);	tTradeserial.reviseserial_no=tTradeserial.other_seri_no;	//取流水号,从帐处理	ret=getNewUniqNo(KEYTYPE_TRADESERIAL, &dUniqno);	if(ret)	{		*pRetCode=ret;		writelog(LOG_ERR,"getNewUniqNo err[%d]",ret);		goto L_RETU;	}	tTradeserial.serial_no=(int)dUniqno;		//######################################################	//入账处理	switch(tTradeserial.serial_type)	{		case 930031:			// 交易冲正			if(0==tRcvdtl.amount)				break;			tTradeserial.serial_type=TXCODE_TX_REVEAL;			ret=process930031(&tTradeserial);			if(ret)			{	//业务处理失败处理				*pRetCode=ret;				goto L_RETU;			}
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,


示例26: F950052

//.........这里部分代码省略.........	if(ret)	{		if(DB_NOTFOUND==ret)			return E_DB_DEPOSITOPER_R;		else			return E_DB_DEPOSITOPER_N;	}	if(tDepositOper.status[0]!=STATUS_NORMAL)	{		DB_t_dpsoper_free_lock_by_c0();		return E_DEPOSITOPER_STOP;	}	//判断是否是重复交易	if(tDepositOper.lastdevseqno==transdtl.devseqno)	{		DB_t_dpsoper_free_lock_by_c0();		ret=DB_t_transdtl_read_by_accdate_and_devphyid_and_devseqno(			trans.transdate,tDepositOper.lastdevphyid,tDepositOper.lastdevseqno,			&transdtl);		if(ret)		{			if(DB_NOTFOUND==ret)				return E_DB_TRANSDTL_N;			else				return E_DB_TRANSDTL_R;		}		//if(transdtl.revflag[0]=='1')		//	return E_TRANSDTL_REV;		ResetNormalCPack(&aPack,0,1);		SetCol(handle,0);		SetCol(handle,F_LVOL5,F_LVOL10,F_LCERT_CODE,0);		out_pack->lvol5 = transdtl.cardno;		out_pack->lvol10 = (int)D4U5(transdtl.cardaftbal*100,0);		out_pack->lcert_code = transdtl.termseqno;		writelog(LOG_INFO,"该交易已成功,卡号[%d]充值金额[%.2lf]卡余额[%.2lf]",transdtl.cardno,				 transdtl.amount,transdtl.cardaftbal);		PutRow(handle,out_pack,pRetCode,szMsg);		return 0;			}	if(strncmp(tDepositOper.lasttransdate,trans.transdate,8)!=0)	{		des2src(tDepositOper.lasttransdate,trans.transdate);		tDepositOper.depositcnt=0;		tDepositOper.depositamt=0;	}	tDepositOper.depositcnt++;	tDepositOper.depositamt+=trans.inputamt;	tDepositOper.lastdevseqno=transdtl.devseqno;	des2src(tDepositOper.lastdevphyid,transdtl.devphyid);	des2src(tDepositOper.lastsaved,trans.sysdatetime);	if(amtcmp(tDepositOper.maxdepositamt,0)>0)	{		DB_t_dpsoper_free_lock_by_c0();		if(amtcmp(tDepositOper.depositamt,tDepositOper.maxdepositamt)>0)		{			return E_OPER_OVER_MAX_DEPOSIT_AMT;		}	}	ret=DB_t_dpsoper_update_lock_by_c0(&tDepositOper);	if(ret)	{			return E_DB_DEPOSITOPER_U;	}	ret=DB_t_dpsshoppos_read_by_deviceid(trans.termid, &tDepositShoppos);
开发者ID:nykma,项目名称:ykt4sungard,代码行数:66,


示例27: F846340

int 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,


示例28: AccountProcess

//.........这里部分代码省略.........        	default:        		ret=VarExp2NumExp(IA->dArrInAmt,IA->iArrInFeeSwitch,sFormula,num_exp);        		if(ret)        		{        			writelog(LOG_ERR,"ret[%d]txcode[%d]txtype[%d]formula[%s]",ret,IA->iTradeNo, iTxType,sFormula);        			return E_EXP_CFG;        		}        //		writelog(LOG_ERR,"formula[%s]num_exp[%s]",sFormula,num_exp);        		ret=ExpCalAmt(num_exp, &dExpCalAmt);        		if(ret)        		{        			writelog(LOG_ERR,"formula[%s]num_exp[%s]",sFormula,num_exp);        			return E_EXP_CFG;        		}        		writelog(LOG_ERR,"formula[%s]num_exp[%s]amt[%lf]",sFormula,num_exp,dExpCalAmt);        		break;        }        */        //根据公式计算发生额        ret=VarExp2NumExp(IA->dArrInAmt,IA->iArrInFeeSwitch,sFormula,num_exp);        if(ret)        {            writelog(LOG_ERR,"ret[%d]txcode[%d]txtype[%d]formula[%s]",ret,IA->iTradeNo, iTxType,sFormula);            return E_EXP_CFG;        }//		writelog(LOG_DEBUG,"formula[%s]num_exp[%s]",sFormula,num_exp);        ret=ExpCalAmt(num_exp, &dExpCalAmt);        if(ret)        {            writelog(LOG_ERR,"formula[%s]num_exp[%s]",sFormula,num_exp);            return E_EXP_CFG;        }        dExpCalAmt=D4U5(dExpCalAmt,2);//		writelog(LOG_DEBUG,"formula[%s]num_exp[%s]amt[%.4lf]",sFormula,num_exp,dExpCalAmt);        //如果金额为0则continue        if(amtcmp(dExpCalAmt,0)==0)        {            continue;        }        else if(amtcmp(dExpCalAmt,0)<0)        {            //如果不是冲正交易则不允许金额小于0            if(ACC_TYPE_NORMAL == IA->iTxFlag)            {                writelog(LOG_DEBUG,"交易名称[%s]当前交易金额[%.4lf]",CfgSplit.ArrCfgsplit[iTxType].txname,dExpCalAmt);                if(IA->pVoidPointer != NULL)                {                    sprintf((char*)IA->pVoidPointer,"%.2lf",dExpCalAmt);                }                return E_AMT_LACK;            }        }        else        {            //冲正交易不允许金额大于0            if(ACC_TYPE_RUSH == IA->iTxFlag)            {                writelog(LOG_DEBUG,"交易名称[%s]当前交易金额[%.4lf]",CfgSplit.ArrCfgsplit[iTxType].txname,dExpCalAmt);                return E_INPUT_AMT;            }        }        //类型为0的交易是用来检查输入金额是否有错误        if(0==iTxType)        {            writelog(LOG_DEBUG,"交易名称[%s]当前交易金额[%.4lf]",CfgSplit.ArrCfgsplit[iTxType].txname,dExpCalAmt);
开发者ID:nykma,项目名称:ykt4sungard,代码行数:67,


示例29: do_reverse_balance

int do_reverse_balance(T_t_tif_tradelog *tTradelog,RevAcc *revacc){	int ret = -1;	int idxSub=0;	char sTxDateandtime[21]="";	T_t_aif_account tAccountDb;	T_t_aif_account tAccountCr;	T_t_tif_tradelog tTradelogDb;	T_t_tif_tradelog tTradelogCr;	T_t_tif_subject  tSubject;	T_t_tif_cfgsplit  tCfgsplit;		memset(&tAccountDb,0,sizeof tAccountDb);	memset(&tAccountCr,0,sizeof tAccountCr);	memset(&tSubject,0,sizeof tSubject);	memset(&tCfgsplit,0,sizeof tCfgsplit);	memset(&tTradelogDb,0,sizeof tTradelogDb);	memset(&tTradelogCr,0,sizeof tTradelogCr);		// 处理借方	memcpy(&tTradelogDb,tTradelog,sizeof tTradelogDb);	tTradelogDb.seri_type = TXCODE_TX_REVEAL;					// 交易代码记录为冲正		ret = DB_t_aif_account_read_lock_by_cur_and_account_id(tTradelog->act_id, &tAccountDb);	if(ret)	{		if(DB_NOTFOUND==ret)			return E_ACTNO_NOT_EXIST;		else			return E_DB_ACCOUNT_R;	}	if(tAccountDb.current_state == ACCOUNTSTAT_LOGOUT)	{		DB_t_aif_account_free_lock_cur();		writelog(LOG_ERR, "read account err[%d]act_id[%s]", E_ACTNO_LOGOUT, tAccountDb.account_id);		return E_ACTNO_LOGOUT;	}		ret = DB_t_tif_subject_read_by_subno(tAccountDb.subno, &tSubject);	if(ret)	{		DB_t_aif_account_free_lock_cur();		return ret;	}			if (SUBTYPE_FUND== tSubject.subtype|| SUBTYPE_COST==  tSubject.subtype )	{		tAccountDb.cur_bala = D4U5(tAccountDb.cur_bala- tTradelog->op_fee,6);		tAccountDb.cur_freebala = D4U5(tAccountDb.cur_freebala- tTradelog->op_fee,6);		//db_amt_flag=1;	}	else	{		//db_amt_flag=-1;		if(strncmp(tAccountDb.subno,"201",3)==0)		{			//消费时从冻结金额中扣除搭伙费			ret = DB_t_tif_cfgsplit_read_by_txtype(tTradelog->fee_type, &tCfgsplit);			if(ret)			{				DB_t_aif_account_free_lock_cur();				return ret;			}			switch(tCfgsplit.fundtype)			{				case FUNDTYPE_BOARD://搭伙费					tAccountDb.cur_bala =D4U5(tAccountDb.cur_bala+ tTradelog->op_fee,6);			//总余额					tAccountDb.cur_frozebala = D4U5(tAccountDb.cur_frozebala + tTradelog->op_fee,6);					break;				default:					tAccountDb.cur_bala =D4U5(tAccountDb.cur_bala+ tTradelog->op_fee,6);			//总余额					tAccountDb.cur_freebala =D4U5(tAccountDb.cur_freebala+tTradelog->op_fee,6);	//可用余额					//更新卡余额					if(USE_CARD_TYPE_ONLINE==revacc->iUseCardFlag)					{						//联机交易保留交易金额的交易时间						getsysdatetime(tAccountDb.reserve_1);											 if(amtcmp(revacc->dOutCardBala,0)>=0)						{							//把搭伙费,交易金额都加上							revacc->dOutCardBala=D4U5(revacc->dOutCardBala + tTradelog->op_fee,2);														tAccountDb.card_balance=revacc->dOutCardBala;					//账户卡余额							if(revacc->iTradeCnt>0)								tAccountDb.consume_count=revacc->iTradeCnt;						}					}					else if(USE_CARD_TYPE_NULL==revacc->iUseCardFlag)					{					    strcpy(sTxDateandtime,revacc->sTxDate);						strcat(sTxDateandtime,revacc->sTxTime);						revacc->dOutCardBala=D4U5(revacc->dOutCardBala + tTradelog->op_fee,2);					//	if((tAccountDb.consume_count<=revacc->iTradeCnt)||(strncmp(sTxDateandtime,tAccountDb.reserve_1,14)>0))					  if (tAccountDb.consume_count<=revacc->iTradeCnt)						{						//	strcpy(tAccountDb.reserve_1,revacc->sTxDate);													tAccountDb.card_balance=D4U5(revacc->dOutCardBala ,2);			//账户卡余额								//.........这里部分代码省略.........
开发者ID:nykma,项目名称:ykt4sungard,代码行数:101,



注:本文中的D4U5函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ DAC_Cmd函数代码示例
C++ D3D_SetError函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。