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

📄 qyzx.cpp

📁 移动梦网平台主程序
💻 CPP
字号:
//////////////////////////////////////////////////////////////////////////////////////////								情缘在线/////////////////////////////////////////////////////////////////////////////////////////说明://	(1) DCODE :QYZX   FEE :2.00  //	(2) 9193   MSG: QY//										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 	""//来自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 *msg);static int GetInfomation(char *msgcontent);//初始化本业务,放入主线程的InitPara()模块中int InitQyzx(){	GetProfileStringMe(INIFILE,"COMMON","TELEPHONE","",service_phone);        //从配置文件读取客服电话	return 0;}//本业务入口,放入主线程的 DoThread()模块,在main.h中声明int DoQyzx(){	int retval;//	printf("cc\n");	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[]="QYZX";	char feetype[]="2";	float fee=2.0;	memset(sql,0,sizeof(sql));        sprintf(sql,"SELECT ID,SRCTERMID,UPPER(MSGCONTENT),LINKID\	              FROM COM_RECV RECV\		  WHERE RECV.FLAG ='0'  AND LEFT(UPPER(MSGCONTENT),2)='QY' 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]);				//printf("%s\n",srctermid);//printf("%s\n",msg);//printf("%s\n",linkid);       	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,' ');	GetInfomation(msgcontent);       	InsertUser(srctermid,msg);	SendUser(srctermid,msgcontent,dcode,fee,srctermid,2);        	return 0;}static int GetInfomation(char *msgcontent){	MYSQL_RES *res=NULL;	MYSQL_ROW row;	char sql[512];	memset(sql,0,sizeof(sql));	sprintf(sql,"SELECT MSG,RAND() AS  A FROM INFO_QYZX ORDER BY A LIMIT 1");	if(QuerySQL(sql,&myconn,&res)!=0)		{			writelog(SELF_TYPE,"查询INFO_QYZX失败");			return 0;		}		if(row =mysql_fetch_row(res))		{			strcpy(msgcontent,row[0]);					}		mysql_free_result(res);		if(strlen(msgcontent) <=1)				{				sprintf(msgcontent,"前世你们属于相互奉献的代表,在情感方面可以相互理解,不管多少竞争场面出现,最后都可以在协调中得到解决,今世你们有着深远的精神相通层面。"); 				}			return 0;}static int InsertUser(char *msisdn,char *msg){	char sql[512];	memset(sql,0,sizeof(sql));	sprintf(sql,"INSERT INTO USER_QYZX(ICPID,MSISDN,MSG,REG_DATE)\                     VALUES('MO','%s','%s',now()+0)",\		     msisdn,		     msg		     );	if(DoSQL(sql,&myconn)!=0)		{		writelog(SELF_TYPE,"插入USER表失败");		return 0;		}	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 + -