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

78 lines
2.7 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Application name="lps" code="010" trace="yes">
<!--用户支付账户余额查询-->
<Transaction code="2150310" log_switch="1">
<FlowCtrl>
<!-- 交易设置-->
<Set>CMD_CD=SUBSTR($PIN_DAT,1,2)</Set>
<If condition="IS_EQUAL_STRING($CMD_CD,04)"> <!-- 1.0卡片 -->
<Set>SUB_AC=SUBSTR($PIN_DAT,7,20)</Set>
</If>
<Else> <!-- 1.1卡片 -->
<Set>SUB_AC=SUBSTR($PIN_DAT,9,20)</Set>
</Else>
<!--验证报文MAC-->
<Call package="LPS_PUB" function="CheckMessageMAC">
<Input>SUB_AC|PIN_DAT|</Input>
<Output>MSG_CD|</Output>
</Call>
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="@O.MSG_CD" />
</Exec>
<Return/>
</If>
<!--报文解析-->
<Call package="LPS_PUB" function="MessageParse">
<Input>CMD_CD|PIN_DAT|</Input>
<Output>MSG_CD|STK_AREA|</Output>
</Call>
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
<!--报文解析失败-->
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="@O.MSG_CD" />
</Exec>
<Return/>
</If>
<!--主账户现金余额-->
<Set>IN_Q_MACNT.MBL_NO=$MBL_NO</Set>
<Set>IN_Q_MACNT.AC_TYP=100</Set>
<Exec func="ACM_MNG:QueryMainAccountBalance">
<Arg name="_I_GWA" value="GWA"/>
<Arg name="_I_INP_DAT" value="IN_Q_MACNT"/>
<Arg name="_O_OUT_DAT_1" value="OUT_Q_MACNT_1"/>
<Arg name="_O_OUT_DAT_2" value="OUT_Q_MACNT_2"/>
</Exec>
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="@O.MSG_CD" />
</Exec>
<Return/>
</If>
<!--获取用户余额-->
<Set>DRW_AC_BAL=@O.OUT_Q_MACNT_1.CUR_AC_BAL</Set> <!--现金账户-->
<Set>UDRW_AC_BAL=@O.OUT_Q_MACNT_2.CUR_AC_BAL</Set> <!--充值卡账户-->
<If condition ="ISNULL($DRW_AC_BAL)">
<Set>DRW_AC_BAL=0</Set>
</If>
<If condition ="ISNULL($UDRW_AC_BAL)">
<Set>UDRW_AC_BAL=0</Set>
</If>
<!--发送短信-->
<Set>SMS_CD=LPS007</Set>
<Call package="LPS_PUB" function="SendShortMessage"/>
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS00000" />
</Exec>
</FlowCtrl>
</Transaction>
</Application>