106 lines
3.6 KiB
XML
106 lines
3.6 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Application name="lps" trace="yes">
|
|
|
|
<!--网络侧圈存(网银或其他)-->
|
|
<Transaction code="2142010" log_switch="1">
|
|
<!--用手机号浏览手机钱包号-->
|
|
<DynSentence name='QRY_LPSTCRD_SUBAC'>
|
|
<Sentence>
|
|
SELECT SUB_AC,CRD_STS FROM LPSTCRD WHERE MBL_NO=? AND CRD_STS!='2'
|
|
</Sentence>
|
|
<Fields>MBL_NO|</Fields>
|
|
</DynSentence>
|
|
|
|
|
|
<FlowCtrl>
|
|
<Set>TXN_AMT=AMTPOWER($TXN_AMT,2)</Set>
|
|
<Exec func="PUB:DumpETF"/>
|
|
<!--查询手机钱包序列号-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_LPSTCRD_SUBAC" />
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS20055" />
|
|
<Arg name="MsgDat" value="未开通手机钱包" />
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=0">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00001" />
|
|
<Arg name="MsgDat" value="系统异常,交易失败" />
|
|
</Exec>
|
|
<Return/>
|
|
</ElseIf>
|
|
<!--判断手机钱包状态是否为暂停-->
|
|
<If condition="IS_EQUAL_STRING($CRD_STS,3)">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS20104" />
|
|
<Arg name="MsgDat" value="手机钱包为暂停状态,无法进行圈存" />
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
|
|
<!--设置下行报文-->
|
|
<Set>CMD_CD=16</Set>
|
|
<!--Set>CMD_LEN=0032</Set-->
|
|
<Set>CRD_JRN_NO=00000000</Set>
|
|
|
|
<!--生成下行报文-->
|
|
<Call package="LPS_PUB" function="MessageBuild">
|
|
<Output>BK_TXN_DAT|MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="SUBSTR(@O.MSG_CD,4,5) != 00000">
|
|
<If condition="SUBSTR($GWA.MSG_CD,4,5) = 00000"> <!--报文组织失败-->
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
</If>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!--报文加密-->
|
|
<Set>BK_TXN_DAT=@O.BK_TXN_DAT</Set>
|
|
<Call package="LPS_PUB" function="MessageEncrypt">
|
|
<Input>SUB_AC|BK_TXN_DAT|</Input>
|
|
<Output>BK_TXN_DAT|MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="SUBSTR(@O.MSG_CD,4,5) != 00000">
|
|
<If condition="SUBSTR($GWA.MSG_CD,4,5) = 00000">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD" />
|
|
</Exec>
|
|
</If>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!--生成报文MAC-->
|
|
<Set>BK_TXN_DAT=@O.BK_TXN_DAT</Set>
|
|
<Call package="LPS_PUB" function="CreateMessageMAC">
|
|
<Input>SUB_AC|BK_TXN_DAT|</Input>
|
|
<Output>BK_TXN_DAT|MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="SUBSTR(@O.MSG_CD,4,5) != 00000">
|
|
<If condition="SUBSTR($GWA.MSG_CD,4,5) = 00000">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD" />
|
|
</Exec>
|
|
</If>
|
|
<Return/>
|
|
</If>
|
|
|
|
<Set>BK_TXN_DAT=@O.BK_TXN_DAT</Set>
|
|
<!--下发充值指令-->
|
|
<Set>SMS_CD=LPS800</Set>
|
|
<Call package="LPS_PUB" function="SendShortMessage"/>
|
|
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00000" />
|
|
</Exec>
|
|
</FlowCtrl>
|
|
</Transaction>
|
|
|
|
</Application>
|