Commit c7d40774 by huangshunlin

接口屏蔽,账号相关校验屏蔽,pts ref关键字修改sql

parent 6fce343a
......@@ -308,7 +308,9 @@
<select id="getPtsByObjInrTyp" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
INR ,OBJTYP,OBJINR,ROL,PTAINR,PTYINR,EXTKEY,ADRBLK,"REF",NAM,OWNREF,DFTCUR,DFTDSP,
DFTACT,DFTFEECUR,DFTACTPTAINR,GLGGRPFLG,EXTACT,VER,ISSBANINF,BANKNO,JIGOMC,DIZHII,
YOUZBM,DIHDIG,DFTSETROL,PTCNAM,PTCOE,CNNAM,CNADR,ENNAM,ENADR
from pts
where objinr = #{objinr,jdbcType=VARCHAR}
and objtyp = #{objtyp,jdbcType=VARCHAR}
......
......@@ -7,9 +7,7 @@ import com.brilliance.isc.common.codetable.service.CodetableService;
import com.brilliance.isc.common.context.SettleContext;
import com.brilliance.isc.mda.dao.TrmMapper;
import com.brilliance.mda.runtime.mda.impl.Argument;
import com.brilliance.mda.runtime.mda.util.Decimals;
import com.brilliance.mda.runtime.mda.util.MdaUtils;
import com.brilliance.mda.runtime.mda.util.Numerics;
import com.brilliance.mda.runtime.mda.util.Strings;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -31,7 +29,7 @@ public class ActmodComponent {
/**
* source:actmod.0016.script
*/
public boolean checkAccount(String account,String term_id,String branch,String cur,String manFLG, Argument<String> err) {
public boolean checkAccount(String account, String term_id, String branch, String cur, String manFLG, Argument<String> err) {
//---------------------------------------------
// 新一代账号检核函数
// 返回:True 正确
......@@ -50,21 +48,21 @@ public class ActmodComponent {
//------ZMQZMQ---------------------------------------
//---自贸区主账号处理--
String vcur = "";
if( MdaUtils.compareTo(Strings.mid(account,1,2),"FT") == 0
|| MdaUtils.compareTo(Strings.mid(account,1,2),"EF") == 0
|| MdaUtils.compareTo(Strings.mid(account,1,3),"ZMQ") == 0 ) {
if( MdaUtils.compareTo(Strings.mid(account,1,2),"FT") == 0
|| MdaUtils.compareTo(Strings.mid(account,1,2),"EF") == 0) {
if (MdaUtils.compareTo(Strings.mid(account, 1, 2), "FT") == 0
|| MdaUtils.compareTo(Strings.mid(account, 1, 2), "EF") == 0
|| MdaUtils.compareTo(Strings.mid(account, 1, 3), "ZMQ") == 0) {
if (MdaUtils.compareTo(Strings.mid(account, 1, 2), "FT") == 0
|| MdaUtils.compareTo(Strings.mid(account, 1, 2), "EF") == 0) {
return true;
} else {
//------ZMQZMQ---------------------------------------
return checkZMQAccount(Strings.mid(account,4),term_id,cur,err);
return checkZMQAccount(Strings.mid(account, 4), term_id, cur, err);
}
} else {
if( length == 20 && MdaUtils.compareTo(Strings.mid(account,1,3), "NRA") == 0) {
return checkAccount(Strings.mid(account,4,17),term_id,branch,cur,manFLG,err);
if (length == 20 && MdaUtils.compareTo(Strings.mid(account, 1, 3), "NRA") == 0) {
return checkAccount(Strings.mid(account, 4, 17), term_id, branch, cur, manFLG, err);
} else {
if( length != 17 && length != 21 ) {
if (length != 17 && length != 21) {
err.value = "账号位数错误";
return false;
}
......@@ -87,7 +85,7 @@ public class ActmodComponent {
**/
//---------------------------------------------
//if IsEmpty( term_id ) then
if( MdaUtils.isEmpty(term_id) && ( MdaUtils.compareTo(SettleContext.getTransName(),"BRTSET") != 0 && MdaUtils.compareTo(SettleContext.getTransName(),"BRTSET1") != 0 && MdaUtils.compareTo(SettleContext.getTransName(),"GITSET") != 0 && MdaUtils.compareTo(SettleContext.getTransName(),"MCTFEE") != 0 ) ) {
if (MdaUtils.isEmpty(term_id) && (MdaUtils.compareTo(SettleContext.getTransName(), "BRTSET") != 0 && MdaUtils.compareTo(SettleContext.getTransName(), "BRTSET1") != 0 && MdaUtils.compareTo(SettleContext.getTransName(), "GITSET") != 0 && MdaUtils.compareTo(SettleContext.getTransName(), "MCTFEE") != 0)) {
err.value = "科目代码为空";
return false;
}
......@@ -98,7 +96,7 @@ public class ActmodComponent {
Argument<String> seqNoBox = new Argument<String>();
Argument<String> prtTypBox = new Argument<String>();
Argument<String> namBox = new Argument<String>();
getActTypField(term_id,notypBox,repflgBox,vterm_idBox,term_namBox,seqNoBox,prtTypBox,namBox);
getActTypField(term_id, notypBox, repflgBox, vterm_idBox, term_namBox, seqNoBox, prtTypBox, namBox);
String repflg = repflgBox.value;
String vterm_id = vterm_idBox.value;
......@@ -111,18 +109,18 @@ public class ActmodComponent {
else // 根据位数判断新旧帐号
**/
boolean gotoNewAccount = false;
if( length == 21 ) {
gotoNewAccount = false ; // goto CheckOldAccount
if (length == 21) {
gotoNewAccount = false; // goto CheckOldAccount
} else {
gotoNewAccount = true ; // goto CheckNewAccount
gotoNewAccount = true; // goto CheckNewAccount
}
/**
endif
endif
**/
// label CheckNewAccount
if(gotoNewAccount){
if( length == 21 ) {
if (gotoNewAccount) {
if (length == 21) {
err.value = "科目:" + vterm_id + " 为新帐号类型,长度必须为17位";
return false;
}
......@@ -135,16 +133,16 @@ public class ActmodComponent {
endif
endif
**/
if( MdaUtils.compareTo(repflg,"R") == 0 && ! MdaUtils.isEmpty(branch) && MdaUtils.compareTo(getBranch(branch), Strings.mid(account,1,4)) != 0 ) {
if (MdaUtils.compareTo(repflg, "R") == 0 && !MdaUtils.isEmpty(branch) && MdaUtils.compareTo(getBranch(branch), Strings.mid(account, 1, 4)) != 0) {
err.value = "账号中的机构位(1-4)与记账机构 " + branch + " 不符";
return false;
}
vcur = Strings.mid(account,5,2);
vcur = Strings.mid(account, 5, 2);
// goto checkEnd
}
// label CheckOldAccount
if(!gotoNewAccount){
if( length == 17 ) {
if (!gotoNewAccount) {
if (length == 17) {
err.value = "科目:" + vterm_id + " 为旧帐号类型,长度必须为21位";
return false;
}
......@@ -156,24 +154,24 @@ public class ActmodComponent {
= FALSE
endif
**/
if( MdaUtils.compareTo(repflg,"R") == 0 && ! MdaUtils.isEmpty(branch) && MdaUtils.compareTo(branch,Strings.mid(account,1,8)) != 0 ) {
if (MdaUtils.compareTo(repflg, "R") == 0 && !MdaUtils.isEmpty(branch) && MdaUtils.compareTo(branch, Strings.mid(account, 1, 8)) != 0) {
err.value = "账号中的机构位(1-8)与记账机构 " + branch + " 不符 ";
return false;
}
vcur = Strings.mid(account,9,2);
vcur = Strings.mid(account, 9, 2);
// goto checkEnd
}
//label checkEnd
//检查账号的币别位
if( ! MdaUtils.isEmpty(cur) ) {
if( MdaUtils.compareTo(vcur,Strings.mid(codetableService.getTblLabel(cur,"CURKEY"),1,2)) != 0 ) {
if (!MdaUtils.isEmpty(cur)) {
if (MdaUtils.compareTo(vcur, Strings.mid(codetableService.getTblLabel(cur, "CURKEY"), 1, 2)) != 0) {
err.value = "记账币种 " + cur + " 与账号币种不符";
return false;
}
}
//检查客户帐的校验位
if( MdaUtils.compareTo(repflg,"C") == 0 && MdaUtils.compareTo(Strings.mid(term_id,1,2),"AS") != 0 ) {
if(!chkActMac(account)) {
if (MdaUtils.compareTo(repflg, "C") == 0 && MdaUtils.compareTo(Strings.mid(term_id, 1, 2), "AS") != 0) {
if (!chkActMac(account)) {
err.value = "客户帐号合法性校验错误";
// Err = "MAC[" + GetActMac( Account ) + "]," + Err
return false;
......@@ -201,14 +199,14 @@ public class ActmodComponent {
//---------------------------------------------
int length = Strings.len(account);
//------ZMQZMQ---------------------------------------
if( length != 17 && length != 21 ) {
if (length != 17 && length != 21) {
err.value = "账号位数错误";
return false;
}
String vcur = Strings.mid(account,5,2);
String vcur = Strings.mid(account, 5, 2);
// return ; // #### goto checkEnd
// #### label checkEnd
if( MdaUtils.isEmpty(term_id) && ( MdaUtils.compareTo(SettleContext.getTransName(),"BRTSET") != 0 && MdaUtils.compareTo(SettleContext.getTransName(),"BRTSET1") != 0 && MdaUtils.compareTo(SettleContext.getTransName(),"GITSET") != 0 && MdaUtils.compareTo(SettleContext.getTransName(),"MCTFEE") != 0 ) ) {
if (MdaUtils.isEmpty(term_id) && (MdaUtils.compareTo(SettleContext.getTransName(), "BRTSET") != 0 && MdaUtils.compareTo(SettleContext.getTransName(), "BRTSET1") != 0 && MdaUtils.compareTo(SettleContext.getTransName(), "GITSET") != 0 && MdaUtils.compareTo(SettleContext.getTransName(), "MCTFEE") != 0)) {
err.value = "科目代码为空";
return false;
}
......@@ -219,8 +217,8 @@ public class ActmodComponent {
endif
**/
//检查账号的币别位
if( ! MdaUtils.isEmpty(cur) ) {
if( MdaUtils.compareTo(vcur,Strings.mid(codetableService.getTblLabel(cur,"CURKEY"),1,2)) != 0 ) {
if (!MdaUtils.isEmpty(cur)) {
if (MdaUtils.compareTo(vcur, Strings.mid(codetableService.getTblLabel(cur, "CURKEY"), 1, 2)) != 0) {
err.value = "记账币种 " + cur + " 与账号币种不符 ";
return false;
}
......@@ -240,7 +238,7 @@ public class ActmodComponent {
/**
* source:actmod.0011.script
*/
public void getActTypField(String tbltyp,Argument<String> nottyp,Argument<String> repTyp,Argument<String> term_id,Argument<String> term_nam,Argument<String> seqNo,Argument<String> prttyp,Argument<String> nam) {
public void getActTypField(String tbltyp, Argument<String> nottyp, Argument<String> repTyp, Argument<String> term_id, Argument<String> term_nam, Argument<String> seqNo, Argument<String> prttyp, Argument<String> nam) {
//-------------------------------------------
// 获取账户信息的函数
// TBLTYP CodeTable ACTMIX 的TBL
......@@ -258,15 +256,15 @@ public class ActmodComponent {
seqNo.value = "";
prttyp.value = "";
nam.value = "";
String txt = codetableService.getTblLabel(tbltyp,"ACTMIX");
if(!MdaUtils.isEmpty(txt)) {
nottyp.value = Strings.mid(txt,1,1);
repTyp.value = Strings.mid(txt,2,1);
term_id.value = Strings.mid(txt,4,5);
term_nam.value = Strings.mid(txt,10,6);
seqNo.value = Strings.mid(txt,17,1);
prttyp.value = Strings.mid(txt,19,2);
nam.value = Strings.mid(txt,22,-1);
String txt = codetableService.getTblLabel(tbltyp, "ACTMIX");
if (!MdaUtils.isEmpty(txt)) {
nottyp.value = Strings.mid(txt, 1, 1);
repTyp.value = Strings.mid(txt, 2, 1);
term_id.value = Strings.mid(txt, 4, 5);
term_nam.value = Strings.mid(txt, 10, 6);
seqNo.value = Strings.mid(txt, 17, 1);
prttyp.value = Strings.mid(txt, 19, 2);
nam.value = Strings.mid(txt, 22, -1);
}
}
......@@ -289,8 +287,9 @@ public class ActmodComponent {
//----------------------------
//现有账号校验均不合法,屏蔽
//= TRUE
return true;
//----------------------------
String e0 = "000000000000000000000";
/* String e0 = "000000000000000000000";
String fullAct = Strings.mid(e0,1,21 - Strings.len(account)) + account;
int ss = 0;
String switchVar = "";
......@@ -405,7 +404,7 @@ public class ActmodComponent {
return true;
} else {
return false;
}
}*/
}
/**
......@@ -430,8 +429,8 @@ public class ActmodComponent {
// 根据选择的账户类型返回账户类型代码
//
// -----------------------------
String dsp = Strings.mid(type,1,2);
if("PA".equals(dsp)) {
String dsp = Strings.mid(type, 1, 2);
if ("PA".equals(dsp)) {
dsp = "SP";
}
return dsp;
......
......@@ -7,6 +7,7 @@ import com.brilliance.isc.common.esb.tymd.ITymdFeign;
import com.brilliance.isc.common.forexmod.RiskCustomerDisposeComponent;
import com.brilliance.isc.common.monmod.vo.MonmodVo;
import com.brilliance.isc.common.setgll.vo.SetgllVo;
import com.brilliance.isc.common.sysmod.SysmodService;
import com.brilliance.isc.common.transaction.newcheck.AbstractModuleValidator;
import com.brilliance.isc.common.transaction.newcheck.Warning;
import com.brilliance.isc.common.transaction.newcheck.WarningResult;
......@@ -49,17 +50,20 @@ public class MonmodValidator extends AbstractModuleValidator<MonmodVo> {
@Resource
private PtyMapper ptyMapper;
@Resource
private SysmodService sysmodService;
@Override
@PostConstruct
public void register() {
super.register();
}
@Warning(path = "warncustomer",level = "1")
@Warning(path = "warncustomer", level = "1")
public WarningResult checkCustom(MonmodVo vo) {
String msg = dovalidate(vo, true);
if (StringUtils.isNotEmpty(msg)) {
return WarningResult.build(WARNING_SUBID,msg);
return WarningResult.build(WARNING_SUBID, msg);
}
return WarningResult.buildEmpty(WARNING_SUBID);
}
......@@ -68,23 +72,23 @@ public class MonmodValidator extends AbstractModuleValidator<MonmodVo> {
public WarningResult checkCustomLevel2(MonmodVo vo) {
String msg = dovalidate(vo, false);
if (StringUtils.isNotEmpty(msg)) {
return WarningResult.build(DOWNGRADE_SUBID,msg);
return WarningResult.build(DOWNGRADE_SUBID, msg);
}
return WarningResult.buildEmpty(DOWNGRADE_SUBID);
}
public String dovalidate(MonmodVo vo, boolean interdiction) {
//先判断有没有重写方法获取 AbstractTransactionService#getPtyinr AbstractTransactionService#downgradeMsg
if (StringUtils.isNotEmpty(vo.getPtyinr())){
if (StringUtils.isNotEmpty(vo.getPtyinr())) {
Pty pty = ptyMapper.selectByPtyinr(vo.getPtyinr());
if (pty!=null) {
if (pty != null) {
// return RISK_LEVEL_4_MSG;
String extkey = pty.getExtkey();
String level = callDU01(extkey);
if (interdiction){
if (interdiction) {
return null; // TODO 现需求主要求保函阻断
}else {
return getDowngradeWarningMsg(level,extkey,vo);
} else {
return getDowngradeWarningMsg(level, extkey, vo);
}
}
}
......@@ -99,14 +103,14 @@ public class MonmodValidator extends AbstractModuleValidator<MonmodVo> {
// }
String extkey = getExtkey(vo);
String level = callDU01(extkey);
if (interdiction){
if ("4".equals(level)){
if (interdiction) {
if ("4".equals(level)) {
return RISK_LEVEL_4_MSG;
} else {
return null;
}
}else {
return getDowngradeWarningMsg(level,extkey,vo);
} else {
return getDowngradeWarningMsg(level, extkey, vo);
}
case "GITAME":
case "GITPAM":
......@@ -194,7 +198,7 @@ public class MonmodValidator extends AbstractModuleValidator<MonmodVo> {
public String dealSameMethod(String hndtyp, List<PtsptaVo> list) {
String extkey = "";
if ("OT".equalsIgnoreCase(hndtyp) || "F".equalsIgnoreCase(hndtyp.substring(0,1))) {
if ("OT".equalsIgnoreCase(hndtyp) || "F".equalsIgnoreCase(hndtyp.substring(0, 1))) {
extkey = getExtkeyDataByHndtyp(list, "BEN");
} else {
extkey = getExtkeyDataByHndtyp(list, "APL");
......@@ -202,18 +206,18 @@ public class MonmodValidator extends AbstractModuleValidator<MonmodVo> {
return extkey;
}
private String getDowngradeWarningMsg(String level,String extkey, MonmodVo vo) {
private String getDowngradeWarningMsg(String level, String extkey, MonmodVo vo) {
// String level = callDU01(extkey);
StringBuilder sb = new StringBuilder();
if (StringUtils.isNotEmpty(vo.getDowngradeMsg())){
if (StringUtils.isNotEmpty(vo.getDowngradeMsg())) {
sb.append(vo.getDowngradeMsg());
}
if ("3".equalsIgnoreCase(level)||"4".equalsIgnoreCase(level)){
if ("3".equalsIgnoreCase(level) || "4".equalsIgnoreCase(level)) {
sb.append("洗钱风险等级为".concat(level));
}
if (sb.length()>0){
if (vo!=null&&vo.getForexmod()!=null&&("01".equals(vo.getForexmod().getRiskLevel())||"02".equals(vo.getForexmod().getRiskLevel()))) {
callOC52(extkey, sb.toString(),vo);
if (sb.length() > 0) {
if (vo != null && vo.getForexmod() != null && ("01".equals(vo.getForexmod().getRiskLevel()) || "02".equals(vo.getForexmod().getRiskLevel()))) {
callOC52(extkey, sb.toString(), vo);
return "客户风险等级降级原因:".concat(sb.toString());
}
}
......@@ -225,6 +229,7 @@ public class MonmodValidator extends AbstractModuleValidator<MonmodVo> {
}
public String callDU01(String extkey) {
if (sysmodService.isInterfaceOpen("DU01")) {
InnerReqDU01 innerReqDU01 = new InnerReqDU01();
// 需要查询的客户号
innerReqDU01.ECIF_CUST_NO = extkey;
......@@ -237,14 +242,15 @@ public class MonmodValidator extends AbstractModuleValidator<MonmodVo> {
return innerResDU01InnerRes.DATA.getRISK_RATING();
}
}
}
return null;
}
private void callOC52(String extkey, String reason, MonmodVo vo){
if (vo!=null&&vo.getForexmod()!=null&&("01".equals(vo.getForexmod().getRiskLevel())||"02".equals(vo.getForexmod().getRiskLevel()))){
private void callOC52(String extkey, String reason, MonmodVo vo) {
if (vo != null && vo.getForexmod() != null && ("01".equals(vo.getForexmod().getRiskLevel()) || "02".equals(vo.getForexmod().getRiskLevel()))) {
String usr = SettleContext.getSessionUserVo().getLogName();
taskDistAsyncExecutor.execute(()->{
riskCustomerDisposeComponent.OC52(extkey,reason,usr);
taskDistAsyncExecutor.execute(() -> {
riskCustomerDisposeComponent.OC52(extkey, reason, usr);
});
}
}
......
......@@ -1096,7 +1096,7 @@ public class SetgllValidator extends AbstractModuleValidator<SetgllVo> {
return ValidResult.build(false, "该账号为待核查且已确认不使用,请重新点击获取确认");
}
} else {
if(!MdaUtils.isEmpty(setgllVo.getAct())
/*if(!MdaUtils.isEmpty(setgllVo.getAct())
&& MdaUtils.compareTo(Strings.mid(setgllVo.getDsp(),1,2),"LO") == 0
&& MdaUtils.compareTo(setgllVo.getAcccur(),"CNY") != 0 ) {
AccountRequestVo requestVo = new AccountRequestVo();
......@@ -1109,7 +1109,7 @@ public class SetgllValidator extends AbstractModuleValidator<SetgllVo> {
return ValidResult.build(false, "该账号为待核查账户,请点击获取确认");
}
}
}
}*/
}
return null;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment