Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- utswitch 2019-01-21 15:29:37 \t\tUTSMS USSD(3)\tOpening SQL\r\n<span class=\"sql\"> \r\n \r\n \r\n \r\n \r\n insert into USSDLog(PhoneNo,SequenceNumber)\r\n select '255769699469','128'\r\n\r\n DECLARE @state varchar(50),@status varchar(50),@DefaultAccount varchar(50),@Language varchar(3)\r\n select \r\n @state=ss.state \r\n from \r\n USSD_session ss\r\n join \r\n USSD_states st on st.state=ss.state\r\n where \r\n ss.phone='255769699469' and \r\n ss.expire>=getdate()\r\n \r\n IF ('{&quot;sequence&quot;:&quot;1530&quot;,&quot;result&quot;:{&quot;ret.code&quot;:&quot;0&quot;,&quot;fields&quot;:[&quot;TEL.MOBILE&quot;,&quot;TEL.ACTIVE&quot;],&quot;size&quot;:&quot;1&quot;,&quot;rows&quot;:[[&quot;0769699469&quot;,&quot;Y&quot;]],&quot;more.data&quot;:&quot;0&quot;,&quot;range&quot;:[&quot;1&quot;,&quot;1&quot;]}}'='') OR (''='Banking System Unavailable.')\r\n BEGIN\r\n SELECT\r\n 'main-unavailable' ussd_state,\r\n 0 ussd_expire,\r\n [phone] ussd_phone,\r\n ISNULL([language],'SW') _session_language,\r\n 0 _ErrorCode\r\n FROM Subscriptions\r\n WHERE [phone] = '255769699469'\r\n END ELSE \r\n IF ('0769699469'='0769699469') AND ('Y'='N')\r\n BEGIN \r\n delete from USSD_session where phone='255769699469'\r\n \r\n insert into USSD_session(phone,expire,state)\r\n select '255769699469',DATEADD(s,timeout,GETDATE()),state\r\n from USSD_states\r\n where state='main-unactive'\r\n \r\n select \r\n ss.state ussd_state,\r\n ss.expire ussd_expire,\r\n ss.phone ussd_phone,\r\n NULL ussd_next,\r\n s.[language] _session_language,\r\n 0 _ErrorCode\r\n FROM USSD_session ss\r\n JOIN Subscriptions s ON s.phone = ss.phone\r\n WHERE ss.phone = '255769699469'\r\n END ELSE\r\n IF left('User timeout',8) in ('*150*25#')\r\n BEGIN\r\n delete from USSD_session where phone='255769699469'\r\n \r\n select \r\n @status=case status\r\n when 'approved' then\r\n case \r\n when 0>=isnull(pin_attempts,0) then 'approved-exceedattempts'\r\n when len('User timeout')>8 then\r\n case \r\n when '6E2D96F33C51FFA7B1C29E3E75AB00B2'=pin then 'approved-correctpin'\r\n else 'approved-wrongpin' \r\n end\r\n else 'approved-enterpin'\r\n end\r\n when 'pending' then 'pending' \r\n when 'unsubscribed' then 'unsubscribed'\r\n when 'blocked' then 'blocked' \r\n else 'missing' \r\n end,\r\n @DefaultAccount=default_account,\r\n @Language=isnull(language,'en')\r\n from \r\n Subscriptions\r\n where\r\n Phone='255769699469'\r\n\r\n set @status=isnull(@status,'missing')\r\n \r\n update Subscriptions\r\n set pin_attempts=case @status\r\n when 'approved-wrongpin' then pin_attempts-1\r\n when 'approved-correctpin' then 3\r\n end \r\n where @status in ('approved-correctpin','approved-wrongpin') and phone='255769699469'\r\n \r\n insert into USSD_session(phone,expire,state,currentaccount)\r\n select '255769699469',DATEADD(s,timeout,GETDATE()),state,@defaultaccount\r\n from USSD_states\r\n where state='main-'+@status\r\n \r\n select \r\n ss.state ussd_state,\r\n ss.expire ussd_expire,\r\n ss.phone ussd_phone,\r\n st.nextother ussd_next,\r\n @language _session_language\r\n from USSD_session ss\r\n join USSD_states st on st.state=ss.state\r\n where ss.phone='255769699469'\r\n END ELSE\r\n if @state is null\r\n BEGIN\r\n delete from USSD_session where phone='255769699469'\r\n select 'close' ussd_state\r\n END ELSE\r\n BEGIN\r\n select \r\n @status=case status\r\n when 'approved' then 'approved'\r\n when 'pending' then 'pending' \r\n when 'unsubscribed' then 'unsubscribed'\r\n when 'blocked' then 'blocked' \r\n else 'missing' \r\n end,\r\n @Language=isnull(language,'en')\r\n from \r\n Subscriptions\r\n where\r\n Phone='255769699469'\r\n\r\n set @status=isnull(@status,'missing')\r\n \r\n IF @status in ('approved','pending')\r\n BEGIN\r\n select @state=coalesce(\r\n case 'User timeout'\r\n when '0' then next0\r\n when '1' then next1\r\n when '2' then next2\r\n when '3' then next3\r\n when '4' then next4\r\n when '5' then next5\r\n when '6' then next6\r\n when '7' then next7\r\n when '8' then next8\r\n when '9' then next9 end,\r\n nextother,@state)\r\n from USSD_states where state=@state\r\n END\r\n ELSE\r\n BEGIN\r\n set @state='main-'+@status\r\n END\r\n \r\n \r\n DECLARE @MyTableVar TABLE (\r\n ussd_state varchar(50),\r\n ussd_expire datetime,\r\n ussd_phone varchar(50),\r\n _session_language varchar(10),\r\n _ErrorCode int\r\n )\r\n \r\n update USSD_session \r\n set state=@state,expire=DATEADD(s,st.timeout,GETDATE()),_TimeUpdated = getdate()\r\n output\r\n inserted.state ussd_state,\r\n inserted.expire ussd_expire,\r\n inserted.phone ussd_phone,\r\n @language _session_language,\r\n 0 _ErrorCode\r\n INTO @MyTableVar\r\n from USSD_session ss\r\n join USSD_states st on st.state=@state\r\n where ss.phone='255769699469'\r\n \r\n \r\n SELECT * FROM @MyTableVar\r\n END \r\n \r\n \r\n</span>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement