📄 chance_new.cpp
字号:
return 0; } sprintf(msg,"您已注册成功,退出0000,请为自己取个昵称!然后回复!不要修改发送号码!客服热线%s",service_phone); sprintf(sp_id_extern,"00002%d",getrand_num(999)); SendUser(msisdn,msg,dcode,fee,8); } else //要二次确认 { sprintf(sql,"UPDATE USER_CHANCE_YF SET REG_DATE='%s',FLAG='9' WHERE MSISDN='%s'",getnowdate(day),msisdn); if (DoSQL(sql,&myconn)!=0) { writelog(SELF_TYPE,"新用户GG出错!"); return 0; } sprintf(msg,"欢迎您加入本游戏,信息费%.f元/月,确认请回复%s",fee,code); SendUser(msisdn,msg,dcode,fee,2); } break; case 4: //没有用户记录 if(bitlong==0) //不要二次确认 { state=getid(); if(state==0) { sprintf(sql,"INSERT INTO USER_CHANCE_YF(MSISDN,NICKNAME,REG_DATE,FLAG,FREE_FLAG) VALUES('%s','冬冬','%s','1','0')", msisdn,getnowdate(day)); } else { sprintf(sql,"UPDATE USER_CHANCE_YF SET REG_DATE='%s',FLAG='1',FREE_FLAG='0',MSISDN='%s',MONTH_FLAG='0' WHERE ID=%d", getnowdate(day),msisdn,state); } if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"新用户GG出错!"); return 0; } sprintf(msg,"您已注册成功,退出0000,请为自己取个昵称!然后回复!不要修改发送号码!客服热线%s",service_phone); sprintf(sp_id_extern,"00002%d",getrand_num(999)); SendUser(msisdn,msg,dcode,fee,8); } else //要二次确认 { state=getid(); if(state==0) { sprintf(sql,"INSERT INTO USER_CHANCE_YF(MSISDN,NICKNAME,REG_DATE,FLAG,FREE_FLAG) VALUES('%s','冬冬','%s','9','0')", msisdn,getnowdate(day)); } else { sprintf(sql,"UPDATE USER_CHANCE_YF SET REG_DATE='%s',FLAG='9',FREE_FLAG='0',MSISDN='%s',MONTH_FLAG='0' WHERE ID=%d", getnowdate(day),msisdn,state); } if (DoSQL(sql,&myconn)!=0) { writelog(SELF_TYPE,"新用户GG出错!"); return 0; } sprintf(msg,"欢迎您加入本游戏,信息费%.f元/月,确认请回复%s",fee,code); SendUser(msisdn,msg,dcode,fee,2); } break; case 9: 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出错!"); return 0; } sprintf(msg,"您已注册成功,退出0000,请为自己取个昵称!然后回复!不要修改发送号码!客服热线%s",service_phone); sprintf(sp_id_extern,"00002%d",getrand_num(999)); SendUser(msisdn,msg,dcode,fee,8); break; default: sprintf(msg,"对不起,您输入的代码有错误,请核实再发送咨询电话%s",service_phone); sprintf(sp_id_extern,""); SendUser(msisdn,msg,dcode,fee,0); break; } } } mysql_free_result(res); return 0;}static int ScanMsgSession(){ char sql[2000]; MYSQL_ROW row; MYSQL_RES *res = NULL; int retval,i,feetype; float fee,fee_mon; char id[11],icpid[3],code[11],msisdn[22],dcode[11],ocode[20]; char day[20]; char msg[500]; memset(sql,0,sizeof(sql)); sprintf(sql, "SELECT ID,ICPID,UPPER(SERVICECODE),OTHERCODE,MSGCONTENT,SRCTERMID,DCODE,FEE_MON,LINKID FROM COM_RECV_SESSION RECV,COD_SERVICE_SESSION 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(ocode,row[3]); strcpy(msg,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,"更新session接受指令表出错!"); return 0; } DoService(code,ocode,msg,msisdn,dcode,fee); } mysql_free_result(res); return 0;}static int DoService(char *code,char *ocode,char *content,char *msisdn,char *dcode,float fee){ int len,type,retval,state,friendid; char msg[500],tname[20],otname[20],id[20]; char tmpbuf[100]; char sql[2000]; char osex[10],day[20]; len = strlen(ocode); if(len < 2) { sprintf(msg,"这里是缘分天空游戏,您发送的号码有问题,如需帮助,请拨客服热线%s",service_phone); SendUser(msisdn,msg,dcode,fee,0); return 0; } strncpy(tmpbuf,ocode,2); tmpbuf[2] = '\0'; type = atoi(tmpbuf); switch(type) { case 2: //修改呢称 trim(content,' '); if(strlen(content) == 0) { sprintf(msg,"哦!你的昵称怎么是空的呢?请为自己取个昵称,回复过来,不要修改发送号码哦!"); sprintf(sp_id_extern,"00002"); SendUser(msisdn,msg,dcode,fee,2); return 0; } retval = haveuser(msisdn); switch(retval) { case 1: case 2: strcpy(tmpbuf,content); checksql(tmpbuf); sprintf(sql,"UPDATE USER_CHANCE_YF SET NICKNAME='%s',RECENT_DATE='%s' WHERE MSISDN='%s' AND FLAG='1'",tmpbuf,getnowdate(day),msisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新呢称出错!"); return 0; } if(msisdn[2]>'3') //修改于2004.08.30 { sprintf(msg,"神秘的约会开始了!快发YF到5566参与聊天,别让您的知音等待太久!"); } else { sprintf(msg,"神秘的约会开始了!快发YF到9020参与聊天,别让您的知音等待太久!"); } sprintf(sp_id_extern,"00004%d",haverandfriend()); SendUser(msisdn,msg,dcode,fee,2); break; default: sprintf(msg,"您还没注册呢,快回复YF来注册吧!"); sprintf(sp_id_extern,""); SendUser(msisdn,msg,dcode,fee,0); break; } break; case 99: //删除纪录 retval = haveuser(msisdn); switch(retval) { case 1: case 2: sprintf(sql,"UPDATE USER_CHANCE_YF SET FLAG='0',CANCEL_DATE='%s' 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; } break; case 4: //聊天 retval = haveuser(msisdn); if(retval!=1&&retval!=2) { if(msisdn[2]>'3') //修改于2004.08.30 { sprintf(msg,"您还未注册,快发YF到5566参与聊天!,神秘的约会正等着您!"); } else { sprintf(msg,"您还未注册,快发YF到9020参与聊天!,神秘的约会正等着您!"); } sprintf(sp_id_extern,""); SendUser(msisdn,msg,dcode,fee,0); } else { if(len - 2 <= 0) { if(msisdn[2]>'3') //修改于2004.08.30 { sprintf(msg,"您想和谁聊?把您想说的话发到 556600004+编号,例如找8号,则发信息到5566000048即可,别让您的知音等待太久!"); } else { sprintf(msg,"您想和谁聊?把您想说的话发到 902000004+编号,例如找8号,则发信息到9020000048即可,别让您的知音等待太久!"); } sprintf(sp_id_extern,"00004%d",haverandfriend()); SendUser(msisdn,msg,dcode,fee,2); } else { strncpy(id,ocode+2,len - 2); id[len-2] = '\0'; friendid = havefriend(id); if(friendid == 0) { sprintf(msg,"您原来的聊友已退出游戏,现在为您找到了一位新朋友!请直接回一段话给他(她),不要修改发送号码."); sprintf(sp_id_extern,"00004%d",haverandfriend()); SendUser(msisdn,msg,dcode,fee,2); } else { sprintf(msg,"<%s>(%s):%s",g_nickname,g_id,content); sprintf(sp_id_extern,"00004%s",g_id); if(strncmp(g_omsisdn,"120",3) == 0) { checksql(msg); sprintf(sql,"INSERT INTO INFO_CHAT_YF(SRCTERMID,SRC_BH,PC_ID,PC_BH,CONTENT,DEAL_DATE) VALUES('%s','%s','%s','%s','%s','%s')", msisdn,g_id,g_omsisdn,g_oid,msg,getnowdate(tmpbuf)); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"插入info_chat表出错!"); return 0; } } else { checksql(msg); SendUser(g_omsisdn,msg,dcode,fee,2); } sprintf(msg,"信息已成功转发!"); sprintf(sp_id_extern,"00004%s",id); SendUser(msisdn,msg,dcode,fee,2); sprintf(sql,"UPDATE USER_CHANCE_YF SET SEND_NUM=SEND_NUM+1,RECENT_DATE='%s' WHERE MSISDN='%s' AND FLAG='1'", getnowdate(day),msisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新发送次数出错!"); return 0; } sprintf(sql,"UPDATE USER_CHANCE_YF SET RECV_NUM=RECV_NUM+1 WHERE MSISDN='%s' AND FLAG='1'",g_omsisdn); if(DoSQL(sql,&myconn) != 0) { writelog(SELF_TYPE,"更新接受次数出错!"); return 0; } } } } break; default : sprintf(msg,"这里是缘分天空游戏,您发送的号码有问题,如需帮助,请拨客服热线%s",service_phone); sprintf(sp_id_extern,""); SendUser(msisdn,msg,dcode,fee,2); break; } 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 + -