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

📄 point.cpp

📁 移动梦网平台主程序
💻 CPP
📖 第 1 页 / 共 3 页
字号:
	   						{	   							sprintf(msg,"您未定制由南京宁网公司提供的短信业务.感谢您使用我们的短信服务!咨询电话%s",service_phone);	   						}	   						else	   						{	   							sprintf(msg,"您未定制由南京宁网公司提供的短信业务.感谢您使用我们的短信服务!咨询电话%s",service_phone);	   						}	   					}	   					else	   					{   						   						while(row = mysql_fetch_row(res))	   						{	   							count ++;	   							sprintf(msg,"您已成功取消%s,感谢您使用我们的短信服务!咨询电话%s",row[0],service_phone);	   							sprintf(sp_id_extern,"");	   							SendUser(msisdn,msg,dcode,fee,9);	//取消包	   						}			   						mysql_free_result(res);	   					}	   					strcpy(buf_num,"");	   				}	   				for (i=0;i<table_num;i++)		    			{		    				sprintf(sql,"UPDATE %s SET FLAG='0',CANCEL_DATE='%s_all'\		    						WHERE FLAG='1' AND MSISDN='%s'",*(table_name+i),getnowdate(day),checksql(msisdn));		    				retval = DoSQL(sql,&myconn);		   				if(retval != 0)	   					{	   						writelog(SELF_TYPE,"取消全部业务出错!");	   						return 0;	   					}	   				}	   				if(count == 0)	   				{	   					sprintf(msg,"您未定制由南京宁网公司提供的短信业务.感谢您使用我们的短信服务!咨询电话%s",service_phone);	   					sprintf(sp_id_extern,"");	   					SendUser(msisdn,msg,dcode,fee,1);	//点播下发代码0000	   				}				}	   			else   // 取消单个业务QX?	   			{					strncpy(buf,msg+2,strlen(msg)-2); 					buf[strlen(msg)-2] = '\0';										table_num=have_usertable(table_name);		//取得取消的所有表的表名及个数	    				for (i=0;i<table_num;i++)	    				{	    					if(strcmp(*(table_name+i),"USER_POINT_PR")==0)    						{    							sprintf(sql,"SELECT MODE,NAME FROM %s 								WHERE MSISDN='%s' AND FLAG='1'",*(table_name+i),checksql(msisdn));    						}    						else    						{    							sprintf(sql,"SELECT POINT.SV_CODE,COD.NAME FROM %s POINT,COD_SERVICE COD 								WHERE POINT.SV_CODE=COD.UCODE AND POINT.FLAG='1' AND POINT.MSISDN='%s'",*(table_name+i),checksql(msisdn));						}						retval = QuerySQL(sql,&myconn,&res1);						if(retval != 0)   						{   							writelog(SELF_TYPE,"查询单个业务出错!");   							continue;   						}   						if(res1 == NULL)   						{	   						sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);	   						sprintf(sp_id_extern,"");    				    			SendUser(msisdn,msg,dcode,fee,0);	//错误							continue;   						}	        				while( row = mysql_fetch_row(res1))	       					{            						strcpy(tmpbuf,row[0]);            						strcpy(code_name,row[1]);                		                	j=j+1;                		                	if(j==atoi(buf))                		                	{                		                		strcpy(table_name_buf,*(table_name+i));                		                		strcpy(code_name_buf,code_name);                		                		if(strcmp(*(table_name+i),"USER_POINT_PR")==0)    								{    									strcpy(mode_buf,tmpbuf);    									mode=1;    								}    								else    								{    									strcpy(code_buf,tmpbuf);    								}                		                		k=j;                		                		break;                		                	}                		                }                		                mysql_free_result(res1);                		                strcpy(tmpbuf,"");                		                                		        }                		        if(k==atoi(buf)) 				        { 				        	if(mode==1) 				        	{ 				        		sprintf(sql,"UPDATE %s SET FLAG='0',CANCEL_DATE='%s',POINT_CHANNEL='4',FTP_FLAG='0' 				        			 WHERE FLAG='1' AND MSISDN='%s' AND MODE='%s'", 				        			 table_name_buf,getnowdate(day),checksql(msisdn),mode_buf); 				        	} 				        	else 				        	{ 				        		sprintf(sql,"UPDATE %s SET FLAG='0',CANCEL_DATE='%s',POINT_CHANNEL='4',FTP_FLAG='0'	        						WHERE FLAG='1' AND MSISDN='%s' AND SV_CODE='%s'",	        						table_name_buf,getnowdate(day),checksql(msisdn),code_buf);	        				}	        				retval = DoSQL(sql,&myconn);	    					if(retval != 0)	    					{	    						writelog(SELF_TYPE,"取消单个业务出错!");	    					}   	    					else	    					{	    						sprintf(msg,"您已经成功取消了定制业务%s,从现在起,本栏目不再收取任何费用.感谢您使用我们的短信服务!咨询电话%s",code_name_buf,service_phone);	    						sprintf(sp_id_extern,"");	    						SendUser(msisdn,msg,dcode,fee,9);	//取消包	     					}	    				}	    				else	    				{	            					sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);            					sprintf(sp_id_extern,""); 				        	SendUser(msisdn,msg,dcode,fee,0);	//错误	    				}    				}    			}    			else    			{    				//二次确认    				DoMonthly_custom(msisdn,code,ocode,msg,dcode,feetype,fee);    			}    			    		}    		else			//移动公司代取消    		{    			if(strncmp(msg,"QX",2) != 0)			{   				sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);   				sprintf(sp_id_extern,""); 			        SendUser(msisdn,msg,dcode,fee,0);	//错误				continue;			}			if(strncmp(msg,"QX0",3)==0)			{				strncpy(msisdn_buf,msg+3,11);				msisdn_buf[11]='\0';				if(strncmp(msisdn_buf,"13",2)!=0)				{					sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);					sprintf(sp_id_extern,""); 			        	SendUser(msisdn,msg,dcode,fee,0);	//错误					continue;				}	    			table_num=have_usertable(table_name);		//取得取消的所有表的表名及个数	    			for (i=0;i<table_num;i++)	    			{	    				sprintf(sql,"UPDATE %s SET FLAG='0',CANCEL_DATE='%sd',POINT_CHANNEL='4',FTP_FLAG='0'	    						WHERE FLAG='1' AND MSISDN='%s'",*(table_name+i),day,checksql(msisdn_buf));	    				retval = DoSQL(sql,&myconn);	   				if(retval != 0)   					{   						writelog(SELF_TYPE,"移动代取消全部业务出错!");   						return 0;   					}   				}   				sprintf(msg,"您已代用户%s成功取消由南京宁网公司提供的所有服务.感谢您使用我们的短信服务!咨询%s",msisdn_buf,service_phone);     				sprintf(sp_id_extern,""); 			        SendUser(msisdn,msg,dcode,fee,9);	//取消包		//不对的			}	   		else   /* 取消单个业务QX? */	   		{	   			strncpy(msisdn_buf,msg+strlen(msg)-11,11);	   			msisdn_buf[11]='\0';				if(strncmp(msisdn_buf,"13",2)!=0)				{					sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);					sprintf(sp_id_extern,""); 			        	SendUser(msisdn,msg,dcode,fee,0);	//错误					continue;				}				strncpy(buf,msg+2,strlen(msg)-13); 				buf[strlen(msg)-13] = '\0';								table_num=have_usertable(table_name);		//取得取消的所有表的表名及个数	    			for (i=0;i<table_num;i++)	    			{	    				if(strcmp(*(table_name+i),"USER_POINT_PR")==0)    					{    						sprintf(sql,"SELECT MODE,NAME FROM %s 							WHERE MSISDN='%s' AND FLAG='1'",*(table_name+i),checksql(msisdn_buf));    					}    					else    					{    						sprintf(sql,"SELECT POINT.SV_CODE,COD.NAME FROM %s POINT,COD_SERVICE COD          							WHERE POINT.SV_CODE=COD.UCODE AND POINT.FLAG='1' AND POINT.MSISDN='%s'",*(table_name+i),checksql(msisdn_buf));					}					retval = QuerySQL(sql,&myconn,&res1);					if(retval != 0)   					{   						writelog(SELF_TYPE,"移动代查询单个业务出错!");   						continue;   					}   					if(res1 == NULL)   					{	   					sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);	   					sprintf(sp_id_extern,""); 			        		SendUser(msisdn,msg,dcode,fee,0);	//错误						continue;   					}	        			while( row = mysql_fetch_row(res1))	       				{            					strcpy(tmpbuf,row[0]);            					strcpy(code_name,row[1]);                	                	j=j+1;                	                	if(j==atoi(buf))                	                	{                	                		strcpy(table_name_buf,*(table_name+i));                	                		strcpy(code_name_buf,code_name);                	                		if(strcmp(*(table_name+i),"USER_POINT_PR")==0)    							{    								strcpy(mode_buf,tmpbuf);    								mode=1;    							}    							else    							{    								strcpy(code_buf,tmpbuf);    							}                	                		k=j;                	                		break;                	                	}                	                }                	                mysql_free_result(res1);                	                strcpy(tmpbuf,"");                	                                	        }                	        if(k==atoi(buf)) 			        { 			        	if(mode==1) 			        	{ 			        		sprintf(sql,"UPDATE %s SET FLAG='0',CANCEL_DATE='%sd',POINT_CHANNEL='4',FTP_FLAG='0' 			        			 WHERE FLAG='1' AND MSISDN='%s' AND MODE='%s'", 			        			 table_name_buf,day,checksql(msisdn_buf),mode_buf); 			        	} 			        	else 			        	{ 			        		sprintf(sql,"UPDATE %s SET FLAG='0',CANCEL_DATE='%sd',POINT_CHANNEL='4',FTP_FLAG='0'	        					WHERE FLAG='1' AND MSISDN='%s' AND SV_CODE='%s'",	        					table_name_buf,day,checksql(msisdn_buf),code_buf);	        			}	        			retval = DoSQL(sql,&myconn);	    				if(retval != 0)	    				{	    					writelog(SELF_TYPE,"移动代取消单个业务出错!");	    				}   	    				else	    				{	    					sprintf(msg,"您已代用户%s成功取消了%s,感谢您使用我们的短信服务!",msisdn_buf,code_name_buf);	    					sprintf(sp_id_extern,""); 			        		SendUser(msisdn,msg,dcode,fee,9);	//取消包		//不对的	     				}	    			}	    			else	    			{	            				sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);            				sprintf(sp_id_extern,""); 			        	SendUser(msisdn,msg,dcode,fee,0);	//错误	    			}    			}    		} 	}	mysql_free_result(res);	return 0;}static int DoMonthly_custom(char *msisdn,char *code,char *ocode,char *content,char *dcode,char *feetype,float fee){	char sql[2000];	int type,retval,len;	char day[20],buf[20],msg[500],name[100],sv_code[12],send_num[50];	MYSQL_RES *res = NULL;	MYSQL_ROW row;	strcpy(buf,ocode);	len = strlen(ocode);	if(len==0)	{		sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);		sprintf(sp_id_extern,"");		SendUser(msisdn,msg,dcode,fee,0);	//错误		return 0;	}	buf[len]='\0';	sprintf(sql,"SELECT UCODE,NAME,FEE_MON,DCODE,FEETYPE,SEND_NUM FROM COD_SERVICE WHERE PARTNER='%s'",buf);	retval = QuerySQL(sql,&myconn,&res);	if(retval != 0)	{		writelog(SELF_TYPE,"查询COD_SERVICE 二次确认时失败");		return 0;	}	if(res == NULL)	{		return 0;	}	if( row = mysql_fetch_row(res))	{		strcpy(sv_code,row[0]);		strcpy(name,row[1]);		fee=atof(row[2]);		strcpy(dcode,row[3]);		strcpy(feetype,row[4]);		strcpy(send_num,row[5]);		mysql_free_result(res);				if(strcmp(feetype,"03")!=0)		{			sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);			sprintf(sp_id_extern,"");			SendUser(msisdn,msg,dcode,fee,0);	//错误			return 0;		}					if(strcmp(content,"Y")!=0)		{			sprintf(msg,"您回复的字符不对,确认开通%s业务请回复Y",name);			sprintf(sp_id_extern,"012%s",buf);			SendUser(msisdn,msg,dcode,fee,0);	//错误			return 0;		}		sprintf(sql,"UPDATE USER_POINT SET FLAG='1',REG_DATE='%s',FREE_FLAG='0',MONTH_FLAG='0' WHERE MSISDN='%s' AND SV_CODE='%s' AND FLAG='9'",getnowdate(day),msisdn,sv_code);		if(DoSQL(sql,&myconn) != 0)		{			writelog(SELF_TYPE,"更新USER_POINT表FLAG=1出错!");			return 0;		}		sprintf(sp_id_extern,"");		if(mysql_affected_rows(myconn))		{			if(strcmp(feetype,"03")==0)			{				sprintf(msg,"您已经成功定制%s,感谢您使用我们的服务,资费%.2f元/月,发送频次:%s.退定:0000,咨询电话%s",name,fee,send_num,service_phone);							}		}		else		{			sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);			writelog(SELF_TYPE,"没有用户记录,用户回复SESSION!");		}		SendUser(msisdn,msg,dcode,fee,8);	//订购	}	else	{		mysql_free_result(res);		sprintf(msg,"您回复的代码有错误,请核实后再试,或直接拨打我们的客服热线:%s",service_phone);		sprintf(sp_id_extern,"");		SendUser(msisdn,msg,dcode,fee,0);		//错误	}	return 0;}static int SendUser(char *msisdn,char *msg,char *dcode,float fee,int flag){	SEND_STRUC sendstruc;	char buf[100];	memset(&sendstruc,0,sizeof(sendstruc));	strcpy(sendstruc.icpid,"MO");	sendstruc.nMsgLevel = 3;	strcpy(sendstruc.sServiceID,dcode);	sendstruc.nMsgFormat = MSG_FORMAT_ASCII;	strcpy(sendstruc.sValidTime,"");	strcpy(sendstruc.sAtTime,"");	strcpy(sendstruc.sSrcTermID,SP_ID);	strcat(sendstruc.sSrcTermID,sp_id_extern);	strcpy(sendstruc.sDesTermID,msisdn);	sendstruc.sFeeCode = fee;	sendstruc.cFeeUserType=0;	strcpy(sendstruc.sFeeTerminalID,"");	sendstruc.cTpPid = 0;	sendstruc.cTpUdhi = 0;	strcpy(sendstruc.step,"9");	getnowdate(sendstruc.Send_Date);	strcpy(sendstruc.sMsgContent,msg);	checksql(sendstruc.sMsgContent);	strcpy(sendstruc.linkid,linkid);		switch(flag)	{		case 0:		//免费、错误信息			strcpy(sendstruc.sServiceID,"ERROR");			strcpy(sendstruc.sFeeType,"01");			sendstruc.nNeedReply = 0;			break;		case 1:		//按条点播(收费)			strcpy(sendstruc.sFeeType,"02");			sendstruc.nNeedReply = 0;			break;		case 2:		//包月点播(不收费的)			strcpy(sendstruc.sFeeType,"03");			sendstruc.nNeedReply = 1;			break;		case 3:		//包月扣费			strcpy(sendstruc.sFeeType,"03");			sendstruc.nNeedReply = 2;			break;		case 8:		//定购成功包			strcpy(sendstruc.sFeeType,"08");			sendstruc.nNeedReply = 1;			break;		case 9:		//取消成功包			strcpy(sendstruc.sFeeType,"09");			sendstruc.nNeedReply = 1;			break;		default:	//其它						strcpy(sendstruc.sServiceID,"ERROR");			strcpy(sendstruc.sFeeType,"01");			sendstruc.nNeedReply = 0;			break;	}	SendMsg(&sendstruc,&myconn);	return 0;}

⌨️ 快捷键说明

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