⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dbfunc.cp

📁 UNIX/LINUX平台下面SMS网管原代码
💻 CP
📖 第 1 页 / 共 3 页
字号:
		     passtotcurr = :Sql_Broker.passtotcurr,		     err_date = :Sql_Broker.err_date  		 WHERE cid = :Sql_Broker.cid AND bid = :Sql_Broker.bid;		if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;			if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	}		return( SUCCESS) ;}int  DB_reset_broker_err(char *cid,short bid){	EXEC SQL BEGIN DECLARE SECTION ;	SQL_BROKER_INFO Sql_Broker;	EXEC SQL END DECLARE SECTION ;	char today[11];	strcpy(Sql_Broker.cid,cid);	Sql_Broker.bid = bid;	EXEC SQL SELECT * INTO :Sql_Broker 		 FROM co_broker_info 		 WHERE cid = :Sql_Broker.cid AND bid = :Sql_Broker.bid;	if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;		if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	get_time_ymd("%Y-%m-%d",today);		if (strncmp(today,Sql_Broker.err_date,10) == 0)	{		if (Sql_Broker.passdaycurr ==0) return (SUCCESS) ;		Sql_Broker.passdaycurr =0;	EXEC SQL UPDATE co_broker_info 		 SET passdaycurr = :Sql_Broker.passdaycurr, status=1  		 WHERE cid = :Sql_Broker.cid AND bid = :Sql_Broker.bid;		if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;			if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	}	else	{		Sql_Broker.passdaycurr = 0 ;		strcpy(Sql_Broker.err_date,today);	EXEC SQL UPDATE co_broker_info 		 SET passdaycurr = :Sql_Broker.passdaycurr,		     err_date = :Sql_Broker.err_date,		     status=1  		 WHERE cid = :Sql_Broker.cid and bid = :Sql_Broker.bid;		if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;			if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	}		return( SUCCESS) ;}int  DB_search_ps_acc_info( PS_ACCINFO *pS_aCcinfo){	EXEC SQL BEGIN DECLARE SECTION ;	SQL_PS_ACCINFO *pSql ;	EXEC SQL END DECLARE SECTION ;	pSql = ( SQL_PS_ACCINFO *)pS_aCcinfo ;	EXEC SQL SELECT * INTO :pSql 		 FROM ps_accinfo 		 WHERE  cid = :pSql->cid ;	if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;	if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	return SUCCESS;}int  DB_add_ps_err(char *cid){	EXEC SQL BEGIN DECLARE SECTION;	SQL_PS_ACCINFO Sql_Acc;	EXEC SQL END DECLARE SECTION ;	char today[11];	strcpy(Sql_Acc.cid,cid);	EXEC SQL SELECT * INTO :Sql_Acc 		 FROM ps_accinfo 		 WHERE cid = :Sql_Acc.cid;	if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;		if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	get_time_ymd("%Y-%m-%d",today);	if (strncmp(today,Sql_Acc.err_date,10) == 0)	{		Sql_Acc.passdaycurr ++;		Sql_Acc.passtotcurr ++;		if (Sql_Acc.passdaycurr >=5)	EXEC SQL UPDATE ps_accinfo 		 SET passdaycurr = :Sql_Acc.passdaycurr,		     passtotcurr = :Sql_Acc.passtotcurr ,		     status = 6		 WHERE cid = :Sql_Acc.cid;		else 	EXEC SQL UPDATE ps_accinfo 		 SET passdaycurr = :Sql_Acc.passdaycurr,		     passtotcurr = :Sql_Acc.passtotcurr 		 WHERE cid = :Sql_Acc.cid;		if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;			if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	}	else	{		Sql_Acc.passdaycurr = 1 ;		Sql_Acc.passtotcurr ++;		strcpy(Sql_Acc.err_date,today);	EXEC SQL UPDATE ps_accinfo 		 SET passdaycurr = :Sql_Acc.passdaycurr,		     passtotcurr = :Sql_Acc.passtotcurr,		     err_date = :Sql_Acc.err_date  		 WHERE cid = :Sql_Acc.cid;		if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;			if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	}		return( SUCCESS) ;}int  DB_reset_ps_err(char *cid){	EXEC SQL BEGIN DECLARE SECTION; 	SQL_PS_ACCINFO Sql_Acc;	EXEC SQL END DECLARE SECTION ;	char today[11];	strcpy(Sql_Acc.cid,cid);	EXEC SQL SELECT * INTO :Sql_Acc 		 FROM ps_accinfo 		 WHERE cid = :Sql_Acc.cid;	if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;		if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	get_time_ymd("%Y-%m-%d",today);	if (strncmp(today,Sql_Acc.err_date,10) == 0)	{		if (Sql_Acc.passdaycurr ==0) return (SUCCESS) ;		Sql_Acc.passdaycurr =0;	EXEC SQL UPDATE ps_accinfo 		 SET passdaycurr = :Sql_Acc.passdaycurr, status=1  		 WHERE cid = :Sql_Acc.cid;		if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;			if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	}	else	{		Sql_Acc.passdaycurr = 0 ;		strcpy(Sql_Acc.err_date,today);	EXEC SQL UPDATE ps_accinfo 		 SET passdaycurr = :Sql_Acc.passdaycurr,		     err_date = :Sql_Acc.err_date, status=1  		 WHERE cid = :Sql_Acc.cid;		if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;			if ( sqlca.sqlcode == SQLNOTFOUND ) return( FAILURE) ;	}		return( SUCCESS) ;}int  DB_search_ps_acct_by_tail(char *account, char *cid, char *tail){	EXEC Sql BEGIN DECLARE SECTION;	char acct_like[56];	char acct[30];	char pCid[11 + 1];	EXEC SQL END DECLARE SECTION;	memset(acct_like, 0, sizeof(acct_like));	sprintf(acct_like,"%s%s","%", tail);	memset(pCid, 0, sizeof(pCid));	strcpy(pCid, cid);	memset(acct, 0, sizeof(acct));	EXEC SQL SELECT account INTO :acct		 FROM ps_acc_reg 		 WHERE cid = :pCid 		 AND account LIKE :acct_like ;	if ( sqlca.sqlcode == SQLNOTFOUND || sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;	AllTrim(acct);	strcpy(account, acct);	return( SUCCESS );}int  DB_search_co_acct_by_tail(char *account, char *cid, char *tail){		EXEC SQL BEGIN DECLARE SECTION;	char acct_like[56];	char acct[30];	char pCid[11 + 1];	EXEC SQL END DECLARE SECTION;	memset(acct_like, 0, sizeof(acct_like));	sprintf(acct_like,"%s%s","%", tail);	memset(pCid, 0, sizeof(pCid));	strcpy(pCid, cid);	memset(acct, 0, sizeof(acct));	EXEC SQL SELECT account INTO :acct		 FROM co_acc_reg 		 WHERE cid = :pCid		 AND account like :acct_like ; 	if ( sqlca.sqlcode == SQLNOTFOUND || sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;	AllTrim(acct) ;	strcpy(account, acct);	return( SUCCESS );}int  DB_search_co_acct_by_bid(char *cid, short bid, char *account){	EXEC SQL BEGIN DECLARE SECTION;	char Cid[11 + 1];	short Bid;	char Acct[30];	char tmp[30];	EXEC SQL END DECLARE SECTION;	memset(Cid, 0, sizeof(Cid));	strcpy(Cid, cid);	Bid = bid;	memset(Acct, 0, sizeof(Acct));	strcpy(Acct, account);	memset(tmp, 0, sizeof(tmp));	EXEC SQL SELECT a.account INTO :tmp		 FROM   co_acc_reg a, co_boacc_def b		 WHERE  a.cid = :Cid and (a.cid = b.cid ) and b.bid = :Bid and a.aid = b.aid and a.account = :Acct;	if ( sqlca.sqlcode == SQLNOTFOUND || sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;	return( SUCCESS );}int DB_delete_account(char *cid, char *account){	EXEC SQL BEGIN DECLARE SECTION;	char Cid[11 + 1];	char Acct[30];	EXEC SQL END DECLARE SECTION;	memset(Cid, 0, sizeof(Cid));	strcpy(Cid, cid);	memset(Acct, 0, sizeof(Acct));	strcpy(Acct, account);	EXEC SQL DELETE FROM ps_acc_link		 WHERE cid = :Cid AND link = :Acct;	if( sqlca.sqlcode ) return sqlca.sqlcode;	return SUCCESS;}int DB_account_exists(char *account){	EXEC SQL BEGIN DECLARE SECTION;	char Acct[30];	char tmp[30];	EXEC SQL END DECLARE SECTION;	memset(Acct, 0, sizeof(Acct));	strcpy(Acct, account);	memset(tmp, 0, sizeof(tmp));	EXEC SQL SELECT account INTO :tmp		 FROM ps_acc_reg		 WHERE account = :Acct;	if ( sqlca.sqlcode == SQLNOTFOUND ) return SUCCESS;	return sqlca.sqlcode;}int DB_seek_ps_info(char *name, short pz_type, char *pz_num, char *cid){	EXEC SQL BEGIN DECLARE SECTION;	char pName[30];	short type;	char id[20];	char Cid[11 +1];	EXEC SQL END DECLARE SECTION;	memset(Cid, 0, sizeof(Cid));	strcpy(Cid, cid);	memset(pName, 0, sizeof(pName));	memset(id, 0, sizeof(id));	EXEC SQL SELECT name, ic_type, ic_no		 INTO :pName, :type, :id		 FROM person_info		 WHERE cid = :Cid;	if( sqlca.sqlcode ) return sqlca.sqlcode;	AllTrim(pName);	strcpy(name, pName);	pz_type = type;	AllTrim(id);	strcpy(pz_num, id);	return 0;}int DB_search_transfer_account(char *name, char *account, char *cid, char *inacc, char *tail){	EXEC Sql BEGIN DECLARE SECTION;	char acct_like[56];	char acct[30];	char inAcc[30];	char pCid[11 + 1];	char Name[60];	EXEC SQL END DECLARE SECTION;	memset(acct_like, 0, sizeof(acct_like));	sprintf(acct_like,"%s%s","%", tail);	memset(pCid, 0, sizeof(pCid));	strcpy(pCid, cid);	memset(inAcc, 0, sizeof(inAcc));	strcpy(inAcc, inacc);	memset(acct, 0, sizeof(acct));	EXEC SQL SELECT name, link 		 INTO :Name, :acct		 FROM ps_acc_link		 WHERE cid = :pCid AND account = :inAcc AND link LIKE :acct_like ;	if ( sqlca.sqlcode == SQLNOTFOUND || sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;	AllTrim(Name);	strcpy(name, Name);		AllTrim(acct);	strcpy(account, acct);	return( SUCCESS );}int  DB_seek_acc_link(int *rowcount, char *cid, char *filename){	EXEC SQL BEGIN DECLARE SECTION;    	SQL_PS_ACC_LINK pSql ;	char sqlstmt[1024];	EXEC SQL END DECLARE SECTION;	FILE *fp ;	char orgfile[128];	int  errcode ;	int  rn = 0;	EXEC SQL WHENEVER SQLERROR CALL error_handler() ;	EXEC SQL WHENEVER SQLWARNING CALL warning_handler() ;	EXEC SQL WHENEVER NOT FOUND CALL notfound_handler() ;	memset((char *)&pSql, 0, sizeof(SQL_PS_ACC_LINK));	memset(orgfile, 0, sizeof(orgfile));	sprintf( orgfile, "%s/tmp/%s",getenv("HOME"),filename); 	if( (fp=fopen( orgfile, "wb+")) == NULL) return FAILURE;	memset( sCid, 0, sizeof(sCid)) ;	strcpy( sCid, cid) ;	memset(sqlstmt, 0, sizeof(sqlstmt));	sprintf( sqlstmt, "SELECT * FROM ps_acc_link WHERE cid = ? ");	EXEC SQL PREPARE cur_link FROM :sqlstmt ;	if ( sqlca.sqlcode < 0 ) return( sqlca.sqlcode) ;	EXEC SQL DECLARE cur_link CURSOR FOR cur_link;	EXEC SQL OPEN cur_link USING :sCid;	while(1)	{		memset( (char *)&pSql, '\0', sizeof( pSql)) ;		EXEC SQL FETCH cur_link INTO :pSql ;		if ( sqlca.sqlcode < 0 )		{			bms_trace("fetch = [%d]", sqlca.sqlcode);			EXEC SQL CLOSE cur_link ;			fclose(fp) ;			unlink(orgfile ) ;			return FAILURE ;		}		if ( sqlca.sqlcode == 100) break ;		rn ++ ;		AllTrim( pSql.link) ;		AllTrim( pSql.name) ;		fprintf(fp, "%d|%s|%s|\n", rn, pSql.name, pSql.link);	}	EXEC SQL CLOSE cur_link ;	fclose( fp) ;	*rowcount = rn;	return( SUCCESS) ;}int DB_seek_limit(double *aggr_amt, double *max_limit, char *cid, char *account){	EXEC SQL BEGIN DECLARE SECTION;	char Cid[11 + 1];	char Account[30];	double Aggr_amt;	double Max_limit;	EXEC SQL END DECLARE SECTION;	memset(Cid, 0, sizeof(Cid));	strcpy(Cid, cid);	memset(Account, 0, sizeof(Account));	strcpy(Account, account);	EXEC SQL SELECT limit_amt, max_limit_amt		 INTO   :Aggr_amt, :Max_limit		 FROM   ps_acc_reg		 WHERE  cid = :Cid AND account = :Account;	if( sqlca.sqlcode != 0 ) return sqlca.sqlcode;		*aggr_amt = Aggr_amt;	*max_limit = Max_limit;	return SUCCESS;}int DB_update_agrr_amt(char *cid, char *account, double amt){	EXEC SQL BEGIN DECLARE SECTION;	char Cid[11 + 1];	char Account[30];	double Aggr_amt;	EXEC SQL END DECLARE SECTION;	memset(Cid, 0, sizeof(Cid));	strcpy(Cid, cid);	memset(Account, 0, sizeof(Account));	strcpy(Account, account);	Aggr_amt = amt;	EXEC SQL UPDATE ps_acc_reg		 SET    limit_amt = limit_amt + :Aggr_amt 		 WHERE  cid = :Cid AND account = :Account;	/*if( sqlca.sqlcode ) return sqlca.sqlcode;*/	if ( sqlca.sqlcode < 0 || sqlca.sqlerrd[ 2] == 0 ) 	{		bms_trace("sqlca.sqlerrd[%d]",sqlca.sqlerrd[2]);		return( sqlca.sqlcode);	}		return SUCCESS;}int DB_search_blist(char *caller, short *flag){	EXEC SQL BEGIN DECLARE SECTION;	char phone[50];	char tmp[50];	EXEC SQL END DECLARE SECTION;	memset(phone, 0, sizeof(phone));	strcpy(phone, caller);	memset(tmp, 0, sizeof(tmp));	EXEC SQL SELECT semail 		 INTO :tmp		 FROM tb_agent_blist		 WHERE semail = :phone;	fprintf(stdout, "[%s] sqlcode = [%d]\n", phone, sqlca.sqlcode);	if( sqlca.sqlcode < 0 ) return sqlca.sqlcode;	if( sqlca.sqlcode == 100 ) 	{		*flag = 0;	}	else	{		*flag = 1;	}	return SUCCESS;}int	 DB_search_person_info(int type, char *sonsign_no, char *cid){EXEC SQL BEGIN DECLARE SECTION;	char account[30];	char pCid[17];	char sonsign[32];EXEC SQL END DECLARE SECTION;	memset(sonsign, '\0', sizeof(sonsign));	memset(pCid, '\0', sizeof(pCid));	strcpy(sonsign, sonsign_no);	switch(type)	{		case 1:			strcpy(pCid, sonsign_no);			break;		case 2:EXEC SQL SELECT cid INTO :pCid FROM ps_acc_reg WHERE account = :sonsign;			if( sqlca.sqlcode < 0 ) return sqlca.sqlcode;			if( sqlca.sqlcode == 100 ) 			{				return FAILURE;			}			break;		case 3:EXEC SQL SELECT cid INTO :pCid FROM person_info WHERE ic_no = :sonsign;			if( sqlca.sqlcode < 0 ) 					return sqlca.sqlcode;			if( sqlca.sqlcode == 100 ) 					return FAILURE;			break;		default:			return FAILURE;			break;		}	pub_trim(pCid);strcpy(cid, pCid);return SUCCESS;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -