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

📄 chance_new.cpp

📁 移动梦网平台主程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
#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"#define SELF_TYPE	"chance_new"#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 int ScanMsg();static int ScanMsgSession();static int haveuser(char *msisdn);static int havefriend(char *id);static int haverandfriend();static int DoService(char *code,char *ocode,char *content,char *msisdn,char *dcode,float fee);static int SendUser(char *msisdn,char *msg,char *dcode,float fee,int flag);static char g_id[20],g_msisdn[20],g_nickname[20];static int g_recv_num,g_send_num;static char g_oid[20],g_omsisdn[20],g_onickname[20];static int maxid;static char sp_id_extern[20];static char service_phone[20];static char linkid[9];int InitChance_new(){	GetProfileString(INIFILE,"COMMON","TELEPHONE","",service_phone);	srand(time(NULL));	return 0;}int DoChance_new(){	int retval;	retval = ScanMsg();	if(retval < 0)	{		sleep(2);		return 0;	}	retval = ScanMsgSession();		return retval;}static int getrand_num(int max_num){	float retval;	int i;		retval = (float)(rand())/(float)(RAND_MAX);	retval = retval * max_num;	i = (int)(retval);	if(i == 0) i = 1;		return i;}static int getid(){	MYSQL_ROW row;	MYSQL_RES *res = NULL;	char sql[500];	int id,retval;	sprintf(sql,"SELECT ID FROM USER_CHANCE_YF WHERE FLAG='4' ORDER BY ID LIMIT 1");	retval = QuerySQL(sql,&myconn,&res);	if(retval != 0)	{		writelog(SELF_TYPE,"查询一失败");		return 0;	}	if(res == NULL)	{		return 0;	}	if( row = mysql_fetch_row(res))	{		id=atoi(row[0]);	}	else	{		id = 0;	}	mysql_free_result(res);		return id;}//retval 0 - 出错//       1 - 注册免费//	 2 - 注册收费//       3 - 已退出//	 4 - 找不到//	 9 - 二次确认中static int haveuser(char *msisdn){	MYSQL_ROW row;	char sql[2000];	MYSQL_RES *res = NULL;	int retval,flag,free_flag;		memset(sql,0,sizeof(sql));	sprintf(sql,"SELECT IFNULL(MAX(ID),0) FROM USER_CHANCE_YF");	retval = QuerySQL(sql,&myconn,&res);	if(retval != 0)	{		writelog(SELF_TYPE,"查询男指令失败");		return 0;	}	if(res == NULL)	{		return 0;	}	if( row = mysql_fetch_row(res))	{		maxid = atoi(row[0]);	}	else	{		maxid = 0;	}	mysql_free_result(res);		sprintf(sql,"SELECT FLAG,ID,NICKNAME,IFNULL(RECV_NUM,0),IFNULL(SEND_NUM,0),FREE_FLAG FROM USER_CHANCE_YF WHERE MSISDN = '%s'",msisdn);	retval = QuerySQL(sql,&myconn,&res);	if(retval != 0)	{		writelog(SELF_TYPE,"查询指令失败");		return 0;	}	if(res == NULL)	{		return 0;	}	if(row = mysql_fetch_row(res))	{		flag = atoi(row[0]);		strcpy(g_id,row[1]);		strcpy(g_nickname,row[2]);		trim(g_nickname,' ');		if(strlen(g_nickname) == 0) 		strcpy(g_nickname,g_id);				g_recv_num = atoi(row[3]);		g_send_num = atoi(row[4]);		free_flag=atoi(row[5]);		mysql_free_result(res);		if(flag==1)		{			if(free_flag==1)			{				return 1;			}			else			{				return 2;			}		}		else if(flag==9)		{			return 9;		}		else		{			return 3;		}	}	else	{		mysql_free_result(res);		return 4;	}}//找对方号码//0 - 出错//1 - 没找到//其它 - 找到近似的static int haverandfriend(){	MYSQL_ROW row;	MYSQL_RES *res = NULL;	char sql[2000];	int retval;	sprintf(sql,"SELECT ID,NICKNAME,MSISDN FROM USER_CHANCE_YF WHERE FLAG='1' ORDER BY RAND() LIMIT 1");	retval = QuerySQL(sql,&myconn,&res);	if(retval != 0)	{		writelog(SELF_TYPE,"查询一个聊友失败");		return 0;	}	if(res == NULL)	{		return 0;	}	if( row = mysql_fetch_row(res))	{		strcpy(g_oid,row[0]);		strcpy(g_onickname,row[1]);		trim(g_onickname,' ');		strcpy(g_omsisdn,row[2]);		retval=atoi(g_oid);	}	else	{		retval = 1;	}	mysql_free_result(res);	return retval;}//找对方号码//0 - 找不到//1 - 找到static int havefriend(char *id){	MYSQL_ROW row;	MYSQL_RES *res = NULL;	char sql[2000];	int retval;	ltrim(id,'0');	sprintf(sql,"SELECT ID,NICKNAME,MSISDN FROM USER_CHANCE_YF WHERE ID=%s AND FLAG='1'",id);	retval = QuerySQL(sql,&myconn,&res);	if(retval != 0)	{		writelog(SELF_TYPE,"查询一个聊友失败");		return 0;	}	if(res == NULL)	{		return 0;	}	if( row = mysql_fetch_row(res))	{		strcpy(g_oid,row[0]);		strcpy(g_onickname,row[1]);		trim(g_onickname,' ');		strcpy(g_omsisdn,row[2]);		if(strcmp(g_oid,id) == 0)		{			retval = 1;		}		else		{			retval = 2;		}		if(strlen(g_onickname) == 0)		{			strcpy(g_onickname,g_oid);		}	}	else	{		retval = 0;	}	mysql_free_result(res);	return retval;}static int ScanMsg(){	char sql[2000];	MYSQL_ROW row;	MYSQL_RES *res = NULL;	int retval,i,retval_reg;	float fee,fee_mon,bitlong,state;	int feetype;	char id[11],icpid[3],code[11],msisdn[22],dcode[11];	char day[20];	char msg[500];		memset(sql,0,sizeof(sql));		sprintf(sql,	        "SELECT ID,ICPID,UPPER(SERVICECODE),SRCTERMID,DCODE,FEE_MON,LINKID,BITLONG	         FROM COM_RECV RECV,COD_SERVICE COD	         WHERE RECV.FLAG='0' AND RECV.SERVICECODE=COD.UCODE AND COD.KIND='YY' limit 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(dcode,row[4]);		fee = atof(row[5]);		strcpy(linkid,row[6]);		bitlong = atoi(row[7]);				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,"更新recv接受指令表出错!");			return 0;		}		retval = haveuser(msisdn);		if(strcmp(code,"YFCX") == 0)		{			if(retval == 1)			{				if(msisdn[2]>'3')         //修改于2004.08.30				{					sprintf(msg,"您的昵称:%s,编号:%s,共收到聊天信息%d条,发送聊天信息%d条.如果您要修改昵称,请将昵称发到556600002即可!",			        		g_nickname,g_id,g_recv_num,g_send_num);			    	}			    	else			    	{					sprintf(msg,"您的昵称:%s,编号:%s,共收到聊天信息%d条,发送聊天信息%d条.如果您要修改昵称,请将昵称发到902000002即可!",			        		g_nickname,g_id,g_recv_num,g_send_num);			    	}				strcpy(sp_id_extern,"");				SendUser(msisdn,msg,dcode,fee,2);			}        		}		else if(strcmp(code,"TCYF") == 0||strcmp(code,"+TUICHUYF") == 0)		{			retval = haveuser(msisdn);			switch(retval)			{			case 1:			case 2:				sprintf(sql,"UPDATE USER_CHANCE_YF SET FLAG='0',CANCEL_DATE='%s',POINT_CHANNEL='4',FTP_FLAG='0' WHERE MSISDN='%s' AND FLAG='1'",getnowdate(day),msisdn);				if(DoSQL(sql,&myconn) != 0)				{					writelog(SELF_TYPE,"删除用户消息表出错!");					return 0;				}				sprintf(msg,"您的资料删除成功,感谢您的参与!");				sprintf(sp_id_extern,"");				SendUser(msisdn,msg,dcode,fee,9);		//取消				break;			default:				sprintf(msg,"您还没注册过,所以不必退出!如需帮助,请拨服务热线%s",service_phone);				sprintf(sp_id_extern,"");				SendUser(msisdn,msg,dcode,fee,0);				break;			}		}		else		{			switch(retval)			{			case 1:			case 2:				if(msisdn[2]>'3')            //修改于2004.08.30				{					sprintf(msg,"在线的用户有:%d人,把您想说的话发到556600004+编号,例如找第8位聊友(从1开始编号),则发信息到5566000048即可",maxid);				}				else				{					sprintf(msg,"在线的用户有:%d人,把您想说的话发到902000004+编号,例如找第8位聊友(从1开始编号),则发信息到9020000048即可",maxid);				}				sprintf(sp_id_extern,"00004%d",haverandfriend());				SendUser(msisdn,msg,dcode,fee,2);				break;			case 3:		//退出了				if(bitlong==0)			//不要二次确认				{					sprintf(sql,"UPDATE USER_CHANCE_YF SET REG_DATE='%s',FLAG='1',FREE_FLAG='0',MONTH_FLAG='0' 						WHERE MSISDN='%s'",getnowdate(day),msisdn);					if(DoSQL(sql,&myconn) != 0)					{						writelog(SELF_TYPE,"新用户GG出错!");

⌨️ 快捷键说明

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