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

📄 zxcl.cpp

📁 移动梦网平台主程序
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////////////////								最新潮流//////////////////////////////////////////////////////////////////////////////////////////								/////////////////////////////////////////////////////////////////////////////////////////说明://	(1) DCODE :ZXNY   FEE :15.00  //	(2) 9193   MSG: NY//										CL//						            06.07.27		///////////////////////////////////////////////////////////////////////////////////////	#include <stdio.h>#include <string.h>#include <stdlib.h>//#define  WINDOWS_NT#ifdef   WINDOWS_NT#include <winsock.h>#pragma comment (lib,"ws2_32.lib")#include  <mysql.h>#pragma comment(lib,"libmySQL.lib")#include "./include/define.h"#include "./include/sm_tools.h"#include "./include/sm_db.h"#define INIFILE "./config/sm.ini"#define sleep    Sleep#else#define  GetProfileStringMe GetProfileString#include <unistd.h>#include "mysql/mysql.h"#include "../include/define.h"#include "../include/sm_tools.h"#include "../include/sm_db.h" #define INIFILE "../config/sm.ini" #endif#define DEBUG  #define SELF_TYPE 	"zxcl"//来自main.cppextern MYSQL *myconn;                                   //主函数已经初始化,所有的模块共用一个长连接         extern char  SP_ID[24];               			//特服号,在这里是5566//只在本文件中所用的全局变量,用static 修饰:static char service_phone[24];      			//客服电话 static char linkid[32];static char msisdntype[4];static char sp_id_extern[24];                           //servicecode //只在本文件中所用的函数,用static 修饰:static int ScanMsgSession();                                                    		//本模块只是从com_recv_session表中取出相关信息static int DoScanMsgSession(char *servicecode,char *srctermid,char *msg,char *dcode,char *feetype,float fee);static int SendUser(char *msisdn,char *msg,char *dcode,float fee,char *fee_msisdn,int flag);static int InsertUser(char *msisdn,char *msgcontent);static int InsertUserCan(char *msisdn,char *msgcontent);//初始化本业务,放入主线程的InitPara()模块中int InitZxcl(){	GetProfileStringMe(INIFILE,"COMMON","TELEPHONE","",service_phone);        //从配置文件读取客服电话	return 0;}//本业务入口,放入主线程的 DoThread()模块,在main.h中声明int DoZxcl(){	int retval;		retval=ScanMsgSession();         //处理COM_RECV_SESSION	sleep(1);		return retval;}	//从COM_RECV_SESSION中取的数据static int ScanMsgSession(){	MYSQL_RES *res =NULL;	MYSQL_ROW row;	int  id;	char sql[512];	char servicecode[12];	char srctermid[24];	char msg[256];	char dcode[]="ZXNY";	char feetype[]="03";	float fee=12.0;	memset(sql,0,sizeof(sql));        sprintf(sql,"SELECT ID,SRCTERMID,UPPER(MSGCONTENT),LINKID\	              FROM COM_RECV RECV\				  WHERE RECV.FLAG ='0' AND (UPPER(MSGCONTENT)='NY' OR UPPER(MSGCONTENT)='TDNY' OR  MSGCONTENT='0')  LIMIT 20"); 	//puts(sql);	if(QuerySQL(sql,&myconn,&res)!=0)		{		writelog(SELF_TYPE,"查询COM_RECV_SESSION失败");		return -1; 		}	if(res ==NULL)		{		return -1;		}	while(row =mysql_fetch_row(res))		{		id =atoi(row[0]);		strcpy(srctermid,row[1]);		strcpy(msg,row[2]);		strcpy(linkid,row[3]);		//puts(srctermid);		//puts(msg);				memset(sql,0,sizeof(sql));		sprintf(sql,"UPDATE COM_RECV SET FLAG=1,DEAL_DATE=now()+0 WHERE ID=%d",id);		if(DoSQL(sql,&myconn)!=0)			{			writelog(SELF_TYPE,"更新COM_RECV_SESSION失败");			mysql_free_result(res);			return -1;			}		DoScanMsgSession(servicecode,srctermid,msg,dcode,feetype,fee);		}	mysql_free_result(res);	return 0;}//处理COM_RECV_SESSION中取得的信息static int  DoScanMsgSession(char *servicecode,char *srctermid,char *msg,char *dcode,char *feetype,float fee){	      	int  num =0;                             //选手的编号	int  total=0;	char sql[1024];	char msgcontent[256];	memset(sql,0,sizeof(sql));	memset(msgcontent,0,sizeof(msgcontent));	chop(msg);	trim(msg,' ');	if(*msg=='0')		{		sprintf(msgcontent,"回复QY测试前世界情缘,回复XY参加校园在线,回复QN参加知心女友,回复YS参加饮食健康,询:02586070434");		}	else if(strcmp(msg,"NY")==0)		{		InsertUser(srctermid,msgcontent);		SendUser(srctermid,msgcontent,dcode,fee,srctermid,0);		strcpy(linkid,"");		sprintf(msgcontent,"夏季是女孩子最喜爱的季节.喜欢的印花、曼妙飞舞的蝴蝶,混合各种面料如锦织和钩花编织,绣花与亮片等奢华细节,那是一种难以忘记的美丽.");		SendUser(srctermid,msgcontent,dcode,fee,srctermid,0);		return 0;		}     	else if(strcmp(msg,"TDNY")==0)		{		InsertUserCan(srctermid,msgcontent);				}		SendUser(srctermid,msgcontent,dcode,fee,srctermid,0);        	return 0;}//处理定制static int InsertUser(char *msisdn,char *msgcontent){	MYSQL_RES *res=NULL;	MYSQL_ROW row;	char sql[512];	int  flag=0;	memset(sql,0,sizeof(sql));	sprintf(sql,"SELECT FLAG FROM USER_ZXCL WHERE MSISDN='%s' LIMIT 1",msisdn);		if(QuerySQL(sql,&myconn,&res)!=0)		{		writelog(SELF_TYPE,"查询USER_ZXCL失败");		return -1; 		}	if(row=mysql_fetch_row(res))		{		flag =atoi(row[0]);		if(flag ==0)              		{			flag =2;              		}		}		mysql_free_result(res);	if(flag ==1)		{		sprintf(msgcontent,"您已经定制了此业务无须再定制,谢谢!");		return 1;		}        if(flag ==2)               {		sprintf(sql,"UPDATE USER_ZXCL SET FLAG =1,REG_DATE=now()+0 WHERE MSISDN='%s' ",msisdn);		puts(sql);        	if(DoSQL(sql,&myconn)!=0)			{			writelog(SELF_TYPE,"写UPDATE 失败");			return 0;			}		sprintf(msgcontent,"您好,您已成功定制由江苏三棱科技提供的知心女友业务,资费12元/每月,退定方式发送TDNY到9193,客服电话:02586070434");		return 1;               }	sprintf(sql,"INSERT INTO USER_ZXCL(ICPID,MSISDN,RECV_NUM,REG_DATE,FLAG)\                     VALUES('MO','%s',1,now()+0,'1')",\		     msisdn		     );	if(DoSQL(sql,&myconn)!=0)		{		writelog(SELF_TYPE,"插入USER表失败");		return 0;		}	sprintf(msgcontent,"您好,您已成功定制由江苏三棱科技提供的知心女友业务,资费12元/每月,退定方式发送TDNY到9193,客服电话:02586070434");	return 0;}//处理取消static int InsertUserCan(char *msisdn,char *msgcontent){	MYSQL_RES *res=NULL;	MYSQL_ROW row;	char sql[512];	int  flag=0;	memset(sql,0,sizeof(sql));	sprintf(sql,"SELECT FLAG FROM USER_ZXCL WHERE MSISDN='%s' LIMIT 1",msisdn);	if(QuerySQL(sql,&myconn,&res)!=0)		{		writelog(SELF_TYPE,"查询USER_QGJL失败");		return -1; 		}	if(row=mysql_fetch_row(res))		{		flag =atoi(row[0]);		}	mysql_free_result(res);	if(flag ==0)		{		sprintf(msgcontent,"您已经取消了此业务无须再取消,谢谢!");		return 1;		}	sprintf(sql,"UPDATE USER_ZXCL SET FLAG =0, CANCEL_DATE=now()+0 WHERE MSISDN='%s' ",msisdn); 	puts(sql);		if(DoSQL(sql,&myconn)!=0)		{		writelog(SELF_TYPE,"更新USER表失败");		return 0;		}	sprintf(msgcontent,"您好,您已经成功退定由江苏三棱科技提供的知心女友业务,回复0可查询更多业务,客服电话:02586070434");	return 0;}//发送模块static int SendUser(char *msisdn,char *msg,char *dcode,float fee,char *fee_msisdn,int flag){	SEND_STRUC sendstruc;	int linkid_flag;	memset(&sendstruc,0,sizeof(sendstruc));		if(strcmp(msisdn,fee_msisdn) == 0)		{		sendstruc.cFeeUserType=0;		strcpy(sendstruc.sFeeTerminalID,"");		}	else		{		sendstruc.cFeeUserType=3;		strcpy(sendstruc.sFeeTerminalID,fee_msisdn);		}	strcpy(sendstruc.icpid,"MO");	sendstruc.nMsgLevel = 3;	strcpy(sendstruc.sServiceID,dcode);	sendstruc.nMsgFormat = 15;	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.cTpPid = 0;	sendstruc.cTpUdhi = 0;	strcpy(sendstruc.step,"9");	getnowdate(sendstruc.Send_Date);	strcpy(sendstruc.sMsgContent,msg);	checksql(sendstruc.sMsgContent);	strcpy(sendstruc.linkid,linkid);//	strcpy(sendstruc.DesTermIDType,msisdntype);	linkid_flag=1;	switch(flag)		{		case 0:		//免费、错误信息		//	strcpy(sendstruc.sServiceID,"FREE");			strcpy(sendstruc.sFeeType,"01");			sendstruc.nNeedReply = 0;			break;		case 2:		//按条点播(收费)			strcpy(sendstruc.sFeeType,"02");			sendstruc.nNeedReply = 0;			break;		case 3:		//包月点播(不收费的)			strcpy(sendstruc.sFeeType,"03");			sendstruc.nNeedReply = 0;			break;		case 5:		//包月扣费			strcpy(sendstruc.sFeeType,"03");			sendstruc.nNeedReply = 2;			break;			default:	//其它						strcpy(sendstruc.sServiceID,"FREE");			strcpy(sendstruc.sFeeType,"01");			sendstruc.nNeedReply = 0;			break;		}	SendMsg(&sendstruc,&myconn);	return 0;}

⌨️ 快捷键说明

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