Commit e715e1dd34898d117945d70acb0929c5ced8f23a

Authored by qianbao
1 parent de9259d8

添加未清选择 改成动态引导语

src/main/java/com/xly/tool/DynamicToolProvider.java
... ... @@ -230,15 +230,6 @@ public class DynamicToolProvider implements ToolProvider {
230 230 // String sSystemPrompt = SystemPromptGenerator.buildMissParamPrompt(session,dynamicParamRule);
231 231 // session.setSSystemPrompt(sSystemPrompt);
232 232 }
233   - //判断是否首次进入给提示 如果没有产品名称 产品长 宽
234   - if(!Validator.isValid(args.get("dProductWidth"))
235   - && !Validator.isValid(args.get("sCustomerName"))
236   - && !Validator.isValid(args.get("dProductLength"))
237   - && !Validator.isValid(args.get("sProductName"))){
238   - String sTsMemo = session.getCurrentTool().getSTsMemo();
239   - session.setSFunPrompts(sTsMemo);
240   - return sTsMemo;
241   - }
242 233 }
243 234 //获取是否缺失参数
244 235 String askMsg = getMissParamMsg( meta, session, args);
... ... @@ -402,13 +393,25 @@ public class DynamicToolProvider implements ToolProvider {
402 393 : StrUtil.EMPTY;
403 394  
404 395 if (ObjectUtil.isNotEmpty(sValue)) {
  396 + List<String> addValueAdd = new ArrayList<>();
405 397 List<String> addValueOld = new ArrayList<>();
  398 + Object sOldVal = session.getArgs().get(sDynamicPart.get(0).getSParam());
  399 + if(ObjectUtil.isNotEmpty(sOldVal)){
  400 + if (JSONUtil.isTypeJSONArray(sValue)) {
  401 + addValueOld = JSONUtil.toList(sValue, String.class);
  402 + } else {
  403 + addValueOld.add(sValue);
  404 + }
  405 + }
406 406  
407 407 if (JSONUtil.isTypeJSONArray(sValue)) {
408   - addValueOld = JSONUtil.toList(sValue, String.class);
  408 + addValueAdd = JSONUtil.toList(sValue, String.class);
409 409 } else {
410   - addValueOld.add(sValue);
  410 + addValueAdd.add(sValue);
411 411 }
  412 + addValueOld.addAll(addValueAdd);
  413 + addValueOld = new ArrayList<>(new LinkedHashSet<>(addValueOld));
  414 +
412 415 //新增部件不在删除部件中的
413 416 List<String> finalSDynamicPartDelValue = sDynamicPartDelValue;
414 417 List<String> addValue = addValueOld.stream().filter(one-> !finalSDynamicPartDelValue.contains(one)).collect(Collectors.toList());
... ...