...
|
...
|
@@ -77,34 +77,42 @@ public class EnginCheckServiceImpl implements EnginCheckService { |
|
|
ruleChannelConfig.setChannelNum(gatherInfo.getChnlno());
|
|
|
List<RuleChannelConfig> ruleChannelConfigs = ruleChannelConfigDao.selectByChannelAndBusiTypeAndGoodsType(ruleChannelConfig);
|
|
|
|
|
|
for (int i = 0; i < ruleChannelConfigs.size(); i++) {
|
|
|
// 执行脚本中指定的方法 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;
|
|
|
}
|
|
|
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;
|
|
|
}
|
|
|
|
|
|
//核销判定
|
|
|
if (executorResult.getContext()==null && "void".equals(ruleChannelConfigs.get(i).ruleConfig.getScriptMethodReturn())){
|
|
|
log.info("核销判定");
|
|
|
// 执行脚本中指定的方法 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;
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
log.error("验证脚本名称:{},验证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("[{}]-通道未配置规则,不支持此业务",gatherInfo.getChnlno());
|
|
|
sendBw(gatherInfo,false,"通道未配置规则,不支持此业务",executeParams);
|
|
|
return false;
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
sendBw(gatherInfo,false,"未找到流转申请信息",executeParams);
|
|
|
log.error("未找到流转申请信息");
|
|
|
return false;
|
|
|
}
|
...
|
...
|
@@ -192,6 +200,7 @@ public class EnginCheckServiceImpl implements EnginCheckService { |
|
|
redisService.incr("kako-total",1);
|
|
|
}
|
|
|
commandlog(info,check,reason,executeParams);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
log.info(String.format("开始发送指令:车牌%s,场站%s,通道%s,重量%s",info.getVename(),info.getAreaid(),info.getChnlno(),info.getGrosswt()));
|
...
|
...
|
@@ -302,4 +311,107 @@ public class EnginCheckServiceImpl implements EnginCheckService { |
|
|
}
|
|
|
commandLogService.insert(command);
|
|
|
}
|
|
|
|
|
|
|
|
|
@Override
|
|
|
public void formRelease(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())){
|
|
|
// 执行脚本中指定的方法 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("核销判定判定放行结果=========>>>>>>>>>>>{}", executorResult);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
log.error("核销判定通道申请信息无效");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void lockNoticeContinueCheck(GatherInfo gatherInfo) {
|
|
|
|
|
|
ExecuteParams executeParams = makeParaByGagherInfo(gatherInfo);
|
|
|
Boolean check = enginCheckByLockNotice(gatherInfo,executeParams);
|
|
|
if (check){
|
|
|
log.info("脚本验放测试通过");
|
|
|
//放行
|
|
|
pass(gatherInfo,executeParams);
|
|
|
|
|
|
formRelease(gatherInfo,executeParams);
|
|
|
}else {
|
|
|
log.error("脚本验放测试失败");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
private Boolean enginCheckByLockNotice(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())){
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
if (ruleChannelConfigs.get(i).ruleConfig != null && ruleChannelConfigs.get(i).ruleConfig.getRuleType().contains("关锁")){
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
// 执行脚本中指定的方法 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;
|
|
|
}
|
|
|
}
|
|
|
}else {
|
|
|
log.error("验证脚本名称:{},验证KEY-NAME:{}-[验放失败]",ruleChannelConfigs.get(i).ruleConfig.getRuleName(),ruleChannelConfigs.get(i).ruleConfig.getScriptKey());
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
}else {
|
|
|
log.error("[{}]-通道未配置规则,不支持此业务",gatherInfo.getChnlno());
|
|
|
sendBw(gatherInfo,false,"通道未配置规则,不支持此业务",executeParams);
|
|
|
return false;
|
|
|
}
|
|
|
}
|
|
|
sendBw(gatherInfo,false,"未找到流转申请信息",executeParams);
|
|
|
log.error("未找到流转申请信息");
|
|
|
return false;
|
|
|
}
|
|
|
} |
...
|
...
|
|