Commit 6d5cff84ae4b9cd342f87004b5bb40d9ea3f0b12
1 parent
9fd4759e
1111
Showing
1 changed file
with
25 additions
and
5 deletions
src/main/java/com/xly/tool/DynamicToolProvider.java
| ... | ... | @@ -309,6 +309,7 @@ public class DynamicToolProvider implements ToolProvider { |
| 309 | 309 | String sRuleArray = getArrrayBySql(paramRule); |
| 310 | 310 | // 生产要求:数组类型,可多选枚举值[上光、复膜、烫金],无默认值 |
| 311 | 311 | if (ObjectUtil.isNotEmpty(sRuleArray)) { |
| 312 | + sRuleArray = StrUtil.replace(sRuleArray,",","/"); | |
| 312 | 313 | properties.add(JsonSchemaProperty.enums(sRuleArray.split("/"))); |
| 313 | 314 | } |
| 314 | 315 | if(bEmpty){ |
| ... | ... | @@ -449,11 +450,30 @@ public class DynamicToolProvider implements ToolProvider { |
| 449 | 450 | if(ObjectUtil.isEmpty(data)){ |
| 450 | 451 | return StrUtil.EMPTY; |
| 451 | 452 | } |
| 452 | - data.forEach(one->{ | |
| 453 | - if(ObjectUtil.isNotEmpty(one.get(paramRule.getSParamValue()))){ | |
| 454 | - sb.append(one.get(paramRule.getSParamValue())).append("/"); | |
| 455 | - } | |
| 456 | - }); | |
| 453 | + if(data.get(0).containsKey("sGroupName")){ | |
| 454 | + Map<Object, List<Map<String, Object>>> groupData = data.stream() | |
| 455 | + .collect(Collectors.groupingBy(map -> map.get("sGroupName"))); | |
| 456 | + // 打印结果 | |
| 457 | + Integer sUpKeySize =groupData.size(); | |
| 458 | + groupData.forEach((key, value) -> { | |
| 459 | +// System.out.println("key: " + key); | |
| 460 | + value.forEach(one->{ | |
| 461 | + sb.append(one.get(paramRule.getSParamValue())).append("/"); | |
| 462 | + }); | |
| 463 | + if(sUpKeySize>1 && ObjectUtil.isNotEmpty(sb)){ | |
| 464 | + sb.delete(sb.length()-1,sb.length()); | |
| 465 | + sb.append(","); | |
| 466 | + } | |
| 467 | + }); | |
| 468 | + | |
| 469 | + | |
| 470 | + }else{ | |
| 471 | + data.forEach(one->{ | |
| 472 | + if(ObjectUtil.isNotEmpty(one.get(paramRule.getSParamValue()))){ | |
| 473 | + sb.append(one.get(paramRule.getSParamValue())).append("/"); | |
| 474 | + } | |
| 475 | + }); | |
| 476 | + } | |
| 457 | 477 | if(ObjectUtil.isNotEmpty(sb)){ |
| 458 | 478 | sb.delete(sb.length()-1,sb.length()); |
| 459 | 479 | paramRule.setSRuleTs(sb.toString()); | ... | ... |