Files
ctg-app-ui/mkm/etc/pkg/Query_BONAMT_USER_PKG.XML
2021-01-12 22:04:24 +08:00

183 lines
7.0 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Package>
<!-- 用户红包余额查询组件 -->
<Function name="Query_BONAMT_USER">
<Input>INP_DAT|</Input>
<Output>OUT_DAT|MSG_CD|MSG_DAT|</Output>
<!-- 查询用户历史红包总额 -->
<DynSentence name="QRY_MKMTBON_BONAMT">
<Sentence>
SELECT NVL(SUM(A.CUR_AC_BAL), 0) AS BON_BAL_AMT
FROM MKMTBON A, MKMTISS B
WHERE A.PRD_TYP = 0
AND A.ISS_ID = B.ISS_ID
AND A.MKT_ID = B.MKT_ID
AND A.USR_MBL_NO = ?
AND A.USR_NO = ?
AND A.EXP_DT &gt;= ?
</Sentence>
<Fields>MBL_NO|USR_NO|CUR_DT|</Fields>
</DynSentence>
<!-- 查询用户当前可用红包数量 -->
<DynSentence name="QRY_MKMTBON_BONCNT">
<Sentence>
SELECT NVL(COUNT(A.BON_ID), 0) AS BON_CUR_CNT
FROM MKMTBON A, MKMTISS B
WHERE A.PRD_TYP = '0'
AND A.ISS_ID = B.ISS_ID
AND A.MKT_ID = B.MKT_ID
AND A.USR_MBL_NO = ?
AND A.USR_NO = ?
AND A.BON_STS IN ('A', 'W')
AND A.EXP_DT &gt;= ?
</Sentence>
<Fields>MBL_NO|USR_NO|CUR_DT|</Fields>
</DynSentence>
<!-- 查询用户当前可用红包总额 -->
<DynSentence name="QRY_MKMTBON_CURAMT">
<Sentence>
SELECT NVL(SUM(A.CUR_AC_BAL), 0) AS BON_CUR_AMT
FROM MKMTBON A, MKMTISS B
WHERE A.PRD_TYP = '0'
AND A.ISS_ID = B.ISS_ID
AND A.MKT_ID = B.MKT_ID
AND A.USR_MBL_NO = ?
AND A.USR_NO = ?
AND A.BON_STS IN ('A', 'W')
AND A.EXP_DT &gt;= ?
</Sentence>
<Fields>MBL_NO|USR_NO|CUR_DT|</Fields>
</DynSentence>
<!-- 查询用户当前可用代金券数量 -->
<DynSentence name="QRY_MKMTBON_CURCNT">
<Sentence>
SELECT NVL(COUNT(A.BON_ID), 0) AS COUPONS_CUR_CNT
FROM MKMTBON A, MKMTISS B
WHERE A.PRD_TYP = '1'
AND A.ISS_ID = B.ISS_ID
AND A.MKT_ID = B.MKT_ID
AND A.USR_MBL_NO = ?
AND A.USR_NO = ?
AND A.BON_STS = 'A'
AND A.EXP_DT &gt;= ?
AND A.MKT_BON_FLG='0'
</Sentence>
<Fields>MBL_NO|USR_NO|CUR_DT|</Fields>
</DynSentence>
<!-- 查询用户当前有效期内被冻结代金券数量,金额 -->
<DynSentence name="QRY_MKMTBON_HODINF">
<Sentence>
SELECT NVL(COUNT(BON_ID), 0) AS HOD_CUR_CNT,
NVL(SUM(CUR_AC_BAL), 0) AS HOD_CUR_AMT
FROM MKMTBON
WHERE PRD_TYP = '0'
AND USR_MBL_NO = ?
AND USR_NO = ?
AND BON_STS = 'H'
AND EXP_DT &gt;= ?
AND MKT_BON_FLG = '0'
</Sentence>
<Fields>MBL_NO|USR_NO|CUR_DT|</Fields>
</DynSentence>
<Process>
<Set>CUR_DT=$GWA.TX_DT</Set>
<Set>MBL_NO=DELBOTHSPACE($INP_DAT.MBL_NO)</Set>
<Set>USR_NO=DELBOTHSPACE($INP_DAT.USR_NO)</Set>
<!--必输项检查-->
<If condition="ISNULL($MBL_NO)">
<Exec func="PUB:CmpSetMsg">
<!-- @msg 用户手机号不能为空 -->
<Arg name="MsgCd" value="MKM40082"/>
<Arg name="MsgDat" value="用户手机号不能为空"/>
</Exec>
<Return/>
</If>
<If condition="ISNULL($USR_NO)">
<Exec func="PUB:CmpSetMsg">
<!-- @msg 用户内部号不能为空 -->
<Arg name="MsgCd" value="MKM40083"/>
<Arg name="MsgDat" value="用户内部号不能为空"/>
</Exec>
<Return/>
</If>
<!--查询该用户红包余额-->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_MKMTBON_BONAMT"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<!-- @msg 查询用户红包金额失效 -->
<Arg name="MsgCd" value="MKM40084"/>
<Arg name="MsgDat" value="查询用户红包余额失败"/>
</Exec>
<Return/>
</If>
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_MKMTBON_CURAMT"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<!-- @msg 查询用户红包当前余额失败 -->
<Arg name="MsgCd" value="MKM40085"/>
<Arg name="MsgDat" value="查询用户红包当前余额失败"/>
</Exec>
<Return/>
</If>
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_MKMTBON_BONCNT"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<!-- @msg 查询用户红包当前数量失败 -->
<Arg name="MsgCd" value="MKM41265"/>
<Arg name="MsgDat" value="查询用户红包当前数量失败"/>
</Exec>
<Return/>
</If>
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_MKMTBON_CURCNT"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<!-- @msg 查询用户代金券当前数量失败 -->
<Arg name="MsgCd" value="MKM41238"/>
<Arg name="MsgDat" value="查询用户代金券当前数量失败"/>
</Exec>
<Return/>
</If>
<!-- 查询用户当前冻结的电子券的数量和金额 -->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_MKMTBON_HODINF"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<!-- @msg 查询用户代金券当前数量失败 -->
<Arg name="MsgCd" value="MKM41238"/>
<Arg name="MsgDat" value="查询用户代金券当前数量失败"/>
</Exec>
<Return/>
</If>
<Set>OUT_DAT.BON_BAL_AMT=$BON_BAL_AMT</Set>
<Set>OUT_DAT.BON_CUR_CNT=$BON_CUR_CNT</Set>
<Set>OUT_DAT.BON_CUR_AMT=$BON_CUR_AMT</Set>
<Set>OUT_DAT.COUPONS_CUR_CNT=$COUPONS_CUR_CNT</Set>
<Set>OUT_DAT.HOD_CUR_CNT=$HOD_CUR_CNT</Set> <!-- 被冻结的总数 -->
<Set>OUT_DAT.HOD_CUR_AMT=$HOD_CUR_AMT</Set> <!-- 被冻结的金额 -->
<Exec func="PUB:CmpSetMsg">
<!-- @msg 交易成功 -->
<Arg name="MsgCd" value="MKM00000"/>
<Arg name="MsgDat" value="交易成功"/>
</Exec>
<Exec func="PUB:DumpETF"/>
</Process>
</Function>
</Package>