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

75 lines
2.6 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Application name="lps" trace="yes">
<!--POS未确认信息处理-->
<Transaction code="2141040" log_switch="0">
<!-- 验证卡片合法性 -->
<DynSentence name="CHK_LPSTCRD_INFO">
<Sentence>
SELECT CRD_EMK_SEQ ,CRD_TX_SEQ ,USR_NO FROM LPSTCRD WHERE SUB_AC=? AND CRD_STS !='2'
</Sentence>
<Fields>SUB_AC|</Fields>
</DynSentence>
<FlowCtrl>
<Set>CMD_CD=SUBSTR($PIN_DAT,1,2)</Set>
<!-- 判断卡片合法性 -->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="CHK_LPSTCRD_INFO"/>
</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>
<!-- 调用未确认信息处理组件 -->
<Set>INP_DAT.SUB_AC=$SUB_AC</Set>
<Set>INP_DAT.CMD_CD=$CMD_CD</Set>
<Set>INP_DAT.TXN_DAT=$PIN_DAT</Set>
<Call package="LPS_PUB" function="UnverifiedMessageInStep">
<Input>INP_DAT|GWA|</Input>
<Output>MSG_CD|</Output>
</Call>
<If condition="IS_NOEQUAL_STRING(SUBSTR(@O.MSG_CD,4,5),00000)">
<Set>~MSG_DAT=未确认信息同步失败</Set>
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="@O.MSG_CD"/>
</Exec>
<Return/>
</If>
<Set>BK_TXN_DAT=STRCAT(ADDCHAR(04D69A004A,150,0,0),$RDM_NO1,00000010)</Set>
<!-- 生成POS报文MAC -->
<Call package="LPS_PUB" function="CreatePosMAC">
<Input>SUB_AC|BK_TXN_DAT|</Input>
<Output>BK_TXN_DAT|MSG_CD|</Output>
</Call>
<If condition="IS_NOEQUAL_STRING(SUBSTR(@O.MSG_CD,4,5),00000)">
<Set>~MSG_DAT=生产报文MAC失败</Set>
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="@O.MSG_CD"/>
</Exec>
<Return/>
</If>
<Set>MAC2=RIGHTSTR(@O.BK_TXN_DAT,8)</Set>
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS00000"/>
</Exec>
</FlowCtrl>
</Transaction>
</Application>