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

97 lines
3.8 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Package>
<!--用户营销工具明细查询接口组件(UserBonQuery)-->
<Function name="UserBonQuery">
<Input>INP_DAT|GWA|</Input>
<Output>OUT_DAT|MSG_CD|MSG_DAT|</Output>
<!--查询用户红包和代金券信息-->
<DynSentence name="QRY_MKMTBON_BV">
<Sentence>
SELECT A.BON_ID,A.BON_NM,A.MKT_ID,B.MKT_NM,A.PRD_TYP AS BON_TYP,A.CUR_AC_BAL AS BAL_AMT,A.BON_RAT AS BON_PIC
FROM MKMTBON A,MKMTACT B
WHERE A.BON_STS='A'
AND A.EXP_DT &gt;=?
AND A.USR_NO=?
AND A.PRD_TYP=?
AND A.MKT_ID=B.MKT_ID
</Sentence>
<Fields>CUR_DT|USR_NO|PRD_TYP|</Fields>
</DynSentence>
<!--查询用户营销工具可用余额-->
<DynSentence name="QRY_MKMTBON_BAL">
<Sentence>
SELECT NVL(SUM(CUR_AC_BAL),0) AS BAL_TOT_AMT
FROM MKMTBON A
WHERE A.BON_STS='A'
AND A.EXP_DT &gt;=?
AND A.USR_NO=?
AND A.PRD_TYP=?
</Sentence>
<Fields>CUR_DT|USR_NO|PRD_TYP|</Fields>
</DynSentence>
<Process>
<Set>MBL_NO=DELBOTHSPACE($INP_DAT.MBL_NO)</Set>
<Set>USR_NO=DELBOTHSPACE($INP_DAT.USR_NO)</Set>
<Set>PRD_TYP=DELBOTHSPACE($INP_DAT.BON_TYP)</Set>
<Set>CUR_DT=$GWA.TX_DT</Set> <!--系统日期-->
<!--必输项判断-->
<If condition="ISNULL($PRD_TYP)">
<Exec func="PUB:CmpSetMsg">
<!-- @msg营销工具类型不能为空 -->
<Arg name="MsgCd" value="MKM21014"/>
<Arg name="MsgDat" value="营销工具类型不能为空"/>
</Exec>
<Return/>
</If>
<!--调用查询手机号或内部用户号的组件-->
<Call function="Query_MBLNO_USRNO" package="MKM">
<Input>MBL_NO|USR_NO|</Input>
<Output>MSG_CD|MSG_DAT|MBL_NO|USR_NO|USR_PROV|USR_CITY|USR_CITY_NM|USR_STS|</Output>
</Call>
<If condition="IS_SUCC(@O.MSG_CD)=0">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="@O.MSG_CD" />
<Arg name="MsgDat" value="@O.MSG_DAT"/>
</Exec>
<Return/>
</If>
<Set>MBL_NO=@O.MBL_NO</Set>
<Set>USR_NO=@O.USR_NO</Set>
<!--查询营销工具的情况-->
<Exec func="PUB:DBMultiQueryPage">
<Arg name="PageNo" value="$PAG_NO"/>
<Arg name="SqlCmd" value="QRY_MKMTBON_BV"/>
<Arg name="RecNumPerPage" value="$PAG_NUM"/>
</Exec>
<If condition="~RetCod=-1">
<Exec func="PUB:CmpSetMsg">
<!-- @msg查询用户营销工具信息失败 -->
<Arg name="MsgCd" value="MKM21001"/>
<Arg name="MsgDat" value="查询用户营销工具信息失败"/>
</Exec>
<Return/>
</If>
<!--查询该用户可用营销工具总额-->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_MKMTBON_BAL"/>
</Exec>
<If condition="~RetCod=-1">
<Exec func="PUB:CmpSetMsg">
<!-- @msg查询用户可用营销工具总额失败 -->
<Arg name="MsgCd" value="MKM21015"/>
<Arg name="MsgDat" value="查询用户可用营销工具总额失败"/>
</Exec>
<Return/>
</If>
<Exec func="PUB:CmpSetMsg">
<!-- @msg交易成功 -->
<Arg name="MsgCd" value="MKM00000"/>
<Arg name="MsgDat" value="交易成功"/>
</Exec>
<Exec func="PUB:DumpETF"/>
</Process>
</Function>
</Package>