Files
2021-01-12 22:04:24 +08:00

124 lines
4.1 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Application name="lps" trace="yes">
<!--钱包锁定UI-->
<Transaction code="2131030" log_switch="1">
<DynSentence name="QRY_LPSTCRD_SUBAC"> <!--通过手机号查询应用序列号-->
<Sentence>
SELECT SUB_AC,CRD_STSW
FROM LPSTCRD
WHERE MBL_NO=? AND CRD_STS &lt;&gt; '2'
</Sentence>
<Fields>MBL_NO|</Fields>
</DynSentence>
<DynSentence name='UPD_LPSTCRD_STS'>
<Sentence>
UPDATE LPSTCRD SET CRD_STSW = ?,TM_SMP = ?
WHERE SUB_AC= ?
</Sentence>
<Fields>CRD_STSW|SYS_TM_SMP|SUB_AC</Fields>
</DynSentence>
<FlowCtrl>
<!--查询应用序列号-->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_LPSTCRD_SUBAC"/>
</Exec>
<If condition="~RetCod=-1" >
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS19999"/>
<Arg name="MsgDat" value="系统错误"/>
</Exec>
<Set>RSL_CD=01</Set>
<Return/>
</If>
<ElseIf condition="~RetCod=2" >
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS20055"/>
<Arg name="MsgDat" value="用户未开通手机钱包"/>
</Exec>
<Set>RSL_CD=01</Set>
<Return/>
</ElseIf>
<Set>CRD_STSW=STRCAT(SUBSTR($CRD_STSW,1,4),1,SUBSTR($CRD_STSW,6,SUB(STRLEN($CRD_STSW),5)))</Set> <!--更新状态字的第五位(锁定标志)为1-->
<!--更改钱包的状态为锁定-->
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="UPD_LPSTCRD_STS"/>
</Exec>
<If condition="~RetCod=-1">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS19999"/>
<Arg name="MsgDat" value="系统错误"/>
</Exec>
<Set>RSL_CD=01</Set>
</If>
<ElseIf condition="~RetCod=2">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS20055"/>
<Arg name="MsgDat" value="用户未开通手机钱包"/>
</Exec>
<Set>RSL_CD=01</Set>
</ElseIf>
<Else> <!--钱包锁定成功-->
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS00000"/>
</Exec>
<Set>RSL_CD=00</Set>
</Else>
<!--下行报文组织-->
<Call package="LPS_PUB" function="MessageBuild">
<Output>BK_TXN_DAT|MSG_CD|</Output>
</Call>
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
<If condition="IS_SUCC($GWA.MSG_CD)"> <!--报文组织失败-->
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="@O.MSG_CD"/>
</Exec>
</If>
<Return/>
</If>
<!--设置返回报文-->
<Set>BK_TXN_DAT=@O.BK_TXN_DAT</Set>
<!--生成报文MAC-->
<Call package="LPS_PUB" function="CreateMessageMAC">
<Input>SUB_AC|@O.BK_TXN_DAT|</Input>
<Output>BK_TXN_DAT|MSG_CD|</Output>
</Call>
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
<If condition="IS_SUCC($GWA.MSG_CD)"> <!--生成报文MAC失败-->
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="@O.MSG_CD"/>
</Exec>
</If>
<Return/>
</If>
<!--下发钱包锁定指令-->
<Set>SMS_CD=LPS800</Set>
<Call package="LPS_PUB" function="SendShortMessage"/>
<!--如果手机钱包锁定成功,则短信通知用户-->
<If condition="$RSL_CD=00">
<Set>SMS_CD=LPS003</Set> <!--添加锁定的短信模板编号-->
<Call package="LPS_PUB" function="SendShortMessage"/>
</If>
<!--返回成功-->
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS00000"/>
</Exec>
</FlowCtrl>
</Transaction>
</Application>