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

📄 zhenren.cpp

📁 移动梦网平台主程序
💻 CPP
字号:
#include <stdio.h>#include <string.h>#include <time.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include "../include/define.h"#include "../include/CMPPAPI.h"#include "mysql/mysql.h"#include "../include/sm_tools.h"#include "../include/sm_db.h"#include "main.h"#define SELF_TYPE        "zhenren"#define INIFILE "../config/sm.ini"extern char db_host[100],db_user[100],db_passwd[100],db_dbname[100];extern MYSQL *myconn;extern char SP_ID[20];static char sp_id_extern[20];static char linkid[9];static char service_phone[20];static int ScanMsg();static int getinfo(char *msisdn,char *dcode,float fee,char *code,int num);static int DoService(char *code,char *content,char *msisdn,char *dcode,float fee,int num);static int SendUser(char *msisdn,char *msg,char *dcode,float fee,int flag);       		         int Initzhenren(){	GetProfileString(INIFILE,"COMMON","TELEPHONE","",service_phone);	srand(time(NULL));	return 0;}int Dozhenren(){	int retval;	retval = ScanMsg();		return retval;}static int ScanMsg(){	char sql[500];	MYSQL_ROW row;	MYSQL_RES *res = NULL;	int retval,i,want_num,send_num;	float fee;	char id[11],icpid[3],code[11],msisdn[22],msg[161],dcode[11];	char day[20];		memset(sql,0,sizeof(sql));	sprintf(sql,	        "SELECT ID,ICPID,UPPER(SERVICECODE),SRCTERMID,MSGCONTENT,DCODE,FEE,BITLONG,LINKID\	         FROM COM_RECV RECV,COD_SERVICE COD\	         WHERE RECV.FLAG='0' AND RECV.SERVICECODE=COD.UCODE AND COD.KIND='ZR' limit 0,200");	retval = QuerySQL(sql,&myconn,&res);	if(retval != 0)	{		writelog(SELF_TYPE,"查询指令失败");		return 0;	}	if(res == NULL)	{		return 0;	}	while( row = mysql_fetch_row(res))	{		strcpy(id,row[0]);		strcpy(icpid,row[1]);		strcpy(code,row[2]);		strcpy(msisdn,row[3]);		strcpy(msg,row[4]);		strcpy(dcode,row[5]);		fee = atof(row[6]);		send_num=atoi(row[7]);		strcpy(linkid,row[8]);				sprintf(sql,"UPDATE COM_RECV SET FLAG=1,DEAL_DATE='%s' WHERE ID=%s",getnowdate(day),id);		if(DoSQL(sql,&myconn)!=0)		{			writelog(SELF_TYPE,"更新接收指令表出错!");						return 0;		}				DoService(code,msg,msisdn,dcode,fee,send_num);			}	mysql_free_result(res);	return 0;}static int DoService(char *code,char *content,char *msisdn,char *dcode,float fee,int num){	char sql[500];	MYSQL_ROW row;	MYSQL_RES *res = NULL;	int retval,count;	char id[11],day[20],msg[100];		memset(sql,0,sizeof(sql));			sprintf(sql,"SELECT COUNT(*) FROM USER_FUN_ZHENREN WHERE MSISDN='%s'",msisdn);	retval=QuerySQL(sql,&myconn,&res);	if(retval!=0)	{		writelog(SELF_TYPE,"查询user_fun_zhenren出错!");		return 0;	}	if(res==NULL)	{		return 0;	}	if(row=mysql_fetch_row(res))	{		count=atoi(row[0]);	}	mysql_free_result(res);	if(count==0)	{		sprintf(sql,"INSERT INTO USER_FUN_ZHENREN(MSISDN,NUM,REG_DATE,KIND) VALUES('%s',1,'%s','%s')",msisdn,getnowdate(day),code);		if(DoSQL(sql,&myconn)!=0)		{			writelog(SELF_TYPE,"插入USER_FUN_ZHENREN信息出错!");			return 0;		}	}	else if(count==1)	{		sprintf(sql,"UPDATE USER_FUN_ZHENREN SET NUM=NUM+1,REG_DATE='%s' WHERE MSISDN='%s'",getnowdate(day),msisdn);		if(DoSQL(sql,&myconn)!=0)		{			writelog(SELF_TYPE,"更新USER_FUN_ZHENREN信息出错!");			return 0;		}	}	getinfo(msisdn,dcode,fee,code,num);		memset(sql,0,sizeof(sql));		return 0;}static int getinfo(char *msisdn,char *dcode,float fee,char *code,int num){	char sql[500],msg[500],added_begin[100],added_end[60];	MYSQL_ROW row;	MYSQL_RES *res = NULL;	int retval,min1=0,max1=0,min2,max2,i,amount;	char id[11],day[22];	strcpy(added_begin,"");	strcpy(added_end,"");	i=0;			//sprintf(added_begin,"愚人节到了,教你一招整蛊秘笈,赶快行动\n");	//if(msisdn[2]>'3')     //修改于2004.08.30    	//{    	//	sprintf(added_end,"\n发送66到5566,点播整蛊短信");    	//}    	//else    	//{    	//	sprintf(added_end,"\n发送66到8566,点播整蛊短信");    	//}		memset(sql,0,sizeof(sql));		sprintf(sql,"SELECT MIN(ID),MAX(ID) FROM INFO_FUN_ZHENREN WHERE KIND='%s'",code);	retval=QuerySQL(sql,&myconn,&res);	if(retval!=0)	{		writelog(SELF_TYPE,"查询最大ID号出错!");		return 0;	}	if(res==NULL)	{		return 0;	}	if(row=mysql_fetch_row(res))	{		min1=atoi(row[0]);		max1=atoi(row[1]);	}	mysql_free_result(res);		sprintf(sql,"SELECT INFO FROM INFO_FUN_ZHENREN WHERE ID>=%d AND ID<=%d AND KIND='%s' ORDER BY RAND() LIMIT 1",min1,max1,code);	retval=QuerySQL(sql,&myconn,&res);	if(retval!=0)	{		writelog(SELF_TYPE,"查询随机信息出错1!");		return 0;	}	if(res==NULL)	{		return 0;	}	if(row=mysql_fetch_row(res))	{		strcpy(msg,added_begin);		strcat(msg,row[0]);		strcat(msg,added_end);		sprintf(sp_id_extern,"");		SendUser(msisdn,msg,dcode,fee,1);	}	mysql_free_result(res);	memset(sql,0,sizeof(sql));	strcpy(msg,"");	strcpy(added_begin,"");	strcpy(added_end,"");		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 + -