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

75 lines
3.1 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Package>
<Function name="UPD_PAY_PSWD">
<Input>INP_DAT</Input>
<Output>OUT_DAT|MSG_CD</Output>
<!-- 更新支付密码和状态 -->
<DynSentence name="UPDATE_PAYPSWD_BY_USRNO">
<Sentence>
UPDATE ACMTACIN SET PAY_PSWD=?,PAY_PSWD_STS='0' WHERE USR_NO=?
</Sentence>
<Fields>PAY_PSWD_NEW|CHK_PAY_PSWD.USR_NO|</Fields>
</DynSentence>
<Process>
<!-- 校验旧支付密码 -->
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM00000"/>
</Exec>
<Set>INP_DAT.MBL_NO=$INP_DAT.MBL_NO</Set>
<Set>INP_DAT.PAY_PSWD_IN=$INP_DAT.PAY_PSWD_OLD</Set>
<Call package="URM" function="CHK_PAY_PSWD">
<Input>GWA|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>
<Return/>
</If>
<Set>CHK_PAY_PSWD=VAL("@O.OUT_DAT")</Set>
<!-- 修改支付密码LYS -->
<Set>~AAA=$PAY_PSWD_NEW</Set> <!-- test -->
<Set>ACCNO=STRCAT(SUBSTR($CHK_PAY_PSWD.AC_NO,1,6),SUBSTR($CHK_PAY_PSWD.AC_NO,10,10))</Set>
<Exec func ="HSM:HsmPin">
<Arg name="PINTYPE" value="L1"/>
<Arg name="PINBLOCKBYZPK" value="$INP_DAT.PAY_PSWD_NEW"/>
<Arg name="ACCNO" value="$ACCNO"/>
<Arg name="ZPK" value="$GWA.BUS_CNL"/>
<Arg name="PVK" value="264"/>
<Arg name="PINOFFSET" value=""/>
<Arg name="MINPINLENGTH" value="6"/>
<Arg name="PINLENGTH" value="6"/>
<Arg name="dstfld" value="PAY_PSWD_NEW"/>
<Arg name ="ecp_dstfld" value=""/>
</Exec>
<Set>~BBB=$PAY_PSWD_NEW</Set> <!-- test -->
<If condition="~RetCod!=0">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM20052"/>
</Exec>
<Return/>
</If>
<Exec func="PUB:DumpETF"/>
<!-- 更新支付密码,修改密码状态 -->
<Exec func="PUB:ExecSql">
<Arg name="SqlCmd" value="UPDATE_PAYPSWD_BY_USRNO"/>
</Exec>
<If condition="~RetCod=2">
<Exec func="PUB:CmpSetMsg">
<Arg name="MsgCd" value="URM20003"/> <!-- 更新数据库时,数据不存在 -->
</Exec>
<Return/>
</If>
<Exec func="PUB:DumpETF"/>
</Process>
</Function>
</Package>