Commit 6d5cff84ae4b9cd342f87004b5bb40d9ea3f0b12

Authored by qianbao
1 parent 9fd4759e

1111

src/main/java/com/xly/tool/DynamicToolProvider.java
@@ -309,6 +309,7 @@ public class DynamicToolProvider implements ToolProvider { @@ -309,6 +309,7 @@ public class DynamicToolProvider implements ToolProvider {
309 String sRuleArray = getArrrayBySql(paramRule); 309 String sRuleArray = getArrrayBySql(paramRule);
310 // 生产要求:数组类型,可多选枚举值[上光、复膜、烫金],无默认值 310 // 生产要求:数组类型,可多选枚举值[上光、复膜、烫金],无默认值
311 if (ObjectUtil.isNotEmpty(sRuleArray)) { 311 if (ObjectUtil.isNotEmpty(sRuleArray)) {
  312 + sRuleArray = StrUtil.replace(sRuleArray,",","/");
312 properties.add(JsonSchemaProperty.enums(sRuleArray.split("/"))); 313 properties.add(JsonSchemaProperty.enums(sRuleArray.split("/")));
313 } 314 }
314 if(bEmpty){ 315 if(bEmpty){
@@ -449,11 +450,30 @@ public class DynamicToolProvider implements ToolProvider { @@ -449,11 +450,30 @@ public class DynamicToolProvider implements ToolProvider {
449 if(ObjectUtil.isEmpty(data)){ 450 if(ObjectUtil.isEmpty(data)){
450 return StrUtil.EMPTY; 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 if(ObjectUtil.isNotEmpty(sb)){ 477 if(ObjectUtil.isNotEmpty(sb)){
458 sb.delete(sb.length()-1,sb.length()); 478 sb.delete(sb.length()-1,sb.length());
459 paramRule.setSRuleTs(sb.toString()); 479 paramRule.setSRuleTs(sb.toString());