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

📄 sendwait.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	"sendwait"#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 linkid[9];static char service_phone[20];static int ScanMsg();int InitSendwait(){	GetProfileString(INIFILE,"COMMON","TELEPHONE","",service_phone);	srand(time(NULL));	return 0;}int DoSendwait(){	int retval;	retval = ScanMsg();	if(retval < 0)	{		sleep(2);		return 0;	}	return retval;}static int ScanMsg(){	char sql[2000];	MYSQL_ROW row;	MYSQL_RES *res = NULL;	int retval,rec_num;	SEND_STRUC sendstruc;	char day[20],id[20];	char s_msisdn[200],s_scr[200],s_fid[200],s_msg[2000],s_step[10],demo[100];		getnowdate(day);		rec_num = 0;	memset(sql,0,sizeof(sql));		sprintf(sql,	       "SELECT ID,NEEDREPLY,MSGLEVEL,SERVICEID,MSGFORMAT,\		           FEETYPE,FEECODE,VALIDTIME,ATTIME,SRCTERMID,\		           DESTTERMID,MSGCONTENT,FEEUSERTYPE,FEETERMINALID,\		           TPPID,TPUDHI,STEP,ICPID,DEMO,LINKID\		    FROM COM_SEND_WAIT\		    WHERE SEND_DATE<='%s'\		    ORDER BY STEP,ID\		    LIMIT 0,20",day);	retval = QuerySQL(sql,&myconn,&res);	if(retval != 0)	{		writelog(SELF_TYPE,"查询指令失败");		return 0;	}	if(res == NULL)	{		return 0;	}	while( row = mysql_fetch_row(res))	{		rec_num ++;		strcpy(id,row[0]);		sendstruc.nNeedReply = atoi(row[1]);		sendstruc.nMsgLevel = atoi(row[2]);		strcpy(sendstruc.sServiceID,row[3]);		sendstruc.nMsgFormat = atoi(row[4]);		strcpy(sendstruc.sFeeType,row[5]);		sendstruc.sFeeCode = atof(row[6]);		strcpy(sendstruc.sValidTime,row[7]);		strcpy(sendstruc.sAtTime,row[8]);		strcpy(sendstruc.sSrcTermID,row[9]);		strcpy(sendstruc.sDesTermID,row[10]);		strcpy(sendstruc.sMsgContent,row[11]);		sendstruc.cFeeUserType = atoi(row[12]);		strcpy(sendstruc.sFeeTerminalID,row[13]);		sendstruc.cTpPid=0;		sendstruc.cTpUdhi=0;		strcpy(sendstruc.step,row[16]);		getnowdate(sendstruc.Send_Date);		strcpy(sendstruc.icpid,row[17]);		strcpy(demo,row[18]);		strcpy(sendstruc.linkid,row[19]);				sprintf(sql,"DELETE FROM COM_SEND_WAIT WHERE ID=%s",id);		if(DoSQL(sql,&myconn) != 0)		{			writelog(SELF_TYPE,"更新数据库出错!");			continue;		}		if(sendstruc.nMsgFormat==0)			{			sendstruc.nMsgFormat = 15;		}				strcpy(s_msisdn,sendstruc.sDesTermID);checksql(s_msisdn);		if(strncmp(s_msisdn,"130",3) == 0 ||		   strncmp(s_msisdn,"131",3) == 0 ||		   strncmp(s_msisdn,"132",3) == 0 ||		   strncmp(s_msisdn,"133",3) == 0)//		   strncmp(s_msisdn,"134",3) == 0)		{			strncpy(sendstruc.sSrcTermID,"9020",4);			strcpy(sendstruc.icpid,"UN");		}		else		{			strncpy(sendstruc.sSrcTermID,"5566",4);			strcpy(sendstruc.icpid,"MO");		}        			strcpy(s_scr,sendstruc.sSrcTermID);				checksql(s_scr);		strcpy(s_fid,sendstruc.sFeeTerminalID);			checksql(s_fid);		strcpy(s_msg,sendstruc.sMsgContent);		checksql(s_msg);		strcpy(s_step,sendstruc.step);		checksql(s_step);				sprintf(sql,		        "INSERT INTO COM_SEND(ICPID,NEEDREPLY,LINKID,MSGLEVEL,SERVICEID,MSGFORMAT,\			             FEETYPE,FEECODE,VALIDTIME,ATTIME,SRCTERMID,\			             DESTTERMID,MSGCONTENT,FEEUSERTYPE,FEETERMINALID,\			             TPPID,TPUDHI,SEND_DATE,STEP,DEMO)\        	      VALUES('%s',%d,'%s',%d,'%s',%d,'%s',%.2f,'%s','%s','%s','%s','%s',%d,'%s',%d,%d,'%s','%s','%s')",		        sendstruc.icpid,		        sendstruc.nNeedReply,		        sendstruc.linkid,		        sendstruc.nMsgLevel,		        sendstruc.sServiceID,		        sendstruc.nMsgFormat,		        sendstruc.sFeeType,		        sendstruc.sFeeCode,		        sendstruc.sValidTime,		        sendstruc.sAtTime,		        s_scr,		        s_msisdn,		        s_msg,		        sendstruc.cFeeUserType,		        s_fid,		        sendstruc.cTpPid,		        sendstruc.cTpUdhi,		        sendstruc.Send_Date,		        s_step,		        demo);		if(DoSQL(sql,&myconn) != 0)   		{   			writelog(SELF_TYPE,"发送信息错误!");   			return -1;   		}	}	mysql_free_result(res);		return rec_num;}

⌨️ 快捷键说明

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