|
@@ -0,0 +1,180 @@
|
|
|
+package com.dgtis.data.test;
|
|
|
+
|
|
|
+import cn.hutool.json.JSONArray;
|
|
|
+import cn.hutool.json.JSONObject;
|
|
|
+import cn.hutool.json.JSONUtil;
|
|
|
+import com.dgtis.common.core.utils.StringUtils;
|
|
|
+import org.junit.Ignore;
|
|
|
+import org.junit.Test;
|
|
|
+
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+public class TestIndex {
|
|
|
+ @Test
|
|
|
+ @Ignore
|
|
|
+ public void bdNumDisTest() {
|
|
|
+ String json = "{\n" +
|
|
|
+ " \"took\" : 13,\n" +
|
|
|
+ " \"timed_out\" : false,\n" +
|
|
|
+ " \"_shards\" : {\n" +
|
|
|
+ " \"total\" : 10,\n" +
|
|
|
+ " \"successful\" : 10,\n" +
|
|
|
+ " \"failed\" : 0\n" +
|
|
|
+ " },\n" +
|
|
|
+ " \"hits\" : {\n" +
|
|
|
+ " \"total\" : 8,\n" +
|
|
|
+ " \"max_score\" : 1.0,\n" +
|
|
|
+ " \"hits\" : [\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"_shard\" : \"[shanglifeecif.bdnum_distribution_bak][1]\",\n" +
|
|
|
+ " \"_node\" : \"jPg-5qMaSQ6F581JWzjZlQ\",\n" +
|
|
|
+ " \"_index\" : \"shanglifeecif.bdnum_distribution_bak\",\n" +
|
|
|
+ " \"_type\" : \"default_type_\",\n" +
|
|
|
+ " \"_id\" : \"5\",\n" +
|
|
|
+ " \"_score\" : 1.0,\n" +
|
|
|
+ " \"_source\" : {\n" +
|
|
|
+ " \"labelname\" : \"6-10件\",\n" +
|
|
|
+ " \"bdnum\" : \"9836\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"_shard\" : \"[shanglifeecif.bdnum_distribution_bak][3]\",\n" +
|
|
|
+ " \"_node\" : \"9BktOA9KQWaKz2xYh6BbeQ\",\n" +
|
|
|
+ " \"_index\" : \"shanglifeecif.bdnum_distribution_bak\",\n" +
|
|
|
+ " \"_type\" : \"default_type_\",\n" +
|
|
|
+ " \"_id\" : \"1\",\n" +
|
|
|
+ " \"_score\" : 1.0,\n" +
|
|
|
+ " \"_source\" : {\n" +
|
|
|
+ " \"labelname\" : \"无保单\",\n" +
|
|
|
+ " \"bdnum\" : \"0\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"_shard\" : \"[shanglifeecif.bdnum_distribution_bak][4]\",\n" +
|
|
|
+ " \"_node\" : \"g-_7sP66Ra6Zq308Qb6n0A\",\n" +
|
|
|
+ " \"_index\" : \"shanglifeecif.bdnum_distribution_bak\",\n" +
|
|
|
+ " \"_type\" : \"default_type_\",\n" +
|
|
|
+ " \"_id\" : \"3\",\n" +
|
|
|
+ " \"_score\" : 1.0,\n" +
|
|
|
+ " \"_source\" : {\n" +
|
|
|
+ " \"labelname\" : \"2件\",\n" +
|
|
|
+ " \"bdnum\" : \"175777\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"_shard\" : \"[shanglifeecif.bdnum_distribution_bak][6]\",\n" +
|
|
|
+ " \"_node\" : \"g-_7sP66Ra6Zq308Qb6n0A\",\n" +
|
|
|
+ " \"_index\" : \"shanglifeecif.bdnum_distribution_bak\",\n" +
|
|
|
+ " \"_type\" : \"default_type_\",\n" +
|
|
|
+ " \"_id\" : \"8\",\n" +
|
|
|
+ " \"_score\" : 1.0,\n" +
|
|
|
+ " \"_source\" : {\n" +
|
|
|
+ " \"labelname\" : \"50件以上\",\n" +
|
|
|
+ " \"bdnum\" : \"9\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"_shard\" : \"[shanglifeecif.bdnum_distribution_bak][7]\",\n" +
|
|
|
+ " \"_node\" : \"jPg-5qMaSQ6F581JWzjZlQ\",\n" +
|
|
|
+ " \"_index\" : \"shanglifeecif.bdnum_distribution_bak\",\n" +
|
|
|
+ " \"_type\" : \"default_type_\",\n" +
|
|
|
+ " \"_id\" : \"6\",\n" +
|
|
|
+ " \"_score\" : 1.0,\n" +
|
|
|
+ " \"_source\" : {\n" +
|
|
|
+ " \"labelname\" : \"11-20件\",\n" +
|
|
|
+ " \"bdnum\" : \"1538\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"_shard\" : \"[shanglifeecif.bdnum_distribution_bak][7]\",\n" +
|
|
|
+ " \"_node\" : \"jPg-5qMaSQ6F581JWzjZlQ\",\n" +
|
|
|
+ " \"_index\" : \"shanglifeecif.bdnum_distribution_bak\",\n" +
|
|
|
+ " \"_type\" : \"default_type_\",\n" +
|
|
|
+ " \"_id\" : \"2\",\n" +
|
|
|
+ " \"_score\" : 1.0,\n" +
|
|
|
+ " \"_source\" : {\n" +
|
|
|
+ " \"labelname\" : \"1件\",\n" +
|
|
|
+ " \"bdnum\" : \"952489\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"_shard\" : \"[shanglifeecif.bdnum_distribution_bak][7]\",\n" +
|
|
|
+ " \"_node\" : \"jPg-5qMaSQ6F581JWzjZlQ\",\n" +
|
|
|
+ " \"_index\" : \"shanglifeecif.bdnum_distribution_bak\",\n" +
|
|
|
+ " \"_type\" : \"default_type_\",\n" +
|
|
|
+ " \"_id\" : \"a4\",\n" +
|
|
|
+ " \"_score\" : 1.0,\n" +
|
|
|
+ " \"_source\" : {\n" +
|
|
|
+ " \"labelname\" : \"3-5件\",\n" +
|
|
|
+ " \"bdnum\" : \"64781\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " },\n" +
|
|
|
+ " {\n" +
|
|
|
+ " \"_shard\" : \"[shanglifeecif.bdnum_distribution_bak][8]\",\n" +
|
|
|
+ " \"_node\" : \"jPg-5qMaSQ6F581JWzjZlQ\",\n" +
|
|
|
+ " \"_index\" : \"shanglifeecif.bdnum_distribution_bak\",\n" +
|
|
|
+ " \"_type\" : \"default_type_\",\n" +
|
|
|
+ " \"_id\" : \"7\",\n" +
|
|
|
+ " \"_score\" : 1.0,\n" +
|
|
|
+ " \"_source\" : {\n" +
|
|
|
+ " \"labelname\" : \"21-50件\",\n" +
|
|
|
+ " \"bdnum\" : \"217\"\n" +
|
|
|
+ " }\n" +
|
|
|
+ " }\n" +
|
|
|
+ " ]\n" +
|
|
|
+ " }\n" +
|
|
|
+ "}";
|
|
|
+ Map<String, Map<String, Map[]>> rst = jieXi(json);
|
|
|
+ Map<String, Map[]> data = rst.get("data");
|
|
|
+ Map[] seriesData = data.get("seriesData");
|
|
|
+ System.out.println(Arrays.toString(seriesData));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ private Map jieXi(String jsonStr) {
|
|
|
+ Map rst = new HashMap();
|
|
|
+ Map<String, String>[] seriesData = new HashMap[0];
|
|
|
+ if (StringUtils.isNotEmpty(jsonStr)) {
|
|
|
+ JSONObject jsonObject = JSONUtil.parseObj(jsonStr);
|
|
|
+ jsonObject = jsonObject.getJSONObject("hits");
|
|
|
+ if (jsonObject != null) {
|
|
|
+ JSONArray hits = jsonObject.getJSONArray("hits");
|
|
|
+ if (hits != null && hits.size() > 0) {
|
|
|
+ seriesData = new HashMap[hits.size()];
|
|
|
+ for (Object o : hits) {
|
|
|
+ try {
|
|
|
+ JSONObject object = JSONUtil.parseObj(o);
|
|
|
+ if (object != null) {
|
|
|
+ JSONObject source = object.getJSONObject("_source");
|
|
|
+ String id = object.getStr("_id");
|
|
|
+ String labelname = source.getStr("labelname").trim();
|
|
|
+ String bdnum = source.getStr("bdnum").trim();
|
|
|
+
|
|
|
+ Map<String, String> m = new HashMap();
|
|
|
+ m.put("name", labelname);
|
|
|
+ m.put("value", bdnum);
|
|
|
+ seriesData[Integer.valueOf(id) - 1] = m;
|
|
|
+ }
|
|
|
+ } catch (NullPointerException | NumberFormatException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ System.out.println("test --> o: "+ o);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ List<Map<String, String>> list = new ArrayList(seriesData.length);
|
|
|
+ for (Map m : seriesData) {
|
|
|
+ if (m != null) {
|
|
|
+ list.add(m);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, String>[] newArray = new HashMap[0];
|
|
|
+ seriesData = list.toArray(newArray);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Map<String, Map<String, String>[]> mlm = new HashMap<>();
|
|
|
+ mlm.put("seriesData", seriesData);
|
|
|
+ rst.put("data", mlm);
|
|
|
+ return rst;
|
|
|
+ }
|
|
|
+}
|