...
|
...
|
@@ -67,54 +67,59 @@ public class EnginCheckServiceImpl implements EnginCheckService { |
|
|
@Override
|
|
|
public Boolean enginCheckByGatherInfo(GatherInfo gatherInfo,ExecuteParams executeParams) {
|
|
|
|
|
|
//获取申请信息
|
|
|
LandBusinessTypeList chanelFormInfo = (LandBusinessTypeList) executeParams.get("ChanelFormInfo");
|
|
|
if (chanelFormInfo!=null){
|
|
|
//查询验放配置参数生成
|
|
|
RuleChannelConfig ruleChannelConfig = new RuleChannelConfig();
|
|
|
ruleChannelConfig.setBusinessType(chanelFormInfo.getBusinesstype());
|
|
|
ruleChannelConfig.setGoodsType(chanelFormInfo.getCocode());
|
|
|
ruleChannelConfig.setChannelNum(gatherInfo.getChnlno());
|
|
|
List<RuleChannelConfig> ruleChannelConfigs = ruleChannelConfigDao.selectByChannelAndBusiTypeAndGoodsType(ruleChannelConfig);
|
|
|
|
|
|
if (ruleChannelConfigs!=null && !ruleChannelConfigs.isEmpty()){
|
|
|
for (int i = 0; i < ruleChannelConfigs.size(); i++) {
|
|
|
/**
|
|
|
* 核销判定需要另外执行.这里需要跳过.
|
|
|
*/
|
|
|
if (ruleChannelConfigs.get(i).ruleConfig != null && "核销判定".equals(ruleChannelConfigs.get(i).ruleConfig.getRuleType())){
|
|
|
return true;
|
|
|
}
|
|
|
// 执行脚本中指定的方法 changeProduct
|
|
|
EngineExecutorResult executorResult = engineExecutor.execute(
|
|
|
ruleChannelConfigs.get(i).ruleConfig.getScriptMethodName(), new ScriptQuery(ruleChannelConfigs.get(i).ruleConfig.getScriptKey()), executeParams);
|
|
|
log.info("验证脚本名称:{},验证KEY-NAME:{}", ruleChannelConfigs.get(i).ruleConfig.getRuleName(),ruleChannelConfigs.get(i).ruleConfig.getScriptKey());
|
|
|
log.info("使用groovy脚本来验证过卡判定放行结果=========>>>>>>>>>>>执行结果:{}", executorResult);
|
|
|
if (executorResult.getExecutionStatus().equals(ExecutionStatus.SUCCESS)){
|
|
|
if (executorResult.getContext() instanceof Boolean){
|
|
|
Boolean execResult = (Boolean) executorResult.getContext();
|
|
|
if (execResult) {
|
|
|
log.info("验证脚本名称:{},验证KEY-NAME:{}-[验放成功]",ruleChannelConfigs.get(i).ruleConfig.getRuleName(),ruleChannelConfigs.get(i).ruleConfig.getScriptKey());
|
|
|
}else {
|
|
|
log.info("验放失败");
|
|
|
return false;
|
|
|
try {
|
|
|
//获取申请信息
|
|
|
LandBusinessTypeList chanelFormInfo = (LandBusinessTypeList) executeParams.get("ChanelFormInfo");
|
|
|
if (chanelFormInfo!=null){
|
|
|
//查询验放配置参数生成
|
|
|
RuleChannelConfig ruleChannelConfig = new RuleChannelConfig();
|
|
|
ruleChannelConfig.setBusinessType(chanelFormInfo.getBusinesstype());
|
|
|
ruleChannelConfig.setGoodsType(chanelFormInfo.getCocode());
|
|
|
ruleChannelConfig.setChannelNum(gatherInfo.getChnlno());
|
|
|
List<RuleChannelConfig> ruleChannelConfigs = ruleChannelConfigDao.selectByChannelAndBusiTypeAndGoodsType(ruleChannelConfig);
|
|
|
|
|
|
if (ruleChannelConfigs!=null && !ruleChannelConfigs.isEmpty()){
|
|
|
for (int i = 0; i < ruleChannelConfigs.size(); i++) {
|
|
|
/**
|
|
|
* 核销判定需要另外执行.这里需要跳过.
|
|
|
*/
|
|
|
if (ruleChannelConfigs.get(i).ruleConfig != null && "核销判定".equals(ruleChannelConfigs.get(i).ruleConfig.getRuleType())){
|
|
|
return true;
|
|
|
}
|
|
|
// 执行脚本中指定的方法 changeProduct
|
|
|
EngineExecutorResult executorResult = engineExecutor.execute(
|
|
|
ruleChannelConfigs.get(i).ruleConfig.getScriptMethodName(), new ScriptQuery(ruleChannelConfigs.get(i).ruleConfig.getScriptKey()), executeParams);
|
|
|
log.info("验证脚本名称:{},验证KEY-NAME:{},执行结果:{}", ruleChannelConfigs.get(i).ruleConfig.getRuleName(),ruleChannelConfigs.get(i).ruleConfig.getScriptKey(),executorResult);
|
|
|
if (executorResult.getExecutionStatus().equals(ExecutionStatus.SUCCESS)){
|
|
|
if (executorResult.getContext() instanceof Boolean){
|
|
|
Boolean execResult = (Boolean) executorResult.getContext();
|
|
|
if (execResult) {
|
|
|
log.info("[ENGIN-CHECK-SUCCESS] - 验证脚本名称:{},验证KEY-NAME:{}-[验放成功]",ruleChannelConfigs.get(i).ruleConfig.getRuleName(),ruleChannelConfigs.get(i).ruleConfig.getScriptKey());
|
|
|
}else {
|
|
|
log.info("[ENGIN-CHECK-FAILD]验放失败");
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
log.error("[ENGIN-CHECK-FAILD]-验证脚本名称:{},验证KEY-NAME:{}-[验放失败]",ruleChannelConfigs.get(i).ruleConfig.getRuleName(),ruleChannelConfigs.get(i).ruleConfig.getScriptKey());
|
|
|
return false;
|
|
|
}
|
|
|
}else {
|
|
|
log.error("验证脚本名称:{},验证KEY-NAME:{}-[验放失败]",ruleChannelConfigs.get(i).ruleConfig.getRuleName(),ruleChannelConfigs.get(i).ruleConfig.getScriptKey());
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}else {
|
|
|
log.error("[ENGIN-CHECK-FAILD]-[{}]-通道未配置规则,不支持此业务",gatherInfo.getChnlno());
|
|
|
sendBw(gatherInfo,false,"通道未配置规则,不支持此业务",executeParams);
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}else {
|
|
|
log.error("[{}]-通道未配置规则,不支持此业务",gatherInfo.getChnlno());
|
|
|
sendBw(gatherInfo,false,"通道未配置规则,不支持此业务",executeParams);
|
|
|
return false;
|
|
|
}
|
|
|
sendBw(gatherInfo,false,"未找到流转申请信息",executeParams);
|
|
|
log.error("[ENGIN-CHECK-FAILD]-未找到流转申请信息");
|
|
|
return false;
|
|
|
}catch (Exception e){
|
|
|
log.error("[ENGIN-CHECK-ERR]",e);
|
|
|
return false;
|
|
|
}
|
|
|
sendBw(gatherInfo,false,"未找到流转申请信息",executeParams);
|
|
|
log.error("未找到流转申请信息");
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
@Override
|
...
|
...
|
|