Browse Source

1. 后端发布 8.2.5

main
wangshaoping 4 months ago
parent
commit
7e004b75ae
  1. 8
      app.platform/README.adoc
  2. 6
      gradle.properties
  3. 2
      io.sc.engine.mv.frontend/package.json
  4. 4
      io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/generator/impl/processor/ExecutionFlow.java
  5. 2
      io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/IdReplacer.java
  6. 2
      io.sc.engine.rule.frontend/package.json
  7. 13
      io.sc.engine.rule.frontend/src/views/shared/TestCaseGrid.vue
  8. 2
      io.sc.platform.core.frontend/package.json
  9. 12
      io.sc.platform.core.frontend/src/platform/components/code-mirror/WCodeMirror.vue
  10. 2
      io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue
  11. 4
      io.sc.platform.core.frontend/template-project/package.json
  12. 2
      io.sc.platform.developer.doc/package.json
  13. 2
      io.sc.platform.developer.frontend/package.json
  14. 4
      io.sc.platform.gradle/templates/pgp/setup/gradle.properties
  15. 2
      io.sc.platform.lcdp.frontend/package.json
  16. 2
      io.sc.platform.mvc.frontend/package.json
  17. 2
      io.sc.platform.scheduler.manager.frontend/package.json
  18. 2
      io.sc.platform.system.frontend/package.json
  19. 12
      io.sc.platform.util/src/main/java/io/sc/platform/util/DateUtil.java
  20. 12
      io.sc.platform.util/src/main/java/io/sc/platform/util/PlaceHolderExpressionUtil.java

8
app.platform/README.adoc

@ -1,3 +1,11 @@
虚拟机启动参数:
JDK8:
java -jar xxxx.war
JDK17:
java -jar xxxx.war --add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.lang.reflect=ALL-UNNAMED
2025-01-03: 2025-01-03:
1. 替换 mysql 驱动,支持 mysql-5,以便默认支持 TDSQL 1. 替换 mysql 驱动,支持 mysql-5,以便默认支持 TDSQL
2. 修复部分 bug 2. 修复部分 bug

6
gradle.properties

@ -36,9 +36,9 @@ application_version=1.0.0
# platform # platform
######################################gra##################### ######################################gra#####################
platform_group=io.sc platform_group=io.sc
platform_version=8.2.4 platform_version=8.2.5
platform_plugin_version=8.2.4 platform_plugin_version=8.2.5
platform_core_frontend_version=8.2.21 platform_core_frontend_version=8.2.22
########################################################### ###########################################################
# dependencies version # dependencies version

2
io.sc.engine.mv.frontend/package.json

@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.4",
"pinia": "2.2.6", "pinia": "2.2.6",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.5",

4
io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/code/generator/impl/processor/ExecutionFlow.java

@ -218,7 +218,7 @@ public class ExecutionFlow {
if(version==null || version.trim().equals("")) { if(version==null || version.trim().equals("")) {
version ="null"; version ="null";
} }
sb.append("\t").append("ResourceResult result =executor.execute(\"").append(code).append("\",").append(version).append(",arg.toMap())").append(";\n"); sb.append("\t").append("ResourceResult result =executor.executeByCode(\"").append(code).append("\",").append(version).append(",arg.toMap())").append(";\n");
sb.append("\t").append("arg.mergeResult(result);").append("\n"); sb.append("\t").append("arg.mergeResult(result);").append("\n");
//继续调用后续方法 //继续调用后续方法
List<GraphNode> edges =node.getOuts(); //获取条件的所有出口边 List<GraphNode> edges =node.getOuts(); //获取条件的所有出口边
@ -265,7 +265,7 @@ public class ExecutionFlow {
sb.append("\t").append(StringUtil.tabs(ExpressionReplacer.groovy(inputCommands,null),1)).append("\n"); sb.append("\t").append(StringUtil.tabs(ExpressionReplacer.groovy(inputCommands,null),1)).append("\n");
sb.append("\n"); sb.append("\n");
sb.append("\t//调用资源\n"); sb.append("\t//调用资源\n");
sb.append("\t").append("ResourceResult result =executor.execute(\"").append(code).append("\",").append(version).append(",map);").append("\n"); sb.append("\t").append("ResourceResult result =executor.executeByCode(\"").append(code).append("\",").append(version).append(",map);").append("\n");
sb.append("\n"); sb.append("\n");
sb.append("\t//处理资源调用完毕后的输出值\n"); sb.append("\t//处理资源调用完毕后的输出值\n");
sb.append("\t").append(ExpressionReplacer.groovy(outputCommands,null).replace("\n", "\n\t\t")).append("\n"); sb.append("\t").append(ExpressionReplacer.groovy(outputCommands,null).replace("\n", "\n\t\t")).append("\n");

2
io.sc.engine.rule.core/src/main/java/io/sc/engine/rule/core/util/IdReplacer.java

@ -94,7 +94,7 @@ public class IdReplacer {
if(isKeywords(code)) { if(isKeywords(code)) {
return METHOD_NAME_PREFIX + code; return METHOD_NAME_PREFIX + code;
}else{ }else{
return StringUtil.unCapitalize(code); return code;
} }
} }

2
io.sc.engine.rule.frontend/package.json

@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.4",
"pinia": "2.2.6", "pinia": "2.2.6",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.5",

13
io.sc.engine.rule.frontend/src/views/shared/TestCaseGrid.vue

@ -204,7 +204,18 @@ const actionMap = {
const getActions = () => { const getActions = () => {
if (Tools.isNill(props.owner)) { if (Tools.isNill(props.owner)) {
return ['query', actionMap['execute'], actionMap['executeAll'], [actionMap['batchTest'], actionMap['upload']], 'separator', 'view', 'separator', 'export']; return [
'query',
'separator',
'refresh',
actionMap['execute'],
actionMap['executeAll'],
[actionMap['batchTest'], actionMap['upload']],
'separator',
'view',
'separator',
'export',
];
} else { } else {
return [ return [
'refresh', 'refresh',

2
io.sc.platform.core.frontend/package.json

@ -1,6 +1,6 @@
{ {
"name": "platform-core", "name": "platform-core",
"version": "8.2.21", "version": "8.2.22",
"description": "前端核心包,用于快速构建前端的脚手架", "description": "前端核心包,用于快速构建前端的脚手架",
"//main": "库的主文件", "//main": "库的主文件",
"main": "dist/platform-core.js", "main": "dist/platform-core.js",

12
io.sc.platform.core.frontend/src/platform/components/code-mirror/WCodeMirror.vue

@ -278,13 +278,13 @@ onMounted(() => {
() => { () => {
// , , 便 // , , 便
// , , // , ,
//if (!editorView.hasFocus) { if (!editorView.hasFocus) {
let content = modelValue.value; let content = modelValue.value;
if (!props.lineBreak && !Tools.isEmpty(content)) { if (!props.lineBreak && !Tools.isEmpty(content)) {
content = content.replace(/[\r\n]/g, ''); content = content.replace(/[\r\n]/g, '');
}
editorView.dispatch({ changes: { from: 0, to: editorView.state.doc.length, insert: content } });
} }
editorView.dispatch({ changes: { from: 0, to: editorView.state.doc.length, insert: content } });
//}
}, },
); );
}); });

2
io.sc.platform.core.frontend/src/platform/components/graph/WGraph.vue

@ -50,8 +50,6 @@
</q-tabs> </q-tabs>
<q-tab-panels v-model="currentSelectedTabNameRef" animated swipeable keep-alive style="height: calc(100% - 48px)"> <q-tab-panels v-model="currentSelectedTabNameRef" animated swipeable keep-alive style="height: calc(100% - 48px)">
<q-tab-panel name="properties" class="px-0 pb-0" style="height: 100%; padding-left: 0px; padding-right: 0px; padding-bottom: 0px"> <q-tab-panel name="properties" class="px-0 pb-0" style="height: 100%; padding-left: 0px; padding-right: 0px; padding-bottom: 0px">
{{ selectedCellReactive.modelValue }}
{{ selectedCellReactive.fields }}
<w-form v-model="selectedCellReactive.modelValue" :cols-num="1" :fields="selectedCellReactive.fields" @update-value="updateValue"></w-form> <w-form v-model="selectedCellReactive.modelValue" :cols-num="1" :fields="selectedCellReactive.fields" @update-value="updateValue"></w-form>
</q-tab-panel> </q-tab-panel>
</q-tab-panels> </q-tab-panels>

4
io.sc.platform.core.frontend/template-project/package.json

@ -1,6 +1,6 @@
{ {
"name": "platform-core", "name": "platform-core",
"version": "8.2.21", "version": "8.2.22",
"description": "前端核心包,用于快速构建前端的脚手架", "description": "前端核心包,用于快速构建前端的脚手架",
"private": false, "private": false,
"keywords": [], "keywords": [],
@ -110,7 +110,7 @@
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.4",
"pinia": "2.2.6", "pinia": "2.2.6",
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.5",

2
io.sc.platform.developer.doc/package.json

@ -28,7 +28,7 @@
"vuepress": "2.0.0-rc.15" "vuepress": "2.0.0-rc.15"
}, },
"dependencies": { "dependencies": {
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"vue": "3.5.13", "vue": "3.5.13",
"vue-i18n": "10.0.4" "vue-i18n": "10.0.4"

2
io.sc.platform.developer.frontend/package.json

@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.4",
"pinia": "2.2.6", "pinia": "2.2.6",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.5",

4
io.sc.platform.gradle/templates/pgp/setup/gradle.properties

@ -36,9 +36,9 @@ application_version=1.0.0
# platform # platform
######################################gra##################### ######################################gra#####################
platform_group=io.sc platform_group=io.sc
platform_version=8.2.4 platform_version=8.2.5
platform_plugin_version=8.2.4 platform_plugin_version=8.2.4
platform_core_frontend_version=8.2.21 platform_core_frontend_version=8.2.22
########################################################### ###########################################################
# dependencies version # dependencies version

2
io.sc.platform.lcdp.frontend/package.json

@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.4",
"pinia": "2.2.6", "pinia": "2.2.6",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.5",

2
io.sc.platform.mvc.frontend/package.json

@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.4",
"pinia": "2.2.6", "pinia": "2.2.6",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.5",

2
io.sc.platform.scheduler.manager.frontend/package.json

@ -111,7 +111,7 @@
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.4",
"pinia": "2.2.6", "pinia": "2.2.6",
"pinia-undo": "0.2.4", "pinia-undo": "0.2.4",
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.5",

2
io.sc.platform.system.frontend/package.json

@ -110,7 +110,7 @@
"mockjs": "1.1.0", "mockjs": "1.1.0",
"node-sql-parser": "5.3.4", "node-sql-parser": "5.3.4",
"pinia": "2.2.6", "pinia": "2.2.6",
"platform-core": "8.2.21", "platform-core": "8.2.22",
"quasar": "2.17.4", "quasar": "2.17.4",
"sort-array": "5.0.0", "sort-array": "5.0.0",
"svg-path-commander": "2.1.5", "svg-path-commander": "2.1.5",

12
io.sc.platform.util/src/main/java/io/sc/platform/util/DateUtil.java

@ -35,6 +35,7 @@ public class DateUtil {
public static final String yyyy_MM_dd_HH ="yyyy-MM-dd HH"; public static final String yyyy_MM_dd_HH ="yyyy-MM-dd HH";
public static final String yyyy_MM_dd ="yyyy-MM-dd"; public static final String yyyy_MM_dd ="yyyy-MM-dd";
public static final String yyyyMMdd ="yyyy-MM-dd"; public static final String yyyyMMdd ="yyyy-MM-dd";
public static final String yyyyMM ="yyyy-MM";
public static final String HH_mm_ss ="HH:mm:ss"; public static final String HH_mm_ss ="HH:mm:ss";
public static final String HH_mm_ss_SSS ="HH:mm:ss.SSS"; public static final String HH_mm_ss_SSS ="HH:mm:ss.SSS";
@ -58,7 +59,8 @@ public class DateUtil {
yyyy_MM_dd_HH_mm_ss, yyyy_MM_dd_HH_mm_ss,
yyyy_MM_dd_HH_mm, yyyy_MM_dd_HH_mm,
yyyy_MM_dd_HH, yyyy_MM_dd_HH,
yyyy_MM_dd yyyy_MM_dd,
yyyyMM
}; };
private static final String SUPPORTED_DATE_FORMAT_EXCEPTION_MESSAGE ="unsupported date format, the valiate format include : \n" private static final String SUPPORTED_DATE_FORMAT_EXCEPTION_MESSAGE ="unsupported date format, the valiate format include : \n"
+ GMT_CHINESE_COMMA + "\n" + GMT_CHINESE_COMMA + "\n"
@ -70,7 +72,8 @@ public class DateUtil {
+ yyyy_MM_dd_HH_mm_ss + "\n" + yyyy_MM_dd_HH_mm_ss + "\n"
+ yyyy_MM_dd_HH_mm + "\n" + yyyy_MM_dd_HH_mm + "\n"
+ yyyy_MM_dd_HH + "\n" + yyyy_MM_dd_HH + "\n"
+ yyyy_MM_dd + "\n"; + yyyy_MM_dd + "\n"
+ yyyyMM + "\n";
/** /**
* 获取日期 * 获取日期
@ -539,4 +542,9 @@ public class DateUtil {
LocalDateTime ld2 =toLocalDateTime(d2); LocalDateTime ld2 =toLocalDateTime(d2);
return ChronoUnit.MONTHS.between(ld1,ld2); return ChronoUnit.MONTHS.between(ld1,ld2);
} }
public static void main(String[] args) {
long a =monthsBetween("2023-01","2025-02");
System.out.println(a);
}
} }

12
io.sc.platform.util/src/main/java/io/sc/platform/util/PlaceHolderExpressionUtil.java

@ -20,7 +20,8 @@ public class PlaceHolderExpressionUtil {
// 3. ${ccc}[1].${ddd} // 3. ${ccc}[1].${ddd}
// 4. ${eee}[1].${fff}[2] // 4. ${eee}[1].${fff}[2]
// 5. ${ggg}[1].${hhh}[2].${iii} // 5. ${ggg}[1].${hhh}[2].${iii}
private static final String PH_EXPRESSION_REG_PATTERN_STR = "(\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?((\\[ (\\S+?) \\])?(\\.? (\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?)+?)*"; private static final String PH_EXPRESSION_REG_PATTERN_STR = "(\\$ \\{ (.+?) \\})(\\[ (.+?) \\])?((\\[ (.+?) \\])?(\\.? (\\$ \\{ (.+?) \\})(\\[ (.+?) \\])?)+?)*";
//private static final String PH_EXPRESSION_REG_PATTERN_STR = "(\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?((\\[ (\\S+?) \\])?(\\.? (\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?)+?)*";
// --- --- ----- --- --- ----- --- --- ----- --- --- --- --- ----- --- --- ----- --- // --- --- ----- --- --- ----- --- --- ----- --- --- --- --- ----- --- --- ----- ---
// ($ { xxx } )([ nnn ] )?(([ nnn ] )?(.? ($ { xxx } )([ nnn ] )?)+?)* // ($ { xxx } )([ nnn ] )?(([ nnn ] )?(.? ($ { xxx } )([ nnn ] )?)+?)*
// (${xxx} )([nnn] )?(([nnn] )?(.? (${xxx} )([nnn ] )?)+?)* // (${xxx} )([nnn] )?(([nnn] )?(.? (${xxx} )([nnn ] )?)+?)*
@ -28,13 +29,16 @@ public class PlaceHolderExpressionUtil {
// -------- ------- ? ------- - ------ ------- // -------- ------- ? ------- - ------ -------
// (变量)([下标])?(([下标])?(.?(变量)([下标])?)+?)* // (变量)([下标])?(([下标])?(.?(变量)([下标])?)+?)*
private static final Pattern PH_EXPRESSION_REG_PATTERN =Pattern.compile(StringUtils.trimAllWhitespace(PH_EXPRESSION_REG_PATTERN_STR)); private static final Pattern PH_EXPRESSION_REG_PATTERN =Pattern.compile(StringUtils.trimAllWhitespace(PH_EXPRESSION_REG_PATTERN_STR));
private static final String PH_EXPRESSION_PART_REG_PATTERN_STR = "(\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?"; private static final String PH_EXPRESSION_PART_REG_PATTERN_STR = "(\\$ \\{ (.+?) \\})(\\[ (.+?) \\])?";
//private static final String PH_EXPRESSION_PART_REG_PATTERN_STR = "(\\$ \\{ (\\S+?) \\})(\\[ (\\S+?) \\])?";
// --- --- ----- --- --- ----- --- --- ----- --- --- --- --- ----- --- --- ----- --- // --- --- ----- --- --- ----- --- --- ----- --- --- --- --- ----- --- --- ----- ---
// ($ { xxx } )([ nnn ] )? // ($ { xxx } )([ nnn ] )?
// (${xxx})([nnn])? // (${xxx})([nnn])?
private static final Pattern PH_EXPRESSION_PART_REG_PATTERN =Pattern.compile(StringUtils.trimAllWhitespace(PH_EXPRESSION_PART_REG_PATTERN_STR)); private static final Pattern PH_EXPRESSION_PART_REG_PATTERN =Pattern.compile(StringUtils.trimAllWhitespace(PH_EXPRESSION_PART_REG_PATTERN_STR));
private static final Pattern PH_VARIABLE_REG_PATTERN =Pattern.compile("\\$\\{(\\S+?)\\}"); private static final Pattern PH_VARIABLE_REG_PATTERN =Pattern.compile("\\$\\{(.+?)\\}");
private static final Pattern PH_VARIABLE_ARRAY_INDEX_REG_PATTERN =Pattern.compile("\\[(\\S+?)\\]"); private static final Pattern PH_VARIABLE_ARRAY_INDEX_REG_PATTERN =Pattern.compile("\\[(.+?)\\]");
//private static final Pattern PH_VARIABLE_REG_PATTERN =Pattern.compile("\\$\\{(\\S+?)\\}");
//private static final Pattern PH_VARIABLE_ARRAY_INDEX_REG_PATTERN =Pattern.compile("\\[(\\S+?)\\]");
/** /**
* 将占位符表达式替换为非占位符表达式,示例: * 将占位符表达式替换为非占位符表达式,示例:

Loading…
Cancel
Save