127 lines
5.4 KiB
XML
127 lines
5.4 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Package>
|
|
<!--现场红包查询接口组件(LPSBonusQuery) -->
|
|
<Function name="LPSBonusQuery">
|
|
<Input>INP_DAT|GWA|</Input>
|
|
<Output>OUT_DAT|MSG_CD|MSG_DAT|</Output>
|
|
<!--查询商户信息-->
|
|
<DynSentence name="QRY_URMTMINF_INF">
|
|
<Sentence>
|
|
SELECT MERC_PROV,MERC_CITY,MERC_CITY_NM,MERC_TYP
|
|
FROM URMTMINF
|
|
WHERE MERC_ID=?
|
|
</Sentence>
|
|
<Fields>MERC_ID|</Fields>
|
|
</DynSentence>
|
|
<!--查询该用户可以在该商户下使用的红包总额-->
|
|
<DynSentence name="QRY_MKTBON_AMT">
|
|
<Sentence>
|
|
SELECT LPAD(NVL(SUM(CUR_AC_BAL),0)*100,12,0) AS BON_TOT_BAL
|
|
FROM MKMTBON A,MKMTISS B
|
|
WHERE (B.MERC_LMT_TYP='0'
|
|
OR (B.MERC_LMT_TYP='1' AND '1'=?)
|
|
OR (B.MERC_LMT_TYP='2' AND B.ISS_PROV=?)
|
|
OR (B.MERC_LMT_TYP='3' AND EXISTS (SELECT X.* FROM MKMTMERC X,PAYADM.MKMTMERCRL Y WHERE X.MKT_ID=A.MKT_ID AND X.ISS_ID=A.ISS_ID AND X.PRD_ID=A.PRD_ID
|
|
AND ((X.IS_GRP='0' AND X.MERC_ID = ? AND Y.MERC_GRP='0') OR (X.IS_GRP='1' AND Y.MERC_ID=? AND X.MERC_ID=Y.MERC_GRP AND Y.MERC_GRP <> '0')) AND X.MERC_STS='A' AND Y.MERC_ID=?)))
|
|
AND A.BON_STS='A'
|
|
AND A.EFF_DT <=?
|
|
AND A.EXP_DT >=?
|
|
AND A.PRD_TYP='0'
|
|
AND A.USR_NO=?
|
|
AND A.MKT_ID=B.MKT_ID
|
|
AND A.ISS_ID=B.ISS_ID
|
|
</Sentence>
|
|
<Fields>MERC_TYP1|MERC_PROV|MERC_ID|MERC_ID|MERC_ID|CUR_DT|CUR_DT|USR_NO|</Fields>
|
|
</DynSentence>
|
|
<Process>
|
|
<Set>MBL_NO=DELBOTHSPACE($INP_DAT.MBL_NO)</Set>
|
|
<Set>MERC_ID=DELBOTHSPACE($INP_DAT.MERC_ID)</Set>
|
|
<Set>CUR_DT=$GWA.TX_DT</Set>
|
|
<!--必输项判断-->
|
|
<If condition="ISNULL(DELBOTHSPACE($MERC_ID))">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg商户编号不能为空 -->
|
|
<Arg name="MsgCd" value="MKM20200"/>
|
|
<Arg name="MsgDat" value="商户编号不能为空"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<If condition="ISNULL(DELBOTHSPACE($MBL_NO))">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg用户手机号不能为空 -->
|
|
<Arg name="MsgCd" value="MKM10132"/>
|
|
<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" function="CHK_USER_STS">
|
|
<Input>INP_DAT|</Input>
|
|
<Output>OUT_DAT|MSG_CD|</Output>
|
|
</Call>
|
|
<If condition="IS_SUCC(@O.MSG_CD)=0">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD" />
|
|
</Exec>
|
|
<Set>MSG_CD=@O.MSG_CD</Set>
|
|
<Return/>
|
|
</If>
|
|
<Set>MBL_NO=@O.OUT_DAT.MBL_NO</Set>
|
|
<Set>USR_NO=@O.OUT_DAT.USR_NO</Set>
|
|
<!--调用查询手机号或内部用户号的组件, 修改为状态检查,用户状态冻结 挂失 销户等状态-->
|
|
<!--
|
|
<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:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_URMTMINF_INF"/>
|
|
</Exec>
|
|
<If condition="~RetCod!=0">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg不存在该商户 -->
|
|
<Arg name="MsgCd" value="MKM20210"/>
|
|
<Arg name="MsgDat" value="不存在该商户"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<If condition="OR(IS_EQUAL_STRING($MERC_TYP,1),IS_EQUAL_STRING($MERC_TYP,2))">
|
|
<Set>MERC_TYP1=1</Set> <!--全网商户-->
|
|
</If>
|
|
<ElseIf condition="OR(IS_EQUAL_STRING($MERC_TYP,3),IS_EQUAL_STRING($MERC_TYP,4))">
|
|
<Set>MERC_TYP1=2</Set> <!--本省商户-->
|
|
</ElseIf>
|
|
<!--查询该用户可以在该商户下使用的红包总额-->
|
|
<Exec func="PUB:ReadRecord">
|
|
<Arg name="SqlCmd" value="QRY_MKTBON_AMT"/>
|
|
</Exec>
|
|
<If condition ="~RetCod=-1">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg查询红包信息失败 -->
|
|
<Arg name="MsgCd" value="MKM20303"/>
|
|
<Arg name="MsgDat" value="查询红包信息失败"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<Set>OUT_DAT.BON_TOT_BAL=$BON_TOT_BAL</Set>
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg交易成功 -->
|
|
<Arg name="MsgCd" value="MKM00000"/>
|
|
<Arg name="MsgDat" value="交易成功"/>
|
|
</Exec>
|
|
</Process>
|
|
</Function>
|
|
</Package> |