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

📄 cngp.c

📁 增值业务的sngp协议。
💻 C
📖 第 1 页 / 共 5 页
字号:
		strcat(query_string,row[32]);	//ss_reg_gateway
		strcat(query_string,"','");
		strcat(query_string,row[33]);	//ss_reg_from
		strcat(query_string,"','");
		strcat(query_string,content);	//ss_content
		strcat(query_string,"','");
		strcat(query_string,row[32]);	//ss_gateway
		strcat(query_string,"')");
		
		strcat(deletequery, query_string);
		strcat(deletequery, ",");
		n++;
		memset(query_string, 0, 1024);
		if(n ==0)
			strcpy(deleteids,row[0]);
		else
			strcat(deleteids,row[0]);
		if(n < allrow-1)
		{
			strcat(deleteids, ",");
		}
	}
}

int InsertData( MYSQL_ROW row1, char *state )
{
	char query_string[1024];
	char smscontent[1024];
	int ii=0;
	char send_log[128];
	char send_smc[128];
	time_t t;
	struct tm *time_buf;
	char now_date[32];

	t = time(NULL);
	time_buf = localtime(&t);
	memset(now_date, 0, sizeof(now_date));
	sprintf(now_date, "%04d%02d%02d", time_buf->tm_year+1900, time_buf->tm_mon+1, time_buf->tm_mday);
	memset(send_log, 0, sizeof(send_log));
	memset(send_smc, 0, sizeof(send_smc));
	sprintf(send_log, "send_log_%s", now_date);
	sprintf(send_smc, "send_smc_%s", now_date);
	INFO("TEST: send_log:%s, send_smc:%s\n" , send_log, send_smc);
	
	memset(query_string,0,1024);
	if(atoi(row1[8]) ==0 && atoi(row1[14]) != 10)
	{ 
		sprintf(query_string, "insert into %s.%s values('", send_q_db, send_log);
		strcat(query_string, row1[1]); // sl_service_code
		strcat(query_string,"','");		
		memset(smscontent,0,1024);
//		memcpy(smscontent, row1[7], strlen(row1[7])); // sl_sms_conent
//		ReplaceString(smscontent,"'","\\'",strlen(smscontent));
		mysql_escape_string(smscontent, row1[7], strlen(row1[7]));
		strcat(query_string, smscontent);
		strcat(query_string, "','");
		strcat(query_string, row1[11]); // sl_mobile
		strcat(query_string, "',now(),'"); // sl_date
		strcat(query_string, row1[12]); // sl_sender
		strcat(query_string, "','");
		strcat(query_string, row1[17]); // sl_provider
		strcat(query_string, "','");
		strcat(query_string, row1[18]); // sl_province
		strcat(query_string, "','");
		strcat(query_string, row1[13]); // sl_fee_mobile
		strcat(query_string, "','");
		strcat(query_string, row1[14]); // sl_msg_type
		strcat(query_string, "','");	
		strcat(query_string, row1[15]); // sl_channel_name
		strcat(query_string, "','");
		strcat(query_string, row1[16]); // sl_content_id
		strcat(query_string, "','");
		strcat(query_string, row1[20]); // sl_send_time
		strcat(query_string, "','");
		strcat(query_string, row1[19]); // sl_sms_scheduletime
		strcat(query_string, "','");
		strcat(query_string, row1[4]); // sl_fee_type
		strcat(query_string, "','");
		strcat(query_string, row1[5]); // sl_fee_code
		strcat(query_string, "','");
		strcat(query_string, state); // sl_stat,success
		strcat(query_string, "','");
		strcat(query_string, row1[24]); // sl_linkid, New!!!
		strcat(query_string, "','");
		strcat(query_string, row1[23]);	//sl_submit_time
		strcat(query_string, "','");
		strcat(query_string, row1[25]);	//sl_jf_code
		strcat(query_string, "','");
		strcat(query_string, row1[26]);	//sl_product
		strcat(query_string, "','");
		strcat(query_string, row1[27]);	//sl_zone_province
		strcat(query_string, "','");
		strcat(query_string, row1[28]);	//sl_zone_city
		strcat(query_string, "','");
		strcat(query_string, row1[29]);	//sl_from 
		strcat(query_string, "','");
		strcat(query_string, row1[30]);	//sl_wamid
		strcat(query_string, "','");
		strcat(query_string, row1[31]);	//sl_reg_cmd
		strcat(query_string, "','");
		strcat(query_string, row1[32]);	//sl_reg_gateway
		strcat(query_string, "','");
		strcat(query_string, row1[33]);	//sl_reg_from
		strcat(query_string,"')");
	
	}
	else if(atoi(row1[8]) ==0 && atoi(row1[14]) == 10)
	{ // smc
		memset(smscontent,0,1024);
//		memcpy(smscontent, row1[7], strlen(row1[7])); // ss_content
//		ReplaceString(smscontent,"'","\\'",strlen(smscontent));
		mysql_escape_string(smscontent, row1[7], strlen(row1[7]));
		sprintf(query_string, "insert into %s.%s values('", send_q_db, send_smc);
		strcat(query_string, row1[1]); // ss_service_code
		strcat(query_string, "','");
		strcat(query_string, row1[11]); // ss_mobile
		strcat(query_string, "',now(),'"); // ss_date
		strcat(query_string, row1[17]); // ss_provider
		strcat(query_string, "','");
		strcat(query_string, row1[5]); // ss_fee_code
		strcat(query_string,"','");
		strcat(query_string,row1[23]);//ss_submit_time
		strcat(query_string,"',");
		strcat(query_string,row1[2]);//ss_num
		strcat(query_string,",'");
		strcat(query_string,state);
		strcat(query_string,"','");
		strcat(query_string,row1[25]);	//ss_jf_code
		strcat(query_string,"', '0', '");
		strcat(query_string,row1[26]);	//ss_product_name
		strcat(query_string,"','");
		strcat(query_string,row1[27]);	//ss_zone_province
		strcat(query_string,"','");
		strcat(query_string,row1[28]);	//ss_zone_city
		strcat(query_string,"','");
		strcat(query_string,row1[29]);	//ss_from
		strcat(query_string,"','");
		strcat(query_string,row1[31]);	//ss_reg_cmd
		strcat(query_string,"','");
		strcat(query_string,row1[32]);	//ss_reg_gateway
		strcat(query_string,"','");
		strcat(query_string,row1[33]);	//ss_reg_from
		strcat(query_string,"','");
		strcat(query_string,smscontent);	//ss_content
		strcat(query_string,"','");
		strcat(query_string,row1[32]);	//ss_gateway
		strcat(query_string,"')");

	} 
	else if(strncmp(row1[8], "1", 1) == 0 || strncmp(row1[8], "2", 1) == 0 )
	{ // picture or ringtone
		sprintf(query_string, "insert into %s.%s values('", send_q_db, send_log);
		strcat(query_string, row1[1]); // sl_service_code
		strcat(query_string,"','");
		strcat(query_string, row1[8]); // type
		strcat(query_string, "','");
		strcat(query_string, row1[11]); // sl_mobile
		strcat(query_string, "',now(),'"); // sl_date
		strcat(query_string, row1[12]); // sl_sender
		strcat(query_string, "','");
		strcat(query_string, row1[17]); // sl_provider
		strcat(query_string, "','");
		strcat(query_string, row1[18]); // sl_province
		strcat(query_string, "','");
		strcat(query_string, row1[13]); // sl_fee_mobile
		strcat(query_string, "','");
		strcat(query_string, row1[14]); // sl_msg_type
		strcat(query_string, "','");	
		strcat(query_string, row1[15]); // sl_channel_name
		strcat(query_string, "','");
		strcat(query_string, row1[16]); // sl_content_id
		strcat(query_string, "','");
		strcat(query_string, row1[20]); // sl_send_time
		strcat(query_string, "','");
		strcat(query_string, row1[19]); // sl_sms_scheduletime
		strcat(query_string, "','");
		strcat(query_string, row1[4]); // sl_fee_type
		strcat(query_string, "','");
		strcat(query_string, row1[5]); // sl_fee_code
		strcat(query_string, "','");
		strcat(query_string, state); // sl_stat,success
		strcat(query_string, "','");
		strcat(query_string, row1[24]); // sl_linkid, New!!!
		strcat(query_string, "','");
		strcat(query_string, row1[23]);	//sl_submit_time
		strcat(query_string, "','");
		strcat(query_string, row1[25]);	//sl_jf_code
		strcat(query_string, "','");
		strcat(query_string, row1[26]);	//sl_product
		strcat(query_string, "','");
		strcat(query_string, row1[27]);	//sl_zone_province
		strcat(query_string, "','");
		strcat(query_string, row1[28]);	//sl_zone_city
		strcat(query_string, "','");
		strcat(query_string, row1[29]);	//sl_from 
		strcat(query_string, "','");
		strcat(query_string, row1[30]);	//sl_wamid
		strcat(query_string, "','");
		strcat(query_string, row1[31]);	//sl_reg_cmd
		strcat(query_string, "','");
		strcat(query_string, row1[32]);	//sl_reg_gateway
		strcat(query_string, "','");
		strcat(query_string, row1[33]);	//sl_reg_from
		strcat(query_string,"')");
	}
	else {
		sprintf(query_string, "insert into %s.%s values('", send_q_db, send_log);
		strcat(query_string, row1[1]); // sl_service_code
		strcat(query_string,"','");		
		memset(smscontent,0,1024);
//		memcpy(smscontent, row1[7], strlen(row1[7])); // sl_sms_conent
//		ReplaceString(smscontent,"'","\\'",strlen(smscontent));
		mysql_escape_string(smscontent, row1[7], strlen(row1[7]));
		strcat(query_string, smscontent);
		strcat(query_string, "','");
		strcat(query_string, row1[11]); // sl_mobile
		strcat(query_string, "',now(),'"); // sl_date
		strcat(query_string, row1[12]); // sl_sender
		strcat(query_string, "','");
		strcat(query_string, row1[17]); // sl_provider
		strcat(query_string, "','");
		strcat(query_string, row1[18]); // sl_province
		strcat(query_string, "','");
		strcat(query_string, row1[13]); // sl_fee_mobile
		strcat(query_string, "','");
		strcat(query_string, row1[14]); // sl_msg_type
		strcat(query_string, "','");	
		strcat(query_string, row1[15]); // sl_channel_name
		strcat(query_string, "','");
		strcat(query_string, row1[16]); // sl_content_id
		strcat(query_string, "','");
		strcat(query_string, row1[20]); // sl_send_time
		strcat(query_string, "','");
		strcat(query_string, row1[19]); // sl_sms_scheduletime
		strcat(query_string, "','");
		strcat(query_string, row1[4]); // sl_fee_type
		strcat(query_string, "','");
		strcat(query_string, row1[5]); // sl_fee_code
		strcat(query_string, "','");
		strcat(query_string, state); // sl_stat,success
		strcat(query_string, "','");
		strcat(query_string, row1[24]); // sl_linkid, New!!!
		strcat(query_string, "','");
		strcat(query_string, row1[23]);	//sl_submit_time
		strcat(query_string, "','");
		strcat(query_string, row1[25]);	//sl_jf_code
		strcat(query_string, "','");
		strcat(query_string, row1[26]);	//sl_product
		strcat(query_string, "','");
		strcat(query_string, row1[27]);	//sl_zone_province
		strcat(query_string, "','");
		strcat(query_string, row1[28]);	//sl_zone_city
		strcat(query_string, "','");
		strcat(query_string, row1[29]);	//sl_from 
		strcat(query_string, "','");
		strcat(query_string, row1[30]);	//sl_wamid
		strcat(query_string, "','");
		strcat(query_string, row1[31]);	//sl_reg_cmd
		strcat(query_string, "','");
		strcat(query_string, row1[32]);	//sl_reg_gateway
		strcat(query_string, "','");
		strcat(query_string, row1[33]);	//sl_reg_from
		strcat(query_string,"')");
	}
	INFO("[INFO-MAIN] query string = %s\n",query_string);
	ii=mysql_real_query(&fsql_main,query_string,strlen(query_string));
	if(ii !=0)
	{
		INFO("[INFO] ERROR:mysql_real_query :%s\n", mysql_error(&fsql_main));
	}
	else
		INFO("[INFO] INSERT:mysql_affected_rows:%d\n", mysql_affected_rows(&fsql_main) );
}


int Ismp_Cngp_Syncpack_Parse(
                             char *SyncPack,    char *CommandPack, char *SpId, char *FeeUser, 
                             char *OccupyUser,  char *ServiceCode, char *QuxiaoFlag, 
                             char *ReverseMsgId,char *ErrorCode,   char *ValidateCode)
{  
	int offset=0;
    	char temp1[120];
    	char temp2[120];

	memset(temp1,0,120);
    	memset(temp2,0,120);
    	INFO( "[INFO]: sync pack = %s\n",SyncPack);    	
    	if( strncmp(SyncPack,"SP_",3)==0 || strncmp(SyncPack,"SP ",3)==0 )
    	{
    		if( strstr(SyncPack," SD=") !=NULL && SpId!=NULL)
    		{
            		strcpy(temp1,strstr(SyncPack," SD="));
    	    		strcpy(temp2,strchr(temp1+4,' '));
    	    		offset=strlen(temp1+4)-strlen(temp2);
    	    		memcpy(SpId,temp1+4,offset);               //SpId
    	    		SpId[offset]='\0';
    		}
    		if( strstr(SyncPack," FA=") !=NULL && FeeUser!=NULL)
    		{
            		strcpy(temp1,strstr(SyncPack," FA="));
    	    		strcpy(temp2,strchr(temp1+4,' '));
    	    		offset=strlen(temp1+4)-strlen(temp2);
    	    		memcpy(FeeUser,temp1+4,offset);            //FeeUser
    	    		FeeUser[offset]='\0';
    		}
    		if( strstr(SyncPack," DA=") !=NULL && OccupyUser!=NULL)
    		{
    	    		strcpy(temp1,strstr(SyncPack," DA="));
    	    		strcpy(temp2,strchr(temp1+4,' '));
    	    		offset=strlen(temp1+4)-strlen(temp2);
    	    		memcpy(OccupyUser,temp1+4,offset);         //OccupyUser
    	    		OccupyUser[offset]='\0';
    		}
    		if( strstr(SyncPack," ID=") !=NULL && ReverseMsgId!=NULL)
    		{
            		strcpy(temp1,strstr(SyncPack," ID="));
    	    		strcpy(temp2,strchr(temp1+4,' '));
            		offset=strlen(temp1+4)-strlen(temp2);
    	    		memcpy(ReverseMsgId,temp1+4,offset);        //ReverseMsgId
    	    		ReverseMsgId[offset]='\0';
    		}
    		if( strstr(SyncPack," EC=")!=NULL && ErrorCode!=NULL)
    		{
    	    		strcpy(ErrorCode,strstr(SyncPack," EC=")+4);        //ErrorCode
    		}
    		if( strstr(SyncPack," AD=")!=NULL && ValidateCode!=NULL)
    		{
    	    		strcpy(ValidateCode,strstr(SyncPack," AD=")+4);        //ValidateCode
    		}    		 
    		if( strncmp(SyncPack,"SP_ZXQX",7)==0 || strncmp(SyncPack,"SP ZXQX",7)==0 )
    		{
    	    		strncpy(CommandPack,SyncPack,7);                       //CommandPack
    	    		if( strstr(SyncPack," SV=") !=NULL && ServiceCode!=NULL)
    	    		{
    	    			strcpy(temp1,strstr(SyncPack," SV="));
    	        		strcpy(temp2,strchr(temp1+4,' '));
    	        		offset=strlen(temp1+4)-strlen(temp2);
    	        		memcpy(ServiceCode,temp1+4,offset);        //ServiceCode
    	        		ServiceCode[offset]='\0';
    	    		}
    	    		if( strstr(SyncPack," QF=") !=NULL && QuxiaoFlag!=NULL)
    	    		{
    	    			strcpy(QuxiaoFlag,strstr(SyncPack," QF=")+4);          //QuxiaoFlag
    	    		}
    		}
    		else
    		{
    	    		if( strstr(SyncPack," SV=")!=NULL && ServiceCode!=NULL)
    	    		{
    	        		strcpy(ServiceCode,strstr(SyncPack," SV=")+4);        //ServiceCode
    	    		}
    	    		if(!strncmp(SyncPack,"SP_DB I",7))
    	    		{
                		strncpy(CommandPack,SyncPack,5);                      //SP_DB
            		}
            		else if(!strncmp(SyncPack,"SP_DBJG",7))
    	    		{
                		strncpy(CommandPack,SyncPack,7);                      //SP_DBJG
            		}
    	    		else if(!strncmp(SyncPack,"SP_DBQQ I",9))
            		{
                		strncpy(CommandPack,SyncPack,7);                      //SP_DBQQ
            		}
            		else if(!strncmp(SyncPack,"SP_DBQQJG",9))                 //SP_DBQQJG
            		{
            			strncpy(CommandPack,SyncPack,9);
            		}
            		else if(!strncmp(SyncPack,"SP_DZ I",7))                 //SP_DZ
            		{

⌨️ 快捷键说明

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