464 lines
17 KiB
XML
464 lines
17 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
||
<Inq>
|
||
<Macro name="PRIMARY_KEY_SQL">
|
||
<DynSentence name="QRY_ECPTSMMT_ByKey"> <!-- 用队列的PRIMARY_KEY查找上行表 -->
|
||
<Sentence>
|
||
SELECT MSG_ID,OBJ_SVR,TX_CD,TM_OUT,OPR_CLK,FAL_TMS,ITV,INP_DAT FROM ECPTSMMT WHERE MSG_ID='%s' AND STS=0
|
||
</Sentence>
|
||
<Fields>$PRIMARY_KEY|</Fields>
|
||
</DynSentence>
|
||
<DynSentence name="upd4"> <!--更新上行表为成功STS=7-->
|
||
<Sentence>
|
||
UPDATE ECPTSMMT SET STS = '7',SUC_TM='%s',SUC_CLK='%s'
|
||
WHERE MSG_ID='%s'
|
||
</Sentence>
|
||
<Fields>SUC_TM|SUC_CLK|MSG_ID|</Fields>
|
||
</DynSentence>
|
||
</Macro>
|
||
<!--ETF 树化-->
|
||
<Macro name="InputDatETF"> <!-- 增加数据队列方式的ETF 树化 -->
|
||
<Quote name="PRIMARY_KEY_SQL"/>
|
||
<Exec func="PUB:ReadRecord" error="IGNORE"> <!-- 读一条记录 -->
|
||
<Arg name="SqlCmd" value="QRY_ECPTSMMT_ByKey"/>
|
||
</Exec>
|
||
<If condition="~RetCod=0">
|
||
<Exec func="PUB:ExecSql" error="IGNORE"> <!-- 读取成功,更新上行表,STS=7 -->
|
||
<Arg name="SqlCmd" value="upd4"/>
|
||
</Exec>
|
||
</If>
|
||
<ElseIf condition="~RetCod=2"> <!-- 未找到PRIMARY_KEY相关的上行短信,该如何处理???? -->
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--未找到PRIMARY_KEY相关的上行短信)</Set>
|
||
<Return/>
|
||
</ElseIf>
|
||
<Else> <!--查找数据库失败,再加到队列里-->
|
||
<Exec func="SMS:OfferQueue">
|
||
<Arg name="Data" value="STRCAT($OBJ_SVR,**,$TX_CD,**,$PRIMARY_KEY)"/>
|
||
<Arg name="QueNam" value="SMS_UP_QUEUE"/>
|
||
<Arg name="Scope" value="ROOT"/>
|
||
</Exec>
|
||
<Return/>
|
||
</Else>
|
||
<Exec func="PUB:XML2ETF" error="IGNORE">
|
||
<Arg name="Data" value="$INP_DAT"/>
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Set>RSP_CD=259400</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--XML2ETF错误)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</If>
|
||
<Delete>INP_DAT</Delete>
|
||
</Macro>
|
||
|
||
|
||
|
||
|
||
|
||
<!--开户 by yangyi-->
|
||
<Macro name="CreateNewAccount">
|
||
<Set>@MSG.SRN=FRT_REGION</Set>
|
||
<Exec func="PUB:CallThirdService" error="IGNORE">
|
||
<Arg name="HTxnCd" value="101000"/>
|
||
<Arg name="ObjSvr" value="OFRTMPS1"/>
|
||
<Arg name="In" value="CNL_TYP|MBL_NO|CNL_FLG|AGR_VER|CRD_TYP"/>
|
||
<Arg name="Out" value="REL_FLG|PAY_PSW|SVR_PSW|USR_CNM|RSP_CD"/>
|
||
</Exec>
|
||
<Set>~RetCod=0</Set> <!-- 压力测试 -->
|
||
<Delete>@MSG.SRN</Delete>
|
||
<Set>MSG_CD=$RSP_CD</Set>
|
||
<If condition="~RetCod=0"> <!--交易成功-->
|
||
<Set>RSP_CD=000000</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG开户成功)</Set>
|
||
</If>
|
||
<ElseIf condition="~RetCod=1"> <!--交易超时-->
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_CD=259200</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG开户超时)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</ElseIf>
|
||
<ElseIf condition="~RetCod=3"> <!--交易失败-->
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG开户失败)</Set>
|
||
<!--如果下发失败,相关信息会在此更新,以便查找-->
|
||
<If condition="$CMD_CD=A">
|
||
<Quote name="UpdateEcpttxnCurCmd"/>
|
||
</If>
|
||
<Return/>
|
||
</ElseIf>
|
||
<Else> <!--交易异常-->
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_CD=259201</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG开户异常)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</Else>
|
||
</Macro>
|
||
|
||
<!--充值卡短信充值by yangyi-->
|
||
<Macro name="PhoneCardRecharge">
|
||
<Set>@MSG.SRN=FRT_REGION</Set>
|
||
<Exec func="PUB:CallThirdService" error="IGNORE">
|
||
<Arg name="HTxnCd" value="111070"/>
|
||
<Arg name="ObjSvr" value="OFRTMPS3"/>
|
||
<Arg name="In" value="CNL_TYP|MBL_NO|CRD_NO|CRD_TXN_TYP|JRN_NO"/>
|
||
<Arg name="Out" value="JRN_NO|LOG_NO|UDRW_BAL|RSP_CD"/> <!--会话流水号,交易流水,充值卡账户余额-->
|
||
</Exec>
|
||
<Set>~RetCod=0</Set> <!-- 压力测试 -->
|
||
<Delete>@MSG.SRN</Delete>
|
||
<Set>MSG_CD=$RSP_CD</Set>
|
||
<If condition="~RetCod=0"> <!--充值成功-->
|
||
<Set>RSP_CD=000000</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG充值卡充值成功)</Set>
|
||
</If>
|
||
<ElseIf condition="~RetCod=1"> <!--交易超时-->
|
||
<Set>SRC_NO=$SP_NO</Set>
|
||
<Set>RSP_CD=259200</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG充值卡充值超时)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</ElseIf>
|
||
<ElseIf condition="~RetCod=3"> <!--交易失败,需判断卡密错误,卡密错误不同的SP_NO返回消息不同-->
|
||
<If condition="$SP_NO=STRCAT(#SVR_NO,52)">
|
||
<Set>SRC_NO=$SP_NO</Set>
|
||
<If condition="NOT(AND(STRCMP($RSP_CD,000003),STRCMP($RSP_CD,000004)))">
|
||
<Set>RSP_CD=250200</Set>
|
||
</If>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG充值卡充值失败)</Set>
|
||
<If condition="$SP_NO=STRCAT(#SVR_NO,52)">
|
||
<Quote name="UpdateEcpttxnCurCmd"/>
|
||
</If>
|
||
</If>
|
||
<Else>
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG充值卡充值失败)</Set>
|
||
</Else>
|
||
<Return/>
|
||
</ElseIf>
|
||
<Else> <!--交易异常-->
|
||
<Set>SRC_NO=$SP_NO</Set>
|
||
<Set>RSP_CD=259201</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG充值卡充值异常)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</Else>
|
||
</Macro>
|
||
|
||
<!--缴话费 by yangyi-->
|
||
<!--
|
||
BAL_TY1现金901,充值卡902
|
||
-->
|
||
<Macro name="PayPhoneFare">
|
||
<Set>@MSG.SRN=FRT_REGION</Set>
|
||
<Exec func="PUB:CallThirdService" error="IGNORE">
|
||
<Arg name="HTxnCd" value="113070"/>
|
||
<Arg name="ObjSvr" value="OFRTMPS2"/>
|
||
<Arg name="In" value="CNL_TYP|MBL_NO|TX_AMT1|PAY_PSW|BAL_TY1|JRN_NO|WCLO_FLG|SLF_FLG"/>
|
||
<Arg name="Out" value="JRN_NO|LOG_NO|UDRW_BAL|RSP_CD"/>
|
||
</Exec>
|
||
<Set>~RetCod=0</Set> <!-- 压力测试 -->
|
||
<Delete>@MSG.SRN</Delete>
|
||
<Set>MSG_CD=$RSP_CD</Set>
|
||
<If condition="~RetCod=0"> <!--缴费成功-->
|
||
<Set>SRC_NO=$SP_NO</Set>
|
||
<Set>SMS_CD=EC018</Set>
|
||
<Set>REP_FLD=STRCAT($AMT,|)</Set>
|
||
<Set>RSP_CD=000000</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG操作成功)</Set>
|
||
<Set>APP_MO=EC</Set>
|
||
<!-- 直接下发短信 -->
|
||
<Quote name="SendShortMessage"/>
|
||
</If>
|
||
<ElseIf condition="~RetCod=1"> <!--交易超时-->
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_CD=259200</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG缴话费超时)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</ElseIf>
|
||
<ElseIf condition="~RetCod=3"> <!--交易失败-->
|
||
<Set>SRC_NO=STRCAT(#SVR_NO,50)</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG缴话费失败)</Set>
|
||
<Quote name="UpdateEcpttxnCurCmd"/>
|
||
<Return/>
|
||
</ElseIf>
|
||
<Else> <!--交易异常-->
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_CD=259201</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--IG缴话费异常)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</Else>
|
||
</Macro>
|
||
|
||
<!--登记交易缓存 by yangyi-->
|
||
<!--字段默认值说明 前面的为字段默认值,如果不是默认值,请在调用宏前设置
|
||
CMD_STS 0-无效,1-有效(重要字段)
|
||
TXN_TYP LS(LocalService),调用前置的设置为TS(ThirdService)
|
||
REL_FLG N-非实名,Y-实名
|
||
CMD_TYP 0-低级指令,1-高级指令
|
||
-->
|
||
<Macro name="InsertEcpttxn">
|
||
<Set>SESS_ID=$MSG_ID</Set>
|
||
<Set>SRC_NO=$SP_NO</Set>
|
||
<Set>CMD_TM=$FTX_TM</Set>
|
||
<Set>REL_FLG=N</Set> <!--Y 强实名 N 弱实名-->
|
||
<If condition="ISNULL($CMD_MSG)">
|
||
<Set>CMD_MSG=NULL</Set>
|
||
</If>
|
||
<If condition="ISNULL($REL_FLG)">
|
||
<Set>CMD_MSG=N</Set>
|
||
</If>
|
||
<Exec func="PUB:InsertRecord" error="IGNORE">
|
||
<Arg name="TblNam" value="ECPTTXN"/>
|
||
</Exec>
|
||
<If condition="~RetCod=0">
|
||
</If>
|
||
<Else>
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_CD=259000</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--登记缓存,$CMD_MSG,失败)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</Else>
|
||
</Macro>
|
||
|
||
<!--查询交易缓存宏定义by yangyi-->
|
||
<!--必需事先设置的参数-->
|
||
<!--
|
||
LST_CMD_SEQ 查找上条记录的顺序号
|
||
TMP_SRC_NO 没有找到合法记录时返回消息的SP号
|
||
TMP_SMS_CD 买有找到记录时返回消息编号
|
||
-->
|
||
<Macro name="QueryEcpttxnLastCmdSql">
|
||
<DynSentence name="QRY_ECPTTXN_LCMD">
|
||
<Sentence>
|
||
SELECT *
|
||
FROM
|
||
(SELECT CMD_TM ORG_CMD_TM,EXP_TM ORG_EXP_TM,CMD_MSG ORG_CMD_MSG,CMD_SEQ ORG_CMD_SEQ,CMD_RSP_MSG ORG_CMD_RSP_MSG
|
||
FROM ECPTTXN
|
||
WHERE MBL_NO='%s'
|
||
AND TX_CD='%s'
|
||
AND CMD_SEQ='%s'
|
||
AND CMD_STS='1'
|
||
AND CMD_TM >= to_char(sysdate-(1/(24*60))*EXP_TM,'yyyymmddhh24miss')
|
||
ORDER BY CMD_TM DESC)
|
||
WHERE ROWNUM <= 1
|
||
</Sentence>
|
||
<Fields>MBL_NO|TX_CD|LST_CMD_SEQ|</Fields>
|
||
</DynSentence>
|
||
</Macro>
|
||
<Macro name="QueryEcpttxnLastCmd">
|
||
<Quote name="QueryEcpttxnLastCmdSql"/>
|
||
<Exec func="PUB:ReadRecord" error="IGNORE"> <!--查找前交易缓存KT-->
|
||
<Arg name="SqlCmd" value="QRY_ECPTTXN_LCMD"/>
|
||
</Exec>
|
||
<If condition="~RetCod=0">
|
||
</If>
|
||
<ElseIf condition="~RetCod=2">
|
||
<Set>SRC_NO=$TMP_SRC_NO</Set>
|
||
<Set>SMS_CD=$TMP_SMS_CD</Set>
|
||
<Set>RSP_CD=000000</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--未找到缓存记录)</Set>
|
||
<!-- 直接下发短信 -->
|
||
<Quote name="SendShortMessage"/>
|
||
<If condition="$SP_NO=STRCAT(#SVR_NO,5)">
|
||
<Set>NOTFOUND=1</Set>
|
||
</If>
|
||
<ElseIf condition="$SP_NO=STRCAT(#SVR_NO,97)">
|
||
<Set>NOTFOUND=1</Set>
|
||
</ElseIf>
|
||
<Else>
|
||
<Return/>
|
||
</Else>
|
||
</ElseIf>
|
||
<Else>
|
||
<!--查找数据库失败-->
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_CD=259001</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--查找缓存记录失败)</Set>
|
||
<Quote name="RollbackSmuWork"/>
|
||
<Return/>
|
||
</Else>
|
||
</Macro>
|
||
|
||
<!--更新本条交易缓存by yangyi-->
|
||
<Macro name="UpdateEcpttxnCurCmdSql">
|
||
<DynSentence name="UPD_ECPTTXN_CCMD">
|
||
<Sentence>
|
||
UPDATE ECPTTXN SET CMD_STS='%s',RSP_TM='%s',CMD_RSP_MSG='%s',MSG_CD='%s' WHERE MBL_NO='%s' and TX_CD='%s' and CMD_TM = '%s'
|
||
</Sentence>
|
||
<Fields>CMD_STS|RSP_TM|RSP_MSG|MSG_CD|MBL_NO|TX_CD|FTX_TM|</Fields>
|
||
</DynSentence>
|
||
</Macro>
|
||
<Macro name="UpdateEcpttxnCurCmd">
|
||
<Quote name="UpdateEcpttxnCurCmdSql"/>
|
||
<Set>RSP_TM=GETDATETIME()</Set>
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="UPD_ECPTTXN_CCMD"/>
|
||
</Exec>
|
||
<If condition="~RetCod=0">
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--更新本条缓存记录成功)</Set>
|
||
</If>
|
||
<Else>
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_CD=259003</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--更新本条缓存记录失败)</Set>
|
||
<Return/>
|
||
</Else>
|
||
</Macro>
|
||
|
||
<!--更新全部交易缓存by yangyi-->
|
||
<Macro name="UpdateEcpttxnAllCmdSql">
|
||
<DynSentence name="UPD_ECPTTXN_ACMD">
|
||
<Sentence>
|
||
UPDATE ECPTTXN SET CMD_STS='0', MSG_CD='%s' WHERE MBL_NO='%s' and TX_CD='%s' and CMD_STS='1' and SUBSTR(CMD_TM,5,10) >= '%s'
|
||
</Sentence>
|
||
<Fields>MSG_CD|MBL_NO|TX_CD|BEG_CMD_TM|</Fields>
|
||
</DynSentence>
|
||
</Macro>
|
||
<Macro name="UpdateEcpttxnAllCmd">
|
||
<Quote name="UpdateEcpttxnAllCmdSql"/>
|
||
<Set>BEG_CMD_TM=CALCTIME(SUBSTR($FTX_TM,5,10),-,m,$ORG_EXP_TM)</Set>
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="UPD_ECPTTXN_ACMD"/>
|
||
</Exec>
|
||
<If condition="~RetCod=0">
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--更新全部交易缓存成功)</Set>
|
||
</If>
|
||
<Else>
|
||
<Set>SRC_NO=#SVR_NO</Set>
|
||
<Set>RSP_CD=259003</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--更新全部交易缓存失败)</Set>
|
||
<Return/>
|
||
</Else>
|
||
</Macro>
|
||
|
||
<!--交易处理失败,事务回滚 by yangyi-->
|
||
<Macro name="RollbackSmuWork">
|
||
<Exec func="PUB:InvokeService" error="IGNORE">
|
||
<Arg name="ObjSvr" value="S.SMUSVR" />
|
||
<Arg name="ServiceName" value="RollbackSmuWork"/>
|
||
<Arg name="LogID" value="S.SMUSVR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1"> <!--系统错误,提醒用户重操作-->
|
||
<Set>RSP_CD=259300</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MAG,--事物回滚失败)</Set>
|
||
</If>
|
||
</Macro>
|
||
|
||
<!--发送短信 by yangyi-->
|
||
<!--一般在调用该宏之前设置如下参数:
|
||
SRC_NO,SMS_CD,REP_FLD(如果需要),RSP_CD
|
||
如果前置直接给短信内容,请设置SMS_CNL为IG
|
||
-->
|
||
<Macro name="SendShortMessage">
|
||
<Call package="SMS" function="SendShortMessage">
|
||
<Input>ACT_DT|OMSG_ID|MBL_NO|APP_MO|SMS_CNL|DAT_SMS_FLG|SM_TYP|SMS_CD|REP_FLD|SRC_NO|MSG_DAT|OBJ_SEVR|TX_COD|</Input>
|
||
<Output>RSP_CD|RSP_MSG1|</Output>
|
||
</Call>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,$RSP_MSG1)</Set>
|
||
</Macro>
|
||
|
||
|
||
<!--ECAP交易缓存动态语句宏定义-->
|
||
<Macro name="ECPTxnSQL">
|
||
<!--按交易日期查询交易缓存-->
|
||
<DynSentence name="QRY_ECPTTXN_BYDATE">
|
||
<Sentence>
|
||
SELECT A.* FROM (SELECT CMD_SEQ AS ORG_CMD_SEQ,CMD_MSG AS ORG_CMD_MSG,CMD_RSP_MSG AS ORG_CMD_RSP_MSG,CMD_TM AS ORG_CMD_TM,EXP_TM AS ORG_EXP_TM FROM ECPTTXN WHERE TX_CD='%s' AND MBL_NO='%s' AND CMD_STS='1' AND SUBSTR(CMD_TM,1,8)='%s' ORDER BY CMD_TM DESC)A WHERE ROWNUM=1
|
||
</Sentence>
|
||
<Fields>TX_CD|MBL_NO|TX_DT|</Fields>
|
||
</DynSentence>
|
||
</Macro>
|
||
|
||
<!--按日期查询交易缓存-->
|
||
<Macro name="QueryTxnByDate">
|
||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||
<Arg name="SqlCmd" value="QRY_ECPTTXN_BYDATE"/>
|
||
</Exec>
|
||
<If condition="~RetCod=-1"> <!--数据库异常-->
|
||
<Set>RSP_CD=259201</Set>
|
||
<Set>RSP_MSG=查询数据库异常</Set>
|
||
<Return/>
|
||
</If>
|
||
</Macro>
|
||
|
||
|
||
<!--调前置子系统查询订单历史-->
|
||
<Macro name="QueryTransHistory">
|
||
<Set>@MSG.SRN=FRT_REGION</Set>
|
||
<Set>CNL_FLG=ECAP</Set>
|
||
<Exec func="PUB:CallThirdService" error="IGNORE">
|
||
<Arg name="HTxnCd" value="115001"/>
|
||
<Arg name="ObjSvr" value="OFRTMPS4"/>
|
||
<Arg name="In" value="CNL_TYP|MBL_NO|BEG_DT|"/>
|
||
<Arg name="Out" value="TXN_GRP|RSP_CD|"/>
|
||
</Exec>
|
||
<Set>~RetCod=0</Set> <!-- 压力测试 -->
|
||
<Delete>@MSG.SRN</Delete>
|
||
<Set>MSG_CD=$RSP_CD</Set>
|
||
<If condition="~RetCod=1"> <!-- 交易超时 -->
|
||
<Set>RSP_CD=259200</Set>
|
||
<Return/>
|
||
</If>
|
||
<ElseIf condition="~RetCod=3"> <!-- 交易失败 -->
|
||
<Set>RSP_MSG=STRCAT(前置子系统返回码:,$RSP_CD)</Set>
|
||
<Return/>
|
||
</ElseIf>
|
||
<ElseIf condition="~RetCod=0"> <!-- 交易成功 -->
|
||
</ElseIf>
|
||
<Else> <!--交易异常-->
|
||
<Set>RSP_CD=259201</Set>
|
||
<Return/>
|
||
</Else>
|
||
</Macro>
|
||
|
||
<!--查询历史下发历史短信-->
|
||
<Macro name="SendHisSMS">
|
||
<!--处理返回的条数,至多返回三条-->
|
||
<Set>SRC_NO=STRCAT(#SVR_NO,97)</Set>
|
||
<Set>SMS_CNL=IG</Set>
|
||
<Set>APP_MO=IG</Set>
|
||
|
||
<!--交易笔数-->
|
||
<Set>TXN_CNT=STRGETCOUNT($TXN_GRP,CHAR(35))</Set>
|
||
<If condition="$TXN_CNT=0"> <!--没有记录-->
|
||
<!-- 直接下发短信 -->
|
||
<Set>SMS_CNL=SMS</Set>
|
||
<Set>APP_MO=EC</Set>
|
||
<Set>SRC_NO=$SP_NO</Set>
|
||
<Set>SMS_CD=EC969</Set>
|
||
<Set>RSP_CD=000000</Set>
|
||
<Set>RSP_MSG=STRCAT($RSP_MSG,--未找到交易历史)</Set>
|
||
<Quote name="SendShortMessage"/>
|
||
</If>
|
||
|
||
<Set>NUM=1</Set>
|
||
<While condition="INTCMP($NUM,2,$TXN_CNT)">
|
||
<Set>HIS_LST=STRCAT($BK_LST,|,HIS,$NUM)</Set>
|
||
<Set>NUM=ADD($NUM,1)</Set>
|
||
</While>
|
||
|
||
<Set>SPT_CNT=SPLITCMD($TXN_GRP,1,CHAR(35),$HIS_LST)</Set>
|
||
<Exec func="PUB:DumpMsg"/>
|
||
<Set>PRE_DAT=STRCAT(共查询到,$TXN_CNT,笔订单记录!)</Set>
|
||
<Set>NUM=1</Set>
|
||
<While condition="INTCMP($NUM,2,$TXN_CNT)">
|
||
<Exec func="PUB:GetValue" error="IGNORE">
|
||
<Arg name="SourName" value="STRCAT(HIS,$NUM)" />
|
||
<Arg name="DestName" value="MSG_DAT" />
|
||
</Exec>
|
||
<If condition="$NUM=1">
|
||
<Set>MSG_DAT=STRCAT($PRE_DAT,第,$NUM,笔:,$MSG_DAT)</Set>
|
||
</If>
|
||
<Else>
|
||
<Set>MSG_DAT=STRCAT(第,$NUM,笔:,$MSG_DAT)</Set>
|
||
</Else>
|
||
<Quote name="SendShortMessage"/>
|
||
<Set>NUM=ADD($NUM,1)</Set>
|
||
</While>
|
||
</Macro>
|
||
</Inq>
|
||
|