257 lines
10 KiB
XML
257 lines
10 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Package>
|
|
|
|
<!-- 输入 -->
|
|
<!-- INP_DAT.MBL_NO : 手机号码 -->
|
|
<!-- INP_DAT.TRANS_TYP : 转让类型 (1. 单张转让 2. 批量转让) -->
|
|
<!-- INP_DAT.TRANS_BON_RAT : 转让折扣 -->
|
|
<!-- INP_DAT.TRANS_DAY : 可选_到期前转让天数 -->
|
|
|
|
|
|
<!--用户红包转让参数设置接口组件(UserBonTransSet)-->
|
|
<Function name="UserBonTransSet">
|
|
|
|
<!-- 参数设定 -->
|
|
<Input>INP_DAT|</Input>
|
|
<Output>OUT_DAT|MSG_CD|MSG_DAT|</Output>
|
|
|
|
<!-- 更改券别状态为已领用 -->
|
|
<DynSentence name="UPD_MKMTBON_NORMALSTS">
|
|
<Sentence>
|
|
UPDATE MKMTBON
|
|
SET BON_STS = 'A',
|
|
BON_RAT = '0',
|
|
RAT_AMT = '0.00',
|
|
TM_SMP = ?
|
|
WHERE BON_STS = 'W'
|
|
AND PRD_TYP = '0'
|
|
AND USR_MBL_NO = ?
|
|
AND USR_NO = ?
|
|
</Sentence>
|
|
<Fields>TM_SMP|MBL_NO|USR_NO|</Fields>
|
|
</DynSentence >
|
|
|
|
<Process>
|
|
|
|
<!-- 获取日期时间 -->
|
|
<Set>CUR_DT=$GWA.TX_DT</Set> <!-- 当前系统日期 -->
|
|
<Set>CUR_TM=$GWA.TX_TM</Set> <!-- 当前系统时间 -->
|
|
<Set>TM_SMP=STRCAT($CUR_DT,$CUR_TM)</Set> <!-- 时间戳 -->
|
|
|
|
<!-- 输入参数 -->
|
|
<Set>MBL_NO=DELBOTHSPACE($INP_DAT.MBL_NO)</Set> <!-- 手机号码 -->
|
|
<Set>TRANS_TYP=DELBOTHSPACE($INP_DAT.TRANS_TYP)</Set> <!-- 转让类型: 1. 单张转让 2. 批量转让 -->
|
|
<Set>TRANS_BON_RAT=DELBOTHSPACE($INP_DAT.TRANS_BON_RAT)</Set> <!-- 折扣比例 -->
|
|
<Set>TRANS_DAY=DELBOTHSPACE($INP_DAT.TRANS_DAY)</Set> <!-- 可选:到期前转让天数 -->
|
|
<Set>SET_PTC_FLG=DELBOTHSPACE($INP_DAT.PTC_FLG)</Set> <!-- 可选:到期前转让天数 -->
|
|
<!--必输项判断-->
|
|
<If condition="ISNULL($MBL_NO)">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 用户手机号不能为空 -->
|
|
<Arg name="MsgCd" value="MKM10132"/>
|
|
<Arg name="MsgDat" value="用户手机号不能为空"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<If condition="ISNULL($TRANS_TYP)">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 转让类型不能为空 -->
|
|
<Arg name="MsgCd" value="MKM41282"/>
|
|
<Arg name="MsgDat" value="转让类型不能为空"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<If condition="ISNULL($TRANS_BON_RAT)">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 转让比例不能为空 -->
|
|
<Arg name="MsgCd" value="MKM41283"/>
|
|
<Arg name="MsgDat" value="转让比例不能为空"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<If condition="DOUBLECMP($TRANS_BON_RAT,ge,10)">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<Arg name="MsgCd" value="MKM41356"/>
|
|
<Arg name="MsgDat" value="转让折扣非法"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!-- @add 2012-11-09 -->
|
|
<!-- 调用手机号段查询 -->
|
|
<Set>INP_DAT.MBL_NO=$MBL_NO</Set>
|
|
<Call function="GetMobilNoSegmentNew" package="URM">
|
|
<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" />
|
|
<Arg name="MsgDat" value="@O.MSG_DAT"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<If condition="IS_SUCC(@O.MSG_CD)=1">
|
|
<If condition="IS_NOEQUAL_STRING(@O.OUT_DAT.MBL_FLG,1)">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<Arg name="MSG_CD" value="MKM51070"/>
|
|
<Arg name="MSG_INF" value="营销工具暂不支持异网用户"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
</If>
|
|
<!-- end -->
|
|
|
|
<!--调用查询手机号或内部用户号的组件-->
|
|
<Set>MBL_NO=$MBL_NO</Set>
|
|
<Set>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>
|
|
<Set>USR_STS=@O.USR_STS</Set>
|
|
|
|
<!-- 对于销户、待销户状态的用户不允许转让-->
|
|
<If condition="IS_EQUAL_STRING($USR_STS,1,3)">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<Arg name="MsgCd" value="MKM41279" />
|
|
<Arg name="MsgDat" value="用户该状态下无法进行转让操作"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<!-- 查询用户个人转让参数设置 -->
|
|
<Exec func="PUB:CallThirdService">
|
|
<Arg name="ObjSvr" value="OURMPUB1"/>
|
|
<Arg name="HTxnCd" value="0011920"/>
|
|
</Exec>
|
|
<If condition="~RetCod=1">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 查询用户红包转让参数超时 -->
|
|
<Arg name="MsgCd" value="MKM41287"/>
|
|
<Arg name="MsgDat" value="查询用户红包转让参数超时"/>
|
|
</Exec>
|
|
<Return />
|
|
</If>
|
|
|
|
<Set>TRS_DAY=$TRS_DAY</Set>
|
|
<Set>DISC_NUM=$DISC_NUM</Set>
|
|
|
|
<!-- TRANS_TYP = 1, 单张转让 -->
|
|
<If condition="IS_EQUAL_STRING($TRANS_TYP,1)">
|
|
<Set>SET_PTC_FLG=N</Set> <!-- 单张转让禁止自动缴话费 -->
|
|
<!-- 用户未设置过 -->
|
|
<If condition="OR(ISNULL($TRS_DAY),ISNULL($DISC_NUM))">
|
|
</If>
|
|
|
|
<!-- 用户之前参数为自定义 -->
|
|
<ElseIf condition="AND(IS_EQUAL_STRING($TRS_DAY,0),IS_EQUAL_STRING($DISC_NUM,0))">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg交易成功 -->
|
|
<Arg name="MsgCd" value="MKM00000"/>
|
|
<Arg name="MsgDat" value="交易成功"/>
|
|
</Exec>
|
|
<Return />
|
|
</ElseIf>
|
|
|
|
<!-- 用户之前参数为批量转让 -->
|
|
<ElseIf condition="AND(IS_NOEQUAL_STRING($TRS_DAY,0),IS_NOEQUAL_STRING($DISC_NUM,0))">
|
|
<!-- 更新该用户待转让红包为正常状态 -->
|
|
<Exec func="PUB:ExecSql">
|
|
<Arg name="SqlCmd" value="UPD_MKMTBON_NORMALSTS" />
|
|
</Exec>
|
|
<If condition="~RetCod=-1">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 转让参数设置失败,请稍后再试 -->
|
|
<Arg name="MsgCd" value="MKM41288" />
|
|
<Arg name="MsgDat" value="转让参数设置失败,请稍后再试"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
</ElseIf>
|
|
</If>
|
|
|
|
<!-- TRANS_TYP = 2, 批量转让 -->
|
|
<If condition="IS_EQUAL_STRING($TRANS_TYP,2)">
|
|
<!-- 若用户设置过 -->
|
|
<If condition="NOT(AND(ISNULL($TRS_DAY),ISNULL($DISC_NUM)))">
|
|
<!-- 更新该用户待转让红包为正常状态 -->
|
|
<Exec func="PUB:ExecSql">
|
|
<Arg name="SqlCmd" value="UPD_MKMTBON_NORMALSTS" />
|
|
</Exec>
|
|
<If condition="~RetCod=-1">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 转让参数设置失败,请稍后再试 -->
|
|
<Arg name="MsgCd" value="MKM41288" />
|
|
<Arg name="MsgDat" value="转让参数设置失败,请稍后再试"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
</If>
|
|
</If>
|
|
|
|
<!-- 用户转让参数 -->
|
|
<Set>USR_NO=$USR_NO</Set>
|
|
<Set>TRS_DAY=$TRANS_DAY</Set>
|
|
<Set>DISC_NUM=$TRANS_BON_RAT</Set>
|
|
|
|
<!-- 修改用户转让参数信息 -->
|
|
<Set>PTC_FLG=$SET_PTC_FLG</Set>
|
|
<Exec func="PUB:CallThirdService">
|
|
<Arg name="ObjSvr" value="OURMPUB1"/>
|
|
<Arg name="HTxnCd" value="0011910"/>
|
|
</Exec>
|
|
<If condition="~RetCod=1">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg 转让参数设置失败,请稍后再试-->
|
|
<Arg name="MsgCd" value="MKM41288"/>
|
|
<Arg name="MsgDat" value="转让参数设置失败,请稍后再试"/>
|
|
</Exec>
|
|
<Return />
|
|
</If>
|
|
<If condition="IS_SUCC($GWA.MSG_CD)=0">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<Arg name="MsgCd" value="$GWA.MSG_CD"/>
|
|
<Arg name="MsgDat" value="$GWA.MsgDat"/>
|
|
</Exec>
|
|
<Return />
|
|
</If>
|
|
|
|
<!-- 调用组件删除用户待转让电子券信息 -->
|
|
<Set>INP_DAT.USR_MBL_NO=$MBL_NO</Set>
|
|
<Set>INP_DAT.USR_NO=$USR_NO</Set>
|
|
<Set>INP_DAT.OPR_TYP=DA</Set>
|
|
<Call function="TransInfoSysc" package="MKM">
|
|
<Input>INP_DAT|GWA|</Input>
|
|
<Output>OUT_DAT|MSG_CD|MSG_DAT|</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>
|
|
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<!-- @msg交易成功 -->
|
|
<Arg name="MsgCd" value="MKM00000"/>
|
|
<Arg name="MsgDat" value="交易成功"/>
|
|
</Exec>
|
|
<Exec func="PUB:DumpETF"/>
|
|
</Process>
|
|
</Function>
|
|
|
|
</Package> |