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

📄 cyds.cpp

📁 移动梦网平台主程序
💻 CPP
字号:
/***************************全网联通 少儿才艺大赛*************************** 使用方法: 查询报名是否成功,发送编号到90201066           查询成绩,发送编号到90201069 程序说明: KIND为CY,  扣费代码EQ,  资费2.00元/条 相关表: WEB_ART_B_CLASS  总分类表         WEB_ART_S_CLASS  总分类表里的每个小分类表         WEB_ART_PLAYER_INFO  用户的报名信息表,存放用户的编号,姓名,性别,SID         WEB_ART_SCORE 用户的成绩表*/#include <stdio.h>#include <string.h>#include <time.h>#include <stdlib.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  "cyds"	  //少儿才艺大赛#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 service_phone[20];static char linkid[9];static int ScanMsgSession();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);int Initcyds(){	GetProfileString(INIFILE,"COMMON","TELEPHONE","",service_phone);	return 0;}int Docyds(){	int retval;		retval=ScanMsgSession();	return retval;}static int ScanMsgSession(){	MYSQL_RES *res=NULL;	MYSQL_ROW row;	int retval;	float fee;	char day[20],sql[500],content[500];	char id[11],icpid[3],code[11],msisdn[22],dcode[11],ocode[20],feetype[3];		memset(sql,0,sizeof(sql));	sprintf(sql,"SELECT ID,ICPID,UPPER(SERVICECODE),OTHERCODE,MSGCONTENT,SRCTERMID,DCODE,FEE,LINKID\	             FROM COM_RECV_SESSION RECV,COD_SERVICE_SESSION COD\	             WHERE RECV.FLAG='0' AND RECV.SERVICECODE=COD.UCODE\	             AND COD.KIND='CY' limit 60"); 	retval=QuerySQL(sql,&myconn,&res);	if(retval!=0)	{		writelog(SELF_TYPE,"查询COM_RECV_SESSION表出错!");		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(ocode,row[3]);		strcpy(content,row[4]);		strcpy(msisdn,row[5]);		strcpy(dcode,row[6]);		fee=atof(row[7]);			strcpy(linkid,row[8]);				sprintf(sql,"UPDATE COM_RECV_SESSION SET FLAG=1,DEAL_DATE='%s' WHERE ID=%s",getnowdate(day),id);		if(DoSQL(sql,&myconn)!=0)		{			writelog(SELF_TYPE,"更新COM_RECV_SESSION表出错!");			mysql_free_result(res);			return 0;		}						DoService(code,ocode,content,msisdn,dcode,fee);			}	mysql_free_result(res);	return 0;}static int DoService(char *code,char *ocode,char *content,char *msisdn,char *dcode,float fee){	MYSQL_RES *res=NULL;	MYSQL_ROW row;	int retval,i;	char sql[500],msg[1000],pname[30],bname[30],sname[30];	char score_first[10],rate_first[10],score_re[10],rate_re[10],score_half[10],rate_half[10],score_last[10],rate_last[10];		trim(content,' ');		memset(sql,0,sizeof(sql));	if(strcmp(content,"")==0)  //空内容	{		sprintf(msg,"您发送的内容有错误,请查实后重新发送,详情请咨询%s",service_phone);		sprintf(sp_id_extern,"");		SendUser(msisdn,msg,dcode,fee,1);		return 0;			}	else if(strcmp(ocode,"6")==0)  //查询报名是否成功,一个编号只对应一个具体的小类	{		//查询用户的姓名		sprintf(sql,"SELECT PNAME FROM WEB_ART_PLAYER_INFO WHERE PID='%s' ",content); 		retval=QuerySQL(sql,&myconn,&res);		if(retval!=0)		{			writelog(SELF_TYPE,"查询WEB_ART_PLAYER_INFO表出错!");			return 0;		}		if(res==NULL)		{			return 0;		}		if(row=mysql_fetch_row(res))		{			strcpy(pname,row[0]);			mysql_free_result(res);		}		else		{			mysql_free_result(res);			sprintf(msg,"您还没有报名成功,或者您发送的编号有错误,详情请咨询%s",service_phone);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			return 0;		}		//查询总分组		sprintf(sql,"SELECT DISTINCT(BNAME) FROM WEB_ART_B_CLASS CLASS, WEB_ART_SCORE SCORE\		             WHERE CLASS.BID=SCORE.BID AND SCORE.PID='%s'",content); 		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(bname,row[0]);		}		else		{			sprintf(msg,"您还没有报名成功,或者您发送的编号有错误,详情请咨询%s",service_phone);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			mysql_free_result(res);			return 0;		}		mysql_free_result(res);		//查询小分组		sprintf(sql,"SELECT SNAME FROM WEB_ART_S_CLASS  CLASS, WEB_ART_SCORE SCORE\		             WHERE CLASS.SID=SCORE.SID AND SCORE.PID='%s'",content); 		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(sname,row[0]);		}		else		{			sprintf(msg,"您还没有报名成功,或者您发送的编号有错误,详情请咨询%s",service_phone);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			mysql_free_result(res);			return 0;		}		mysql_free_result(res);		sprintf(msg,"%s,%s.您已报名参加%s的%s类才艺大赛,祝您在比赛中取的好成绩!",pname,content,bname,sname);		sprintf(sp_id_extern,"%s%s",code,ocode);		SendUser(msisdn,msg,dcode,fee,1);  //扣费		return 0;	}	else if(strcmp(ocode,"9")==0)  //查询成绩	{		sprintf(sql,"SELECT SCORE_FIRST,RATE_FIRST,SCORE_RE,RATE_RE,SCORE_HALF,RATE_HALF,\		             SCORE_LAST,RATE_LAST FROM WEB_ART_SCORE  WHERE PID='%s' ",content); 		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(score_first,row[0]);			strcpy(rate_first,row[1]);			strcpy(score_re,row[2]);			strcpy(rate_re,row[3]);			strcpy(score_half,row[4]);			strcpy(rate_half,row[5]);			strcpy(score_last,row[6]);			strcpy(rate_last,row[7]);		}		else		{			sprintf(msg,"当前还没有成绩出来,或者您发送的编号有错误,详情请咨询%s",service_phone);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			mysql_free_result(res);			return 0;		}		mysql_free_result(res);		if(strcmp(score_first,"")==0 || strcmp(rate_first,"")==0)		{			sprintf(msg,"当前还没有成绩出来,请稍后再试,详情请咨询%s",service_phone);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			return 0;		}		else if(strcmp(score_re,"")==0 || strcmp(rate_re,"")==0)		{			sprintf(msg,"您的初赛成绩为:%s,支持率为:%s票.",score_first,rate_first);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			return 0;		}		else if(strcmp(score_half,"")==0 || strcmp(rate_half,"")==0)		{			sprintf(msg,"您的初赛成绩为:%s,支持率为:%s票.复赛成绩为:%s,支持率为:%s票.",score_first,rate_first,score_re,rate_re);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			return 0;		}		else if(strcmp(score_last,"")==0 || strcmp(rate_last,"")==0)		{			sprintf(msg,"您的初赛成绩:%s支持率:%s;复赛成绩:%s支持率:%s;半决赛成绩:%s支持率:%s",score_first,rate_first,score_re,rate_re,score_half,rate_half);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			return 0;		}		else		{			sprintf(msg,"您的初赛成绩:%s支持率:%s;复赛成绩:%s支持率:%s;半决赛成绩:%s支持率:%s;决赛成绩:%s支持率:%s",score_first,rate_first,score_re,rate_re,score_half,rate_half,score_last,rate_last);			sprintf(sp_id_extern,"%s%s",code,ocode);			SendUser(msisdn,msg,dcode,fee,1);			return 0;		}			}	else	{		sprintf(msg,"您发送的内容有误,请查实后重新发送,详情请咨询%s",service_phone);		sprintf(sp_id_extern,"");		SendUser(msisdn,msg,dcode,fee,1);		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 + -