Commit 21954188 authored by youxiaoji's avatar youxiaoji

+ [增加对海信园区的过滤]

parent 29664172
......@@ -257,27 +257,27 @@ public class HisenseTripTool {
e.printStackTrace();
}
}
@Tool(description = "存储用户提交的出差申请信息")
public String applyInfoSave(@ToolParam(required = true) JSONObject infos){
infos.keySet().forEach(key -> {
infoCollectorService.saveValue(key,infos.get(key));
});
Set<String> keys = infoCollectorService.findLackInfo(pageId);
StringBuilder sb = new StringBuilder();
if(keys.isEmpty()){
sb.append("用户已提交全部数据,提示用户提交申请");
}else{
sb.append("用户还有以下信息未提交:");
sb.append("\n");
for(String key:keys){
sb.append(key);
sb.append("\n");
}
sb.append("提示用户继续以json格式提交信息");
}
return sb.toString();
}
// @Tool(description = "存储用户提交的出差申请信息")
// public String applyInfoSave(@ToolParam(required = true) JSONObject infos){
// infos.keySet().forEach(key -> {
// infoCollectorService.saveValue(key,infos.get(key));
// });
// Set<String> keys = infoCollectorService.findLackInfo(pageId).values();
// StringBuilder sb = new StringBuilder();
// if(keys.isEmpty()){
// sb.append("用户已提交全部数据,提示用户提交申请");
// }else{
// sb.append("用户还有以下信息未提交:");
// sb.append("\n");
// for(String key:keys){
// sb.append(key);
// sb.append("\n");
// }
// sb.append("提示用户继续以json格式提交信息");
//
// }
// return sb.toString();
// }
/**
* 工具方法:获取海信差旅平台出差申请的网页内容
*
......
......@@ -36,6 +36,7 @@ import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.regex.Pattern;
......@@ -307,7 +308,7 @@ public class VisitorAppointmentTool {
infoCollectorService.saveValue(key, infos.get(key));
});
infoCollectorService.saveDefaultValue(pageId);
Set<String> keys = infoCollectorService.findLackInfo(pageId);
Map<String,String> keys = infoCollectorService.findLackInfo(pageId);
if (!keys.isEmpty()) {
JSONArray jsonArray = infoCollectorService.getInfo(pageId);
JSONArray lackJson = new JSONArray();
......@@ -330,13 +331,18 @@ public class VisitorAppointmentTool {
} else {
sb.append("用户还有以下信息未提交:");
sb.append("\n");
for (String key : keys) {
for (Map.Entry<String,String> key : keys.entrySet()) {
sb.append(key.getValue());
sb.append("(");
sb.append(key);
sb.append("\n");
sb.append(")");
sb.append(",");
}
sb.append("提示用户继续以json格式提交信息");
sb.append("\n");
sb.append("提示用户继续提交信息");
}
log.info("notice {}",sb.toString());
return sb.toString();
}
......
......@@ -8,7 +8,9 @@ import org.springframework.stereotype.Service;
import pangea.hiagent.tool.impl.HisenseTripTool;
import pangea.hiagent.tool.impl.VisitorAppointmentTool;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
......@@ -68,14 +70,15 @@ public class InfoCollectorService {
return values.get(key);
}
public Set<String> findLackInfo(String pageId) {
public Map<String,String> findLackInfo(String pageId) {
Set<String> valueKeys = values.keySet();
log.info("value keys {}", valueKeys);
Set<String> allKeys = infos.get(pageId).stream().map(t -> ((JSONObject) t).getString("code")).collect(Collectors.toSet());
log.info("all keys {}", allKeys);
allKeys.removeAll(valueKeys);
log.info("lack keys {}", allKeys);
Set<String> lackInfos = new HashSet<>();
// Set<String> lackInfos = new HashSet<>();
Map<String,String> lackInfos = new HashMap<>();
if(allKeys.isEmpty()){
log.info("info is good enough");
return lackInfos;
......@@ -85,7 +88,7 @@ public class InfoCollectorService {
JSONObject info = (JSONObject) t;
String code = info.getString("code");
if (allKeys.contains(code)) {
lackInfos.add(info.getString("field_name"));
lackInfos.put(code,info.getString("field_name"));
}
});
log.info("lack infos {}", lackInfos);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment