From 161edfd2a50595021d9bfe303ed7f1b26893b862 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 29 十一月 2024 12:12:15 +0800
Subject: [PATCH] 数据授权
---
Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java | 47 ++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 44 insertions(+), 3 deletions(-)
diff --git a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
index 31f0204..4fab207 100644
--- a/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
+++ b/Source/plt-web/plt-web-parent/plt-web/src/main/java/com/vci/web/service/impl/WebBoServiceImpl.java
@@ -26,6 +26,7 @@
import com.vci.starter.web.wrapper.VciQueryWrapperForDO;
import com.vci.web.properties.WebProperties;
import com.vci.web.service.*;
+import com.vci.web.util.Func;
import com.vci.web.util.PlatformClientUtil;
import com.vci.web.util.WebUtil;
import org.apache.commons.lang3.StringUtils;
@@ -196,7 +197,7 @@
bo.versionRule = String.valueOf(btmTypeVO.getVersionRule());
if(StringUtils.isNotBlank(btmTypeVO.getRevisionRuleId())){
OsRevisionRuleVO revisionRuleVO = revisionRuleService.getRevisionRuleById(btmTypeVO.getRevisionRuleId());
- bo.revisionValue = revisionRuleVO.getStartCode();
+ bo.revisionValue = revisionRuleVO.getInitialValue();
}
bo.revisionSeq = (short) 1;
@@ -942,7 +943,9 @@
replaceLowMap.put(key.toLowerCase(),value);
});
}
- Map<String, ConditionItem> ciMap = condition.getCIMap();
+ //鏀逛负閫掑綊锛屽鐞嗘ā鏉垮妯℃澘鐨勯棶棰�
+ this.recurReplaceCiMap(qt,replaceLowMap);
+ /*Map<String, ConditionItem> ciMap = condition.getCIMap();
ciMap.forEach((ciId,ci)->{
if(ci.isLeaf()) {
LeafInfo lInfo = ci.getLeafInfo();
@@ -965,7 +968,7 @@
}
}
}
- });
+ });*/
}
}catch(PLException e){
logger.error(e.code,e);
@@ -978,6 +981,44 @@
}
/**
+ * 閫掑綊澶勭悊ciMap涓�兼浛鎹㈤棶棰�,澶勭悊妯℃澘濂楁ā鏉跨殑闂
+ * @param qt
+ * @param replaceLowMap
+ */
+ private void recurReplaceCiMap(QueryTemplate qt, Map<String,String> replaceLowMap){
+ //璺冲嚭閫掑綊
+ if(Func.isEmpty(qt)){
+ return;
+ }
+ Map<String, ConditionItem> ciMap = qt.getCondition().getCIMap();
+ ciMap.forEach((ciId,ci)->{
+ if(ci.isLeaf()) {
+ LeafInfo lInfo = ci.getLeafInfo();
+ String value = lInfo.getValue().getOrdinaryValue();
+ if(StringUtils.isNotBlank(value)){
+ if(value.contains("#")){
+ //绯荤粺鍙橀噺.鏀寔涓�涓�
+ //lInfo.getValue().setOrdinaryValue(systemVarValueMap.getOrDefault(value.toUpperCase(),""));
+ }else if(value.contains("${")){
+ //鏈�${xxxx}鐨勬柟寮�
+ if(!CollectionUtils.isEmpty(replaceLowMap)) {
+ try {
+ lInfo.getValue().setOrdinaryValue(VciBaseUtil.replaceByFreeMarker(value, replaceLowMap));
+ }catch (Throwable e){
+ logger.error("鍙兘閰嶇疆鏈夐棶棰橈紝鍦ㄨ浆鎹reemarker琛ㄨ揪寮忕殑鏃跺�欙紝娌℃湁鎵惧埌瀵瑰簲鐨勫�硷紝鐩墠琛ㄨ揪寮忎负{}",new String[]{value},e);
+ }
+ }
+ }else if(replaceLowMap.containsKey(value.toLowerCase())){
+ lInfo.getValue().setOrdinaryValue(replaceLowMap.get(value.toLowerCase()));
+ }
+ }else {
+ recurReplaceCiMap(lInfo.getValue().getQueryTemplate(),replaceLowMap);
+ }
+ }
+ });
+ }
+
+ /**
* 鏍规嵁鏌ヨ妯℃澘鏉ユ煡璇㈡暟鎹�
* @param queryScheme 鏌ヨ鏂规
* @param conditionMap 鏌ヨ鏉′欢
--
Gitblit v1.9.3