浏览代码

上海人寿首页保单件数接口提交

kouchengxing 4 年之前
父节点
当前提交
8241ebae6b
共有 1 个文件被更改,包括 104 次插入3 次删除
  1. 104 3
      dgtis-modules/dgtis-modules-data/src/main/java/com/dgtis/data/api/IndexApiController.java

+ 104 - 3
dgtis-modules/dgtis-modules-data/src/main/java/com/dgtis/data/api/IndexApiController.java

@@ -1,6 +1,5 @@
 package com.dgtis.data.api;
 
-import cn.hutool.json.JSON;
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
@@ -101,6 +100,14 @@ public class IndexApiController extends BaseController {
         HttpConfig config = HttpConfig.custom().url("http://"+esHost+":"+esPort+"/shanglifeecif.bdnum_distribution/_search?");
         String jsonStr = null;
         List seriesData = new ArrayList();//客户数量和保单数量
+       /* seriesData.add(0,"无保单");
+        seriesData.add(1,"1件保单");
+        seriesData.add(2,"2件保单");
+        seriesData.add(3,"3-5件保单");
+        seriesData.add(4,"6-10件保单");
+        seriesData.add(5,"11-20件保单");
+        seriesData.add(6,"21-50件保单");
+        seriesData.add(7,"50件以上保单");*/
         try {
 
             jsonStr = HttpClientUtil.get(config);
@@ -117,7 +124,8 @@ public class IndexApiController extends BaseController {
                                 Map map = new HashMap();
                                 String labelname = source.getStr("labelname").trim();
                                 map.put(source.getStr("bdnum"),source.getStr("labelname"));
-                                if("无保单".equals(labelname)){
+                                seriesData.add(map);
+                                /*if("无保单".equals(labelname)){
                                     seriesData.add(0,map);
                                 }else if("1件保单".equals(labelname)){
                                     seriesData.add(1,map);
@@ -133,7 +141,7 @@ public class IndexApiController extends BaseController {
                                     seriesData.add(6,map);
                                 }else{
                                     seriesData.add(7,map);
-                                }
+                                }*/
                             }
 
                         }
@@ -151,4 +159,97 @@ public class IndexApiController extends BaseController {
         return AjaxResult.success("保单件数分布数据返回成功!",data);
     }
 
+
+    @GetMapping("/ageSexDis")
+    @ResponseBody
+    public AjaxResult ageSexDis() {
+        // 获取索引的别名,字段,创建时间
+        HttpConfig config = HttpConfig.custom().url("http://"+esHost+":"+esPort+"/shanglifeecif.age_sex_distribution/_search?");
+        String jsonStr = null;
+
+        List legendData = new ArrayList();//性别集合
+        legendData.add("男");
+        legendData.add("女");
+        List xaxisData = new ArrayList();//年龄段
+        xaxisData.add("儿童");
+        xaxisData.add("少年");
+        xaxisData.add("青年");
+        xaxisData.add("中年");
+        xaxisData.add("老年");
+        List seriesData = new ArrayList();//性别,年龄段数据
+
+        try {
+
+            jsonStr = HttpClientUtil.get(config);
+            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){
+                        List manNum = new ArrayList();
+                        manNum.add(0,"儿童");
+                        manNum.add(1,"少年");
+                        manNum.add(2,"青年");
+                        manNum.add(3,"中年");
+                        manNum.add(4,"老年");
+                        List womanNum = new ArrayList();
+                        womanNum.add(0,"儿童");
+                        womanNum.add(1,"少年");
+                        womanNum.add(2,"青年");
+                        womanNum.add(3,"中年");
+                        womanNum.add(4,"老年");
+                        for (Object o:hits) {
+                            JSONObject object = JSONUtil.parseObj(o);
+                            if(object!=null){
+                                JSONObject source = object.getJSONObject("_source");
+                                String gender = source.getStr("gender");
+                                String labelname = source.getStr("labelname");
+                                String cusnum = source.getStr("cusnum");
+                                if("0".equals(gender)){
+                                    if("儿童".equals(labelname)){
+                                        manNum.add(0,cusnum);
+                                    }else if("少年".equals(labelname)){
+                                        manNum.add(1,cusnum);
+                                    }else if("青年".equals(labelname)){
+                                        manNum.add(2,cusnum);
+                                    }else if("中年".equals(labelname)){
+                                        manNum.add(3,cusnum);
+                                    }else{
+                                        manNum.add(4,cusnum);
+                                    }
+                                }else {
+                                    if("儿童".equals(labelname)){
+                                        womanNum.add(0,cusnum);
+                                    }else if("少年".equals(labelname)){
+                                        womanNum.add(1,cusnum);
+                                    }else if("青年".equals(labelname)){
+                                        womanNum.add(2,cusnum);
+                                    }else if("中年".equals(labelname)){
+                                        womanNum.add(3,cusnum);
+                                    }else{
+                                        womanNum.add(4,cusnum);
+                                    }
+                                }
+                            }
+
+                        }
+                        seriesData.add(manNum);
+                        seriesData.add(womanNum);
+                    }
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return AjaxResult.error("获取数据失败");
+        }
+
+        Map data = new HashMap();
+        data.put("legendData",legendData);
+        data.put("xaxisData",xaxisData);
+        data.put("seriesData",seriesData);
+        return AjaxResult.success("客户年龄段性别分布数据返回成功!",data);
+    }
+
+
 }