Merge pull request 'sit' (#76) from sit into uat

Reviewed-on: #76
This commit was merged in pull request #76.
This commit is contained in:
wang_lei1
2021-08-12 02:44:42 +00:00
4 changed files with 371 additions and 334 deletions
+12 -21
View File
@@ -17,7 +17,7 @@
where c.unfinished_num = 0 and c.finish_num > 0)
AND A.Customer_Id = B.Customer_Id
order by rank )
where ROWNUM <= '5')
where ROWNUM <= '1')
FOR UPDATE skip locked
</Sentence>
<Fields>DT_BEFER|</Fields>
@@ -100,15 +100,18 @@
<FlowCtrl>
<Quote name="Init_CAP01"/> <!--交易初始化-->
<Set>DT_BEFER=CALCDATE(GETDATE(),-,d,7)</Set>
<Exec func="PUB:OpenCursor" error="IGNORE">
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QryBatLst"/>
</Exec>
<If condition="~RetCod != 0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=打开游标失败</Set>
<Exec func="PUB:RollbackWork"/>
<Return/>
<If condition="~RetCod=2">
<Return/>
</If>
<ElseIf condition="~RetCod&lt;0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询数据库错误</Set>
<Return/>
</ElseIf>
<!--获取TOKEN-->
<Exec func="PUB:PARAM_GRP_GET" error="IGNORE">
<Arg name="ParamNam" value="CAPPARAMTER"/>
@@ -123,19 +126,7 @@
<Arg name="GrpNam" value="URL"/>
</Exec>
<Set>FIL_TOKEN_URL=$URL.P_VALUES</Set>
<While>
<Exec func="PUB:FetchCursor" error="IGNORE"/>
<If condition="~RetCod=2">
<Exec func="PUB:CloseCursor"/>
<Break/>
</If>
<ElseIf condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=循环游标失败</Set>
<Exec func="PUB:RollbackWork"/>
<Return/>
</ElseIf>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPDSKINF_DSK_NAM"/>
</Exec>
@@ -291,7 +282,7 @@
<Delete>END_TM</Delete>
<Delete>END_DT</Delete>
<Delete>OUT_DAT</Delete>
</While>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
+1 -1
View File
@@ -25,7 +25,7 @@
t.MERC_ORD_NO REF_ID,t.CORG_JRN_NO BANK_REF_ID, t.TXN_AMT AMOUNT,a.CORG_NM BANK_TYPE,t.POSTSCRIPT,
t.TAC_NO PAYER_ACCT_NO,t.TAC_NAM PAYER_ACCT_NAME, t.CORG_NO ORG_NO,t.RMK REMARK,
t.TXN_STS TRANS_STS,t.RSP_MSG RESP_MESSAGE
from CAPTXNJNL t,CMMTORGN a where t.dsk_nam = '%s' and ORD_DT = '%s' and t.CORG_NO = a.CORP_ORG order by MERC_ORD_NO
from CAPTXNJNL t,CMMTORGN a where t.dsk_nam = '%s' and ORD_DT = '%s' and t.CORG_NO = a.CORP_ORG(+) order by MERC_ORD_NO
</Sentence>
<Fields>DSK_NAM|ORD_DT|</Fields>
</DynSentence>
+224 -180
View File
@@ -6,192 +6,236 @@
==============================================================
-->
<Tran>
<!--事件处理 -->
<Transaction code="PUSH_EVENT" log_switch='1' desc="">
<DynSentence name="QRY_CAPEVTRLR">
<Sentence>
SELECT *
FROM CAPEVTRLR
WHERE EVT_TYP= ?
AND RLR_STS='0'
</Sentence>
<Fields>EVT_TYP|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPSMSLST">
<Sentence>
SELECT *
FROM CAPSMSLST
WHERE EVT_TYP= ?
AND ROL_TYP= ?
AND RLR_STS='0'
</Sentence>
<Fields>EVT_TYP|ROL_TYP|</Fields>
</DynSentence>
<FlowCtrl>
<Set>EVT_TYP=$EVT_TYP</Set> <!-- 事务类型 -->
<!--事件处理 -->
<Transaction code="PUSH_EVENT" log_switch='1' desc="">
<DynSentence name="QRY_CAPEVTRLR">
<Sentence>
SELECT *
FROM CAPEVTRLR
WHERE EVT_TYP= ?
AND RLR_STS='0'
</Sentence>
<Fields>EVT_TYP|</Fields>
</DynSentence>
<DynSentence name="QRY_CAPSMSLST">
<Sentence>
SELECT *
FROM CAPSMSLST
WHERE EVT_TYP= ?
AND ROL_TYP= ?
AND RLR_STS='0'
</Sentence>
<Fields>EVT_TYP|ROL_TYP|</Fields>
</DynSentence>
<FlowCtrl>
<Set>EVT_TYP=$EVT_TYP</Set> <!-- 事务类型 -->
<!-- 查询预警规则表CAPEVTRLR -->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_CAPEVTRLR"/>
<Arg name="GrpNam" value="EVT"/>
<!-- 查询预警规则表CAPEVTRLR -->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_CAPEVTRLR"/>
<Arg name="GrpNam" value="EVT"/>
</Exec>
<If condition="~RetCod!=0">
<!-- @msg 读取数据库{1}失败 -->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="PWM90100"/><!--错误码待定 999999999-->
</Exec>
<If condition="~RetCod!=0">
<!-- @msg 读取数据库{1}失败 -->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="PWM90100"/><!--错误码待定 999999999-->
</Exec>
<Return/>
</If>
<Set>EVT.IS_SND_MERC=$EVT.IS_SND_MERC</Set> <!-- 是否发送给商户 -->
<Set>EVT.IS_SND_DEV=$EVT.IS_SND_DEV</Set> <!-- 是否发送开发 -->
<Set>EVT.IS_SND_BUS=$EVT.IS_SND_BUS</Set> <!-- 是否发送给业务 -->
<Set>EVT.IS_SND_OPR=$EVT.IS_SND_OPR</Set> <!-- 是否发送给运营 -->
<Set>EVT.IS_SND_OTH=$EVT.IS_SND_OTH</Set> <!-- 是否发送给其他人-->
<Set>EVT.IS_SND_SMS=$EVT.IS_SND_SMS</Set> <!-- 发送短信 -->
<Set>EVT.IS_SND_MAL=$EVT.IS_SND_MAL</Set> <!-- 发送邮件 -->
<Set>EVT.SMS_TPL=$EVT.SMS_TPL</Set> <!-- 短信模板 -->
<Set>EVT.MAL_TPL=$EVT.SMS_TPL</Set> <!-- 邮件模板 短信邮件用一个模板 -->
<!--是否发送商户邮件-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_MERC,Y)">
<Set>ROL_TYP=MERC</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="GrpNam" value="MAL_MERC"/>
</Exec>
<If condition="~RetCod!=0">
<!-- @msg 读取数据库{1}失败 -->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="PWM90100"/><!--错误码待定 999999999-->
</Exec>
<Return/>
</If>
<Set>EVENT.ROL_NAM=$MAL_MERC.ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=$MAL_MERC.MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=$MAL_MERC.MAL_ADR</Set> <!-- 邮箱 -->
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
</If>
<!--是否给开发发送邮件-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_DEV,Y)">
<Return/>
</If>
<Set>EVT.IS_SND_MERC=$EVT.IS_SND_MERC</Set> <!-- 是否发送给商户 已废止 -->
<Set>EVT.IS_SND_DEV=$EVT.IS_SND_DEV</Set> <!-- 是否发送开发 -->
<Set>EVT.IS_SND_BUS=$EVT.IS_SND_BUS</Set> <!-- 是否发送给业务 -->
<Set>EVT.IS_SND_OPR=$EVT.IS_SND_OPR</Set> <!-- 是否发送给运营 -->
<Set>EVT.IS_SND_OTH=$EVT.IS_SND_OTH</Set> <!-- 是否发送给其他人-->
<Set>EVT.IS_SND_SMS=$EVT.IS_SND_SMS</Set> <!-- 发送短信 -->
<Set>EVT.IS_SND_MAL=$EVT.IS_SND_MAL</Set> <!-- 发送邮件 -->
<Set>EVT.SMS_TPL=$EVT.SMS_TPL</Set> <!-- 短信模板 -->
<Set>EVT.MAL_TPL=$EVT.SMS_TPL</Set> <!-- 邮件模板 短信邮件用一个模板 -->
<!--是否发送商户邮件 已废止-->
<Set>ROL_TYP=DEV</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="GrpNam" value="MAL_DEV"/>
</Exec>
<If condition="~RetCod!=0">
<!-- @msg 读取数据库{1}失败 -->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="PWM90100"/><!--错误码待定 999999999-->
</Exec>
<Return/>
</If>
<Set>EVENT.ROL_NAM=$MAL_DEV.ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=$MAL_DEV.MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=$MAL_DEV.MAL_ADR</Set> <!-- 邮箱 -->
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
</If>
<!--是否给业务发送邮件-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_BUS,Y)">
<!--是否给开发发送预警 短信 或 邮件-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_DEV,Y)">
<Set>ROL_TYP=BUS</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="GrpNam" value="MAL_BUS"/>
</Exec>
<If condition="~RetCod!=0">
<!-- @msg 读取数据库{1}失败 -->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="PWM90100"/><!--错误码待定 999999999-->
</Exec>
<Return/>
</If>
<Set>EVENT.ROL_NAM=$MAL_BUS.ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=$MAL_BUS.MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=$MAL_BUS.MAL_ADR</Set> <!-- 邮箱 -->
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
</If>
<Set>ROL_TYP=DEV</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="RecordName" value="MAL_DEV"/>
</Exec>
<If condition="~RetCod=0">
<Set>N=0</Set>
<Set>DEV_NUM=0</Set>
<Set>DEV_NUM=$REC_NUM</Set>
<While condition="INTCMP($N,1,$DEV_NUM)">
<Set>N=ADD($N,1)</Set>
<Set>EVENT.ROL_NAM=MAL_DEV[$N].ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=MAL_DEV[$N].MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=MAL_DEV[$N].MAL_ADR</Set> <!-- 邮箱 -->
<!--是否给运维发送邮件和短信-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_OPR,Y)">
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
<Set>ROL_TYP=OPR</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="GrpNam" value="MAL_OPR"/>
</Exec>
<If condition="~RetCod!=0">
<!-- @msg 读取数据库{1}失败 -->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="PWM90100"/><!--错误码待定 999999999-->
</Exec>
<Return/>
</If>
<Set>EVENT.ROL_NAM=$MAL_OPR.ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=$MAL_OPR.MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=$MAL_OPR.MAL_ADR</Set> <!-- 邮箱 -->
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
</If>
<!--是否给其他人发送邮件或邮件-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_OTH,Y)">
<Set>ROL_TYP=OTH</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:ReadRecord">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="GrpNam" value="MAL_OTH"/>
</Exec>
<If condition="~RetCod!=0">
<!-- @msg 读取数据库{1}失败 -->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="PWM90100"/><!--错误码待定 999999999-->
</Exec>
<Return/>
</If>
<Set>EVENT.ROL_NAM=$MAL_OTH.ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=$MAL_OTH.MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=$MAL_OTH.MAL_ADR</Set> <!-- 邮箱 -->
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
</While>
<Exec func="PUB:DeleteGroup" error="IGNORE">
<Arg name="GroupName" value="MAL_DEV"/>
</Exec>
<Delete>DEV_NUM</Delete>
<Delete>REC_NUM</Delete>
</If>
<Set>MSG_CD=$Rsp_Cd</Set>
</FlowCtrl>
</Transaction>
<ElseIf condition="~RetCod=-1">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="CAP00021"/>
<Arg name="MsgDat" value="数据库错误"/>
</Exec>
<Return/>
</ElseIf>
</If>
<!--是否给业务发送邮件-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_BUS,Y)">
<Set>ROL_TYP=BUS</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="RecordName" value="MAL_BUS"/>
</Exec>
<If condition="~RetCod=0">
<Set>N=0</Set>
<Set>BUS_NUM=0</Set>
<Set>BUS_NUM=$REC_NUM</Set>
<While condition="INTCMP($N,1,$BUS_NUM)">
<Set>N=ADD($N,1)</Set>
<Set>EVENT.ROL_NAM=MAL_BUS[$N].ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=MAL_BUS[$N].MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=MAL_BUS[$N].MAL_ADR</Set> <!-- 邮箱 -->
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
</While>
<Exec func="PUB:DeleteGroup" error="IGNORE">
<Arg name="GroupName" value="MAL_BUS"/>
</Exec>
<Delete>BUS_NUM</Delete>
<Delete>REC_NUM</Delete>
</If>
<ElseIf condition="~RetCod=-1">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="CAP00021"/>
<Arg name="MsgDat" value="数据库错误"/>
</Exec>
<Return/>
</ElseIf>
</If>
<!--是否给运维发送邮件和短信-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_OPR,Y)">
<Set>ROL_TYP=OPR</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="RecordName" value="MAL_OPR"/>
</Exec>
<If condition="~RetCod=0">
<Set>N=0</Set>
<Set>OPR_NUM=0</Set>
<Set>OPR_NUM=$REC_NUM</Set>
<While condition="INTCMP($N,1,$OPR_NUM)">
<Set>N=ADD($N,1)</Set>
<Set>EVENT.ROL_NAM=MAL_OPR[$N].ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=MAL_OPR[$N].MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=MAL_OPR[$N].MAL_ADR</Set> <!-- 邮箱 -->
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
</While>
<Exec func="PUB:DeleteGroup" error="IGNORE">
<Arg name="GroupName" value="MAL_OPR"/>
</Exec>
<Delete>OPR_NUM</Delete>
<Delete>REC_NUM</Delete>
</If>
<ElseIf condition="~RetCod=-1">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="CAP00021"/>
<Arg name="MsgDat" value="数据库错误"/>
</Exec>
<Return/>
</ElseIf>
</If>
<!--是否给其他人发送邮件或邮件-->
<If condition="IS_EQUAL_STRING($EVT.IS_SND_OTH,Y)">
<Set>ROL_TYP=OTH</Set><!--角色类型 MERC:商户 DEV:开发 BUS:业务 OPR:运维 OTH:其他人-->
<Exec func="PUB:QueryInGroup" error="IGNORE">
<Arg name="SqlCmd" value="QRY_CAPSMSLST"/>
<Arg name="RecordName" value="MAL_OTH"/>
</Exec>
<If condition="~RetCod=0">
<Set>N=0</Set>
<Set>OTH_NUM=0</Set>
<Set>OTH_NUM=$REC_NUM</Set>
<While condition="INTCMP($N,1,$OTH_NUM)">
<Set>N=ADD($N,1)</Set>
<Set>EVENT.ROL_NAM=MAL_OTH[$N].ROL_NAM</Set> <!-- 角色姓名 -->
<Set>EVENT.MOB_TEL=MAL_OTH[$N].MOB_TEL</Set> <!-- 手机号码 -->
<Set>EVENT.MAL_ADR=MAL_OTH[$N].MAL_ADR</Set> <!-- 邮箱 -->
<Set>EVENT.EVT_DSC=$EVT.EVT_DSC</Set>
<Set>EVENT.SMS_CD=$EVT.MAL_TPL</Set>
<Set>EVENT.IS_SND_SMS=$EVT.IS_SND_SMS</Set>
<Set>EVENT.IS_SND_MAL=$EVT.IS_SND_MAL</Set>
<!--调用短信发送-->
<Call package="SMS_PUB" function="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
</Call>
</While>
<Exec func="PUB:DeleteGroup" error="IGNORE">
<Arg name="GroupName" value="MAL_OTH"/>
</Exec>
<Delete>OTH_NUM</Delete>
<Delete>REC_NUM</Delete>
</If>
<ElseIf condition="~RetCod=-1">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="CAP00021"/>
<Arg name="MsgDat" value="数据库错误"/>
</Exec>
<Return/>
</ElseIf>
</If>
<Set>MSG_CD=$Rsp_Cd</Set>
</FlowCtrl>
</Transaction>
</Tran>
+134 -132
View File
@@ -1,157 +1,159 @@
<?xml version='1.0' encoding='UTF-8'?>
<Package>
<!--发送预警邮件-->
<Function name="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
<Process>
<DynSentence name="QRY_SMSTTMPS_MAL"> <!--查询邮件或短信模版及相关参数-->
<Sentence>
SELECT A.SM_TYP,A.SMS_CLS,A.SMS_MO,A.SMS_TMP,A.REP_FLD,A.ID_KEY,A.PSW_FLG
FROM SMSTTMPS A
WHERE A.SMS_CD=?
</Sentence>
<Fields>SMS_CD|</Fields>
</DynSentence>
<!--查询邮件模板-->
<Set>SMS_CD=$EVENT.SMS_CD</Set>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_SMSTTMPS_MAL"/>
</Exec>
<If condition="~RetCod&lt;0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg="查询模板失败"</Set>
<Break/>
</If>
<Exec func="PUB:DumpETF"/>
<!-- 设置短信模版变量 -->
<Set>IND1=\[</Set>
<Set>IND2=\]</Set>
<Set>IND3=\$</Set>
<Set>IND4=STRCAT($IND1,$IND3,$IND2)</Set>
<!--替换邮件模版中的变量,组织下发邮件内容-->
<Exec func="SMS:ReplaceWithSMSTemplate">
<Arg name="template" value="$SMS_TMP"/> <!--邮件模版-->
<Arg name="repl" value="$IND4"/> <!--变量符号-->
<Arg name="text" value="$REP_FLD"/> <!--变量列表-->
<Arg name="objNam" value="SMS_INF"/> <!--邮件内容-->
</Exec>
<If condition="IS_EQUAL_STRING($EVENT.IS_SND_MAL,Y)">
<!--发邮件-->
<Set>SMS_INF=$SMS_INF</Set>
<!--发送预警邮件-->
<Function name="SEND_MAL">
<Input>EVENT|</Input>
<Output>Rsp_Cd|Rsp_Msg</Output>
<Process>
<DynSentence name="QRY_SMSTTMPS_MAL"> <!--查询邮件或短信模版及相关参数-->
<Sentence>
SELECT A.SM_TYP,A.SMS_CLS,A.SMS_MO,A.SMS_TMP,A.REP_FLD,A.ID_KEY,A.PSW_FLG
FROM SMSTTMPS A
WHERE A.SMS_CD=?
</Sentence>
<Fields>SMS_CD|</Fields>
</DynSentence>
<!--查询邮件模板-->
<Set>SMS_CD=$EVENT.SMS_CD</Set>
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_SMSTTMPS_MAL"/>
</Exec>
<If condition="~RetCod&lt;0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg="查询模板失败"</Set>
<Break/>
</If>
<Set>AC_DT=GETDATE()</Set>
<Exec func="PUB:DumpETF"/>
<!-- 设置短信模版变量 -->
<Set>IND1=\[</Set>
<Set>IND2=\]</Set>
<Set>IND3=\$</Set>
<Set>IND4=STRCAT($IND1,$IND3,$IND2)</Set>
<!--替换邮件模版中的变量,组织下发邮件内容-->
<Exec func="SMS:ReplaceWithSMSTemplate">
<Arg name="template" value="$SMS_TMP"/> <!--邮件模版-->
<Arg name="repl" value="$IND4"/> <!--变量符号-->
<Arg name="text" value="$REP_FLD"/> <!--变量列表-->
<Arg name="objNam" value="SMS_INF"/> <!--邮件内容-->
</Exec>
<If condition="IS_EQUAL_STRING($EVENT.IS_SND_MAL,Y)">
<!--发邮件-->
<Set>SMS_INF=$SMS_INF</Set>
<Exec func="PUB:PARAM_GRP_GET" error="IGNORE">
<Arg name="ParamNam" value="CAPPARAMTER"/>
<Arg name="KeyNam" value="MAIL_HOST"/>
<Arg name="GrpNam" value="MAIL_HOST"/>
<Arg name="ParamNam" value="CAPPARAMTER"/>
<Arg name="KeyNam" value="MAIL_HOST"/>
<Arg name="GrpNam" value="MAIL_HOST"/>
</Exec>
<Set>host=$MAIL_HOST.P_VALUES</Set>
<Exec func="PUB:PARAM_GRP_GET" error="IGNORE">
<Arg name="ParamNam" value="CAPPARAMTER"/>
<Arg name="KeyNam" value="MAIL_PORT"/>
<Arg name="GrpNam" value="MAIL_PORT"/>
<Arg name="ParamNam" value="CAPPARAMTER"/>
<Arg name="KeyNam" value="MAIL_PORT"/>
<Arg name="GrpNam" value="MAIL_PORT"/>
</Exec>
<Set>port=$MAIL_PORT.P_VALUES</Set>
<Exec func="PUB:PARAM_GRP_GET" error="IGNORE">
<Arg name="ParamNam" value="CAPPARAMTER"/>
<Arg name="KeyNam" value="MAIL_USER"/>
<Arg name="GrpNam" value="MAIL_USER"/>
<Arg name="ParamNam" value="CAPPARAMTER"/>
<Arg name="KeyNam" value="MAIL_USER"/>
<Arg name="GrpNam" value="MAIL_USER"/>
</Exec>
<Set>user=$MAIL_USER.P_VALUES</Set>
<Exec func="PUB:PARAM_GRP_GET" error="IGNORE">
<Arg name="ParamNam" value="CAPPARAMTER"/>
<Arg name="KeyNam" value="MAIL_PWD"/>
<Arg name="GrpNam" value="MAIL_PWD"/>
<Arg name="ParamNam" value="CAPPARAMTER"/>
<Arg name="KeyNam" value="MAIL_PWD"/>
<Arg name="GrpNam" value="MAIL_PWD"/>
</Exec>
<Set>pwd=$MAIL_PWD.P_VALUES</Set>
<Set>subject=$EVENT.EVT_DSC</Set><!--主题-->
<Set>receiver=$EVENT.MAL_ADR</Set>
<Exec func="MON:sendMailImpl" error="IGNORE">
<Arg name="host" value="$host"/>
<Arg name="port" value="$port"/>
<Arg name="user" value="$user"/> <!--发送人-->
<Arg name="passwd" value="$pwd"/> <!--发件人密码-->
<Arg name="subject" value="$subject"/> <!--主题-->
<Arg name="txt" value="$SMS_INF"/><!--邮件内容-->
<Arg name="receiver" value="$receiver"/><!--收件人,多人以逗号分隔-->
<Arg name="host" value="$host"/>
<Arg name="port" value="$port"/>
<Arg name="user" value="$user"/> <!--发送人-->
<Arg name="passwd" value="$pwd"/> <!--发件人密码-->
<Arg name="subject" value="$subject"/> <!--主题-->
<Arg name="txt" value="$SMS_INF"/><!--邮件内容-->
<Arg name="receiver" value="$receiver"/><!--收件人,多人以逗号分隔-->
</Exec>
<!--获取平台流水号-->
<Exec func="PUB:GetUniqueNo">
<Arg name="Name" value="jrn_nextval" />
<Arg name="SeqNam" value="jrn_no_sequence" />
<Arg name="Len" value="10" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=平台取流水号失败</Set>
<Return />
</If>
<Set>JRN_NO=STRCAT(SUBSTR($AC_DT,3,6),$jrn_nextval)</Set>
<Delete>jrn_nextval</Delete>
<Set>SEND_MSG=$SMS_INF</Set>
<Set>RECEIVE_NM=$receiver</Set>
<Set>SEND_NM=$user</Set>
<Set>MSG_FLG=1</Set><!--1邮件 2短信-->
<!--登记邮件历史-->
<Exec func="PUB:InsertRecord" error="IGNORE">
<Arg name="TblNam" value="CAPSMSMALINF" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=登记发送记录失败</Set>
<Return />
</If>
<!--获取平台流水号-->
<Exec func="PUB:GetUniqueNo">
<Arg name="Name" value="jrn_nextval" />
<Arg name="SeqNam" value="jrn_no_sequence" />
<Arg name="Len" value="10" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=平台取流水号失败</Set>
<Return />
</If>
<If condition="IS_EQUAL_STRING($EVENT.IS_SND_SMS,Y)">
<!--发送短信-->
<Set>phoneSplits=$EVENT.MOB_TEL</Set>
<Set>text=$SMS_INF</Set>
<Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="SendSms"/>
<Arg name="ObjSvr" value="SCAHRO2"/> <!-- 交易发往银行 -->
</Exec>
<If condition="~RetCod !=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询失败</Set>
<Return/>
</If>
<!--获取平台流水号-->
<Exec func="PUB:GetUniqueNo">
<Arg name="Name" value="jrn_nextval" />
<Arg name="SeqNam" value="jrn_no_sequence" />
<Arg name="Len" value="10" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=平台取流水号失败</Set>
<Return />
</If>
<Set>JRN_NO=STRCAT(SUBSTR($AC_DT,3,6),$jrn_nextval)</Set>
<Delete>jrn_nextval</Delete>
<Set>SEND_MSG=$SMS_INF</Set>
<Set>RECEIVE_NM=$phoneSplits</Set>
<Set>SEND_NM=</Set>
<Set>MSG_FLG=2</Set><!--1邮件 2短信-->
<Set>JRN_NO=STRCAT(SUBSTR($AC_DT,3,6),$jrn_nextval)</Set>
<Delete>jrn_nextval</Delete>
<Set>SEND_MSG=$SMS_INF</Set>
<Set>RECEIVE_NM=$receiver</Set>
<Set>SEND_NM=$user</Set>
<Set>MSG_FLG=1</Set><!--1邮件 2短信-->
<!--登记邮件历史-->
<Exec func="PUB:InsertRecord" error="IGNORE">
<Arg name="TblNam" value="CAPSMSMALINF" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=登记发送记录失败</Set>
<Return />
</If>
<!--登记邮件历史-->
<Exec func="PUB:InsertRecord" error="IGNORE">
<Arg name="TblNam" value="CAPSMSMALINF" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=登记发送记录失败</Set>
<Return />
</If>
</If>
<If condition="IS_EQUAL_STRING($EVENT.IS_SND_SMS,Y)">
<!--发送短信-->
<Set>phoneSplits=$EVENT.MOB_TEL</Set>
<Set>text=$SMS_INF</Set>
<Exec func="PUB:CallThirdComm" error="IGNORE">
<Arg name="HTxnCd" value="SendSms"/>
<Arg name="ObjSvr" value="SCAHRO2"/> <!-- 交易发往银行 -->
</Exec>
<If condition="~RetCod !=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=查询失败</Set>
<Return/>
</If>
<!--获取平台流水号-->
<Exec func="PUB:GetUniqueNo">
<Arg name="Name" value="jrn_nextval" />
<Arg name="SeqNam" value="jrn_no_sequence" />
<Arg name="Len" value="10" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=平台取流水号失败</Set>
<Return />
</If>
<Set>JRN_NO=STRCAT(SUBSTR($AC_DT,3,6),$jrn_nextval)</Set>
<Delete>jrn_nextval</Delete>
<Set>SEND_MSG=$SMS_INF</Set>
<Set>RECEIVE_NM=$phoneSplits</Set>
<Set>SEND_NM=</Set>
<Set>MSG_FLG=2</Set><!--1邮件 2短信-->
<!--登记邮件历史-->
<Exec func="PUB:InsertRecord" error="IGNORE">
<Arg name="TblNam" value="CAPSMSMALINF" />
</Exec>
<If condition="~RetCod!=0">
<Set>Rsp_Cd=80</Set>
<Set>Rsp_Msg=登记发送记录失败</Set>
<Return />
</If>
</If>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
</Process>
</Function>
<!--提交事务-->
<Exec func="PUB:CommitWork"/>
<Set>Rsp_Cd=00</Set>
<Set>Rsp_Msg=交易成功</Set>
</Process>
</Function>
</Package>