110 lines
3.7 KiB
XML
110 lines
3.7 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Application name="lps" trace="yes">
|
|
|
|
<!--换卡圈存查询-->
|
|
<Transaction code="2141020" log_switch="1">
|
|
<!-- 验证卡片合法性 -->
|
|
<DynSentence name="QRY_LPSTCRD_CRDSTS">
|
|
<Sentence>
|
|
SELECT CRD_STS,CRD_STSW,USR_NO,MBL_NO,MAIN_AC FROM LPSTCRD WHERE SUB_AC=? AND CRD_STS!='2'
|
|
</Sentence>
|
|
<Fields>SUB_AC|</Fields>
|
|
</DynSentence>
|
|
|
|
<!-- 查询换卡圈存金额 -->
|
|
<DynSentence name="QRY_LPSTBAL_AMT">
|
|
<Sentence>
|
|
SELECT CRD_BAL
|
|
FROM LPSTBAL
|
|
WHERE HLD_NO IN
|
|
(SELECT MAX(HLD_NO) FROM LPSTBAL WHERE TX_TYP='C' AND PROC_RSL!='S' AND MAIN_AC=?)
|
|
AND MAIN_AC=?
|
|
</Sentence>
|
|
<Fields>MAIN_AC|MAIN_AC|</Fields>
|
|
</DynSentence>
|
|
|
|
|
|
<FlowCtrl>
|
|
|
|
<!--检查钱包状态-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_LPSTCRD_CRDSTS"/>
|
|
</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="OR(IS_EQUAL_STRING($CRD_STS,3),IS_NOEQUAL_STRING(SUBSTR($CRD_STSW,1,5),00000))">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS20086"/>
|
|
<Arg name="MsgDat" value="卡片状态异常"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
|
|
|
|
<!--用户-用户状态查询-->
|
|
<Set>INP_DAT.MBLNO_OR_LOGID=$MBL_NO</Set>
|
|
<Set>INP_DAT.TX_CD=$GWA.TX_CD</Set>
|
|
<Call package="URM_PUB" function="CHK_USER_STS">
|
|
<Input>INP_DAT|</Input>
|
|
<Output>OUT_DAT|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>
|
|
|
|
<!--查询换卡圈存余额-->
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_LPSTBAL_AMT"/>
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS20095"/>
|
|
<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>
|
|
|
|
<!--圈存金额为0-->
|
|
<If condition="DOUBLECMP($CRD_BAL,3,0.00)">
|
|
<Exec func="PUB:GWAAddMsg">
|
|
<Arg name="MsgCd" value="LPS20096"/>
|
|
<Arg name="MsgDat" value="异常情况-换卡圈存金额为0元"/>
|
|
</Exec>
|
|
</If>
|
|
|
|
<Set>TX_AMT=ADDCHAR(AMTPOWER($CRD_BAL,2),12,0,1)</Set>
|
|
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00000"/>
|
|
</Exec>
|
|
|
|
</FlowCtrl>
|
|
</Transaction>
|
|
|
|
</Application>
|