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

📄 beijing.txt

📁 使用flex和bison
💻 TXT
字号:
string menukey;
string songkey;
string songfile;
string dialnum;
string sql;
int menutime = 50;
int songtime = 50;
int connid=3;
int sysconnid = 1;
int freechanno;
int freeconfno;
string userid ;
string ringid;
int itor = 0;
int yingliang = 4;
string defaultring ;
#测试是不是联通号码
state m_1_start 
{
	init
	{
		string mystr =  getsubstring($sys_caller,0,3);
		int myint = stoi(mystr);
		if(myint>=130)
		{
			if(myint<=133)
			{
				goto m_beijing;
			}
			else
			{
				hangup();
			}
		}
		else
		{
			hangup();
		}
	}

}
#流程开始

state m_beijing 
{
	init
	{
		sql=  "select userid,state,mobile,regtime from taga_talkin_beijing_baoyueuser "
				+"where state = 1 and mobile = '" + $sys_caller+"'";
		sqlselect(connid,sql);
		int ret = getaffectedrow();
		if(ret==0)
		{
			goto 	m_beijingbaoyue;
		}
		else
		{	
			userid = getfieldvalue(0);
			goto 	m_beijingmenu;	
		}
	}
	
}
#包月注册
state m_beijingbaoyue
{
	init
	{
		#1让通话变的色彩斑斓,背景音乐让你说的比唱的还好听。
		playfile("d:\lgh\bin\trasin\10157\myvoc\bjbaoyue.pcm",2);
		readdigits(1);
		setchantimer(menutime);
		
	}
	proc
	{
		switch($sys_dtmf)
		{			
		 	case "1":	
				sql=   "select * from taga_talkin_beijing_baoyueuser where  mobile = '"+$sys_caller+"'";
				sqlselect(connid,sql);
				int ret = getaffectedrow();
				#曾经注销过的用户
				if(ret==1)
				{
					sql= "update taga_talkin_beijing_baoyueuser set state = 1 where mobile = '" 
					     +$sys_caller+"'";	
				}
				else
				{
					#新用户包月
					sql="insert into taga_talkin_beijing_baoyueuser(mobile,regtime,type,state) values ('" +$sys_caller+"', getdate(),1,1)" ; 
					              
				}
				sqlcommand(connid,sql);
				
				sql = "select userid from taga_talkin_beijing_baoyueuser where  mobile = '"+$sys_caller+"'";
				sqlselect(connid,sql);
				userid = getfieldvalue(0);

				goto m_initbaoyue;
			break;
			default:
				goto m_beijingbaoyue;
			break;
		}
	}
}

state m_initbaoyue
{
	init
	{
			
			while(itor<10)
			{
				string sitor = itos(itor);	
				sql = "select bjsong from taga_talkin_beijing_config where id = " + sitor;
				sqlselect(connid,sql);
			
				ringid = getfieldvalue(0);
			
				sql = "insert into taga_talkin_beijing_holding_ring  (userid,recordindex,ringid)" +
					"values(" + userid + "," + sitor + "," + ringid +")";
				sqlcommand(connid,sql);
				if(itor ==1)
				{
					sql = "insert into taga_talkin_beijing_userring  (userid,ringid,condtype)" +
					"values(" + userid + "," + ringid + ",1)" ;
					sqlcommand(connid,sql);
				}
			
			}
			
			goto m_beijingmenu;
			

	}
}
state m_beijingmenu
{
	init
	{
		# 欢迎使用联通背景音乐,请输入对方电话号码,按#号结束,其他
		playfile("d:\lgh\bin\trasin\10157\myvoc\beijingmenu.pcm",2);
		readdigits(13);
		setchantimer(menutime);
	}
	proc
	{
		sf($sys_dtmf=="*")
		{
			goto m_bjmanage;
		}
		else
		{
			dialnum=$sys_dtmf;		
			goto m_bjdialout;
		}
	}
}
state m_bjmanage
{
	init
	{
		goto m_beijingmenu 	;	
	}	
}
state m_bjdialout
{
	init
	{
		freechanno = getfreechan();
		freeconfno = getfreeconfno();
		talkwith(freechanno);
		dialout(freechanno,dialnum,$sys_caller);
			
	}
	proc
	{	
		if($sys_dialoutresult==1)
		{
			joinconf(freechanno,freeconfno,1);
			joinconf($sys_channo,freeconfno,1);
			sql = "select b.ringfile " 
				+ "from taga_talkin_beijing_userring a ,taga_talkin_beijing_ringindex b "
				+ "where a.ringid = b.ringid and a.userid = " 
				+ userid ;
			sqlselect(connid , sql);
			songfile = getfieldvalue(0);
			defaultring = songfile ;
			yingliang = 4;
			confplayfile(songfile,1,4);
			goto m_callerswitch;
		}
		else
		{
			goto m_dialouterror;
		}
	}
}
state m_dialouterror
{
	init
	{
		playfile("d:\lgh\bin\trasin\10157\myvoc\dialouterror.pcm",2);	
		readdigits(13);
		setchantimer(menutime);	
	}
	proc
	{	
			dialnum=$sys_dtmf;		
			goto m_bjdialout;
	}
}
state m_callerswitch
{
	init
	{
		readdigits(1);	
	}
	proc
	{	
		sf($sys_dtmf=="*")
		{
			yingliang = yingliang + 1;
			if(yingliang >= 7)
			{
				yingliang = 7;
			}
			confplayfile(songfile,2,yingliang);
			goto m_callerswitch;
		}
		elsesf($sys_dtmf =="")
		{
			yingliang = yingliang - 1 ;
			if(yingliang < 0)
			{
				yingliang = 0;
			}

			confplayfile(songfile,2,yingliang);
			goto m_callerswitch;
		}
		else
		{
	
			sql= "select b.ringfile " 
			+ " from taga_talkin_beijing_holding_ring a ,taga_talkin_beijing_ringindex b "
			+ " where  a.ringid = b.ringid  and a.recordindex = " +$sys_dtmf +
			 " and a.userid = " + userid ;
			sqlselect(connid,sql);
			int i = getaffectedrow();
			if(i == 0)
			{
				 songfile = defaultring;
			}
			else
			{
				 songfile = getfieldvalue(0);
				
			}
			confplayfile(songfile,1,yingliang);
			goto m_callerswitch;
			
		}
	}
}

state hangupproc
{
    init 
	{
		sql="insert taga_talkin_log(caller,callee,hanguptime ) values( '" 
		+ $sys_caller+"','"
		+ $sys_callee+"' ,getdate() )";
		sqlcommand(connid,sql);
	
	}	
}

⌨️ 快捷键说明

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