|
@@ -47,45 +47,44 @@ public class IndexApiController extends BaseController {
|
|
|
public AjaxResult riskcode() {
|
|
|
|
|
|
|
|
|
-
|
|
|
// 获取索引的别名,字段,创建时间
|
|
|
List xaxisData = new ArrayList();//存放险种
|
|
|
List seriesData = new ArrayList();//客户数量和保单数量
|
|
|
try {
|
|
|
- logger.info("进险种类别时间:"+DateUtils.getTime());
|
|
|
+ logger.info("进险种类别时间:" + DateUtils.getTime());
|
|
|
Map<String, String> paramMap = new HashMap<String, String>();
|
|
|
paramMap.put("pretty", "true");
|
|
|
|
|
|
Request scriptRequest = new Request("GET", "/shanglifeecif.riskcode_statistics/_search?pretty=true");
|
|
|
|
|
|
Response response = restClient.performRequest(scriptRequest);
|
|
|
- logger.info("险种类别请求响应时间:"+DateUtils.getTime());
|
|
|
+ logger.info("险种类别请求响应时间:" + DateUtils.getTime());
|
|
|
/*Map<String, String> paramMap = new HashMap<String, String>();
|
|
|
paramMap.put("pretty", "true");*/
|
|
|
// Response response = restClient.performRequest("GET", "shanglifeecif.riskcode_statistics/_search?", paramMap);
|
|
|
String jsonStr = EntityUtils.toString(response.getEntity());
|
|
|
- if(StringUtils.isNotEmpty(jsonStr)){
|
|
|
+ if (StringUtils.isNotEmpty(jsonStr)) {
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(jsonStr);
|
|
|
jsonObject = jsonObject.getJSONObject("hits");
|
|
|
- if(jsonObject!=null){
|
|
|
+ if (jsonObject != null) {
|
|
|
JSONArray hits = jsonObject.getJSONArray("hits");
|
|
|
- if(hits!=null && hits.size()>0){
|
|
|
+ if (hits != null && hits.size() > 0) {
|
|
|
List khnum = new ArrayList();//客户数量
|
|
|
List bdtotalPrem = new ArrayList();//保单数量
|
|
|
- for (Object o:hits) {
|
|
|
+ for (Object o : hits) {
|
|
|
JSONObject object = JSONUtil.parseObj(o);
|
|
|
- if(object!=null){
|
|
|
+ if (object != null) {
|
|
|
JSONObject source = object.getJSONObject("_source");
|
|
|
xaxisData.add(source.getStr("kindname"));
|
|
|
String num = source.getStr("khnum");
|
|
|
khnum.add(num);
|
|
|
String tatolprem = source.getStr("tatolprem");
|
|
|
|
|
|
- if("0".equals(num)){
|
|
|
+ if ("0".equals(num)) {
|
|
|
bdtotalPrem.add("0");
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
|
|
|
- bdtotalPrem.add(String.format("%.2f", Float.parseFloat(tatolprem)/Float.parseFloat(num)));
|
|
|
+ bdtotalPrem.add(String.format("%.2f", Float.parseFloat(tatolprem) / Float.parseFloat(num)));
|
|
|
}
|
|
|
|
|
|
|
|
@@ -94,28 +93,28 @@ public class IndexApiController extends BaseController {
|
|
|
}
|
|
|
|
|
|
Map code1 = new HashMap();
|
|
|
- code1.put("name","客户数量");
|
|
|
- code1.put("data",khnum);
|
|
|
+ code1.put("name", "客户数量");
|
|
|
+ code1.put("data", khnum);
|
|
|
seriesData.add(code1);
|
|
|
Map code2 = new HashMap();
|
|
|
- code2.put("name","人均保额");
|
|
|
- code2.put("data",bdtotalPrem);
|
|
|
+ code2.put("name", "人均保额");
|
|
|
+ code2.put("data", bdtotalPrem);
|
|
|
seriesData.add(code2);
|
|
|
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- logger.info("险种类别报错时间:"+DateUtils.getTime());
|
|
|
+ logger.info("险种类别报错时间:" + DateUtils.getTime());
|
|
|
e.printStackTrace();
|
|
|
return AjaxResult.error("获取数据失败");
|
|
|
}
|
|
|
|
|
|
Map data = new HashMap();
|
|
|
- data.put("xaxisData",xaxisData);
|
|
|
- data.put("seriesData",seriesData);
|
|
|
- logger.info("出险种类别时间:"+DateUtils.getTime());
|
|
|
- return AjaxResult.success("险种数据返回成功!",data);
|
|
|
+ data.put("xaxisData", xaxisData);
|
|
|
+ data.put("seriesData", seriesData);
|
|
|
+ logger.info("出险种类别时间:" + DateUtils.getTime());
|
|
|
+ return AjaxResult.success("险种数据返回成功!", data);
|
|
|
}
|
|
|
|
|
|
@GetMapping("/bdNumDis")
|
|
@@ -124,76 +123,75 @@ public class IndexApiController extends BaseController {
|
|
|
// 获取索引的别名,字段,创建时间
|
|
|
Map[] seriesData = new HashMap[8];
|
|
|
try {
|
|
|
- logger.info("进保单件数时间:"+DateUtils.getTime());
|
|
|
+ logger.info("进保单件数时间:" + DateUtils.getTime());
|
|
|
Map<String, String> paramMap = new HashMap<String, String>();
|
|
|
paramMap.put("pretty", "true");
|
|
|
Request scriptRequest = new Request("GET", "/shanglifeecif.bdnum_distribution/_search?pretty=true");
|
|
|
|
|
|
Response response = restClient.performRequest(scriptRequest);
|
|
|
- logger.info("保单件数请求响应时间:"+DateUtils.getTime());
|
|
|
-// Response response = restClient.performRequest("GET", "shanglifeecif.bdnum_distribution/_search?", paramMap);
|
|
|
+ logger.info("保单件数请求响应时间:" + DateUtils.getTime());
|
|
|
String jsonStr = EntityUtils.toString(response.getEntity());
|
|
|
- if(StringUtils.isNotEmpty(jsonStr)){
|
|
|
+ if (StringUtils.isNotEmpty(jsonStr)) {
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(jsonStr);
|
|
|
jsonObject = jsonObject.getJSONObject("hits");
|
|
|
- if(jsonObject!=null){
|
|
|
+ if (jsonObject != null) {
|
|
|
JSONArray hits = jsonObject.getJSONArray("hits");
|
|
|
- if(hits!=null && hits.size()>0){
|
|
|
- for (Object o:hits) {
|
|
|
+ if (hits != null && hits.size() > 0) {
|
|
|
+ for (Object o : hits) {
|
|
|
JSONObject object = JSONUtil.parseObj(o);
|
|
|
- if(object!=null){
|
|
|
+ if (object != null) {
|
|
|
JSONObject source = object.getJSONObject("_source");
|
|
|
String labelname = source.getStr("labelname").trim();
|
|
|
Map m = new HashMap();
|
|
|
String bdnum = source.getStr("bdnum");
|
|
|
- m.put("value",StringUtils.isEmpty(bdnum)?"0":bdnum);
|
|
|
- if(labelname.contains("无保单")){
|
|
|
+ m.put("value", StringUtils.isEmpty(bdnum) ? "0" : bdnum);
|
|
|
+ if (labelname.contains("无保单")) {
|
|
|
seriesData[0] = m;
|
|
|
- m.put("name","无保单");
|
|
|
- }else if(labelname.contains("1件")){
|
|
|
+ m.put("name", "无保单");
|
|
|
+ } else if (labelname.contains("1件")) {
|
|
|
seriesData[1] = m;
|
|
|
- m.put("name","1件");
|
|
|
- }else if(labelname.contains("2件")){
|
|
|
+ m.put("name", "1件");
|
|
|
+ } else if (labelname.contains("2件")) {
|
|
|
seriesData[2] = m;
|
|
|
- m.put("name","2件");
|
|
|
- }else if(labelname.contains("3-5件")){
|
|
|
+ m.put("name", "2件");
|
|
|
+ } else if (labelname.contains("3-5件")) {
|
|
|
seriesData[3] = m;
|
|
|
- m.put("name","3-5件");
|
|
|
- }else if(labelname.contains("6-10件")){
|
|
|
+ m.put("name", "3-5件");
|
|
|
+ } else if (labelname.contains("6-10件")) {
|
|
|
seriesData[4] = m;
|
|
|
- m.put("name","6-10件");
|
|
|
- }else if(labelname.contains("11-20件")){
|
|
|
+ m.put("name", "6-10件");
|
|
|
+ } else if (labelname.contains("11-20件")) {
|
|
|
seriesData[5] = m;
|
|
|
- m.put("name","11-20件");
|
|
|
- }else if(labelname.contains("21-50件")){
|
|
|
+ m.put("name", "11-20件");
|
|
|
+ } else if (labelname.contains("21-50件")) {
|
|
|
seriesData[6] = m;
|
|
|
- m.put("name","21-50件");
|
|
|
- }else{
|
|
|
+ m.put("name", "21-50件");
|
|
|
+ } else {
|
|
|
seriesData[7] = m;
|
|
|
- m.put("name","50件以上");
|
|
|
+ m.put("name", "50件以上");
|
|
|
}
|
|
|
}
|
|
|
|
|
|
}
|
|
|
- if(seriesData[7]==null){
|
|
|
+ if (seriesData[7] == null) {
|
|
|
Map map = new HashMap();
|
|
|
- map.put("name","50件以上");
|
|
|
- map.put("value","0");
|
|
|
- seriesData[7] = map;
|
|
|
- }
|
|
|
+ map.put("name", "50件以上");
|
|
|
+ map.put("value", "0");
|
|
|
+ seriesData[7] = map;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- logger.error("保单件数出错时间:"+DateUtils.getTime());
|
|
|
+ logger.error("保单件数出错时间:" + DateUtils.getTime());
|
|
|
e.printStackTrace();
|
|
|
return AjaxResult.error("获取数据失败");
|
|
|
}
|
|
|
|
|
|
Map data = new HashMap();
|
|
|
- data.put("seriesData",seriesData);
|
|
|
- logger.info("出保单件数时间:"+DateUtils.getTime());
|
|
|
- return AjaxResult.success("保单件数分布数据返回成功!",data);
|
|
|
+ data.put("seriesData", seriesData);
|
|
|
+ logger.info("出保单件数时间:" + DateUtils.getTime());
|
|
|
+ return AjaxResult.success("保单件数分布数据返回成功!", data);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -213,53 +211,53 @@ public class IndexApiController extends BaseController {
|
|
|
List seriesData = new ArrayList();//性别,年龄段数据
|
|
|
|
|
|
try {
|
|
|
- logger.info("进客户年龄段时间:"+DateUtils.getTime());
|
|
|
+ logger.info("进客户年龄段时间:" + DateUtils.getTime());
|
|
|
Map<String, String> paramMap = new HashMap<String, String>();
|
|
|
paramMap.put("pretty", "true");
|
|
|
Request scriptRequest = new Request("GET", "/shanglifeecif.age_sex_distribution/_search?pretty=true");
|
|
|
|
|
|
Response response = restClient.performRequest(scriptRequest);
|
|
|
- logger.info("客户年龄段请求响应时间:"+DateUtils.getTime());
|
|
|
+ logger.info("客户年龄段请求响应时间:" + DateUtils.getTime());
|
|
|
// Response response = restClient.performRequest("GET", "shanglifeecif.age_sex_distribution/_search?", paramMap);
|
|
|
String jsonStr = EntityUtils.toString(response.getEntity());
|
|
|
- if(StringUtils.isNotEmpty(jsonStr)){
|
|
|
+ if (StringUtils.isNotEmpty(jsonStr)) {
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(jsonStr);
|
|
|
jsonObject = jsonObject.getJSONObject("hits");
|
|
|
- if(jsonObject!=null){
|
|
|
+ if (jsonObject != null) {
|
|
|
JSONArray hits = jsonObject.getJSONArray("hits");
|
|
|
- if(hits!=null && hits.size()>0){
|
|
|
+ if (hits != null && hits.size() > 0) {
|
|
|
String[] manNum = new String[5];
|
|
|
String[] womanNum = new String[5];
|
|
|
- for (Object o:hits) {
|
|
|
+ for (Object o : hits) {
|
|
|
JSONObject object = JSONUtil.parseObj(o);
|
|
|
- if(object!=null){
|
|
|
+ if (object != null) {
|
|
|
JSONObject source = object.getJSONObject("_source");
|
|
|
String gender = source.getStr("gender");
|
|
|
String labelname = source.getStr("labelname").trim();
|
|
|
String cusnum = source.getStr("cusnum");
|
|
|
- if("0".equals(gender)){
|
|
|
- if("儿童".equals(labelname)){
|
|
|
+ if ("0".equals(gender)) {
|
|
|
+ if ("儿童".equals(labelname)) {
|
|
|
manNum[0] = cusnum;
|
|
|
- }else if("少年".equals(labelname)){
|
|
|
+ } else if ("少年".equals(labelname)) {
|
|
|
manNum[1] = cusnum;
|
|
|
- }else if("青年".equals(labelname)){
|
|
|
+ } else if ("青年".equals(labelname)) {
|
|
|
manNum[2] = cusnum;
|
|
|
- }else if("中年".equals(labelname)){
|
|
|
+ } else if ("中年".equals(labelname)) {
|
|
|
manNum[3] = cusnum;
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
manNum[4] = cusnum;
|
|
|
}
|
|
|
|
|
|
- }else {
|
|
|
- if("儿童".equals(labelname)){
|
|
|
+ } else {
|
|
|
+ if ("儿童".equals(labelname)) {
|
|
|
womanNum[0] = cusnum;
|
|
|
- }else if("少年".equals(labelname)){
|
|
|
+ } else if ("少年".equals(labelname)) {
|
|
|
womanNum[1] = cusnum;
|
|
|
- }else if("青年".equals(labelname)){
|
|
|
+ } else if ("青年".equals(labelname)) {
|
|
|
womanNum[2] = cusnum;
|
|
|
- }else if("中年".equals(labelname)){
|
|
|
+ } else if ("中年".equals(labelname)) {
|
|
|
womanNum[3] = cusnum;
|
|
|
- }else {
|
|
|
+ } else {
|
|
|
womanNum[4] = cusnum;
|
|
|
}
|
|
|
}
|
|
@@ -272,18 +270,118 @@ public class IndexApiController extends BaseController {
|
|
|
}
|
|
|
}
|
|
|
} catch (Exception e) {
|
|
|
- logger.info("客户年龄段报错时间:"+DateUtils.getTime());
|
|
|
+ logger.info("客户年龄段报错时间:" + DateUtils.getTime());
|
|
|
e.printStackTrace();
|
|
|
return AjaxResult.error("获取数据失败");
|
|
|
}
|
|
|
|
|
|
Map data = new HashMap();
|
|
|
- data.put("legendData",legendData);
|
|
|
- data.put("xaxisData",xaxisData);
|
|
|
- data.put("seriesData",seriesData);
|
|
|
- logger.info("出客户年龄段时间:"+DateUtils.getTime());
|
|
|
- return AjaxResult.success("客户年龄段性别分布数据返回成功!",data);
|
|
|
+ data.put("legendData", legendData);
|
|
|
+ data.put("xaxisData", xaxisData);
|
|
|
+ data.put("seriesData", seriesData);
|
|
|
+ logger.info("出客户年龄段时间:" + DateUtils.getTime());
|
|
|
+ return AjaxResult.success("客户年龄段性别分布数据返回成功!", data);
|
|
|
}
|
|
|
|
|
|
|
|
|
+ /**
|
|
|
+ * 有效客户
|
|
|
+ *
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @GetMapping("/effectiveCustomer")
|
|
|
+ @ResponseBody
|
|
|
+ public AjaxResult effectiveCustomer() {
|
|
|
+
|
|
|
+ // 获取索引的别名,字段,创建时间
|
|
|
+ List<String> xaxisData = new ArrayList();//存放投保年份
|
|
|
+ List seriesData = new ArrayList();//存放级别数据
|
|
|
+ Map map0 = new HashMap();//客户等级为0 无
|
|
|
+ Map map1 = new HashMap();//客户等级为1 钻石
|
|
|
+ Map map2 = new HashMap();//客户等级为2 白金
|
|
|
+ Map map3 = new HashMap();//客户等级为3 黄金
|
|
|
+ Map map4 = new HashMap();//客户等级为4 普通
|
|
|
+
|
|
|
+ List list0 = new ArrayList();//存放级别数据
|
|
|
+ List list1 = new ArrayList();//存放级别数据
|
|
|
+ List list2 = new ArrayList();//存放级别数据
|
|
|
+ List list3 = new ArrayList();//存放级别数据
|
|
|
+ List list4 = new ArrayList();//存放级别数据
|
|
|
+
|
|
|
+ Map map = new HashMap();
|
|
|
+ Map mapData = new HashMap();
|
|
|
+ try {
|
|
|
+ logger.info("进有效客户时间:" + DateUtils.getTime());
|
|
|
+ Request scriptRequest = new Request("GET", "/shanglifeecif.effectivecustomer/_search?sort=fadatey:asc&size=100&pretty=true");
|
|
|
+ Response response = restClient.performRequest(scriptRequest);
|
|
|
+ logger.info("有效客户请求响应时间:" + DateUtils.getTime());
|
|
|
+ String jsonStr = EntityUtils.toString(response.getEntity());
|
|
|
+ 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) {
|
|
|
+
|
|
|
+ for (Object o : hits) {
|
|
|
+ JSONObject object = JSONUtil.parseObj(o);
|
|
|
+ if (object != null) {
|
|
|
+ JSONObject source = object.getJSONObject("_source");
|
|
|
+ String fadatey = source.getStr("fadatey").trim();//投保年份
|
|
|
+ String custclass = source.getStr("custclass").trim();//客户等级
|
|
|
+ String cnum = source.getStr("cnum").trim();//客户数量
|
|
|
+ if(!map.containsKey(fadatey)){
|
|
|
+ xaxisData.add(fadatey);
|
|
|
+ map.put(fadatey,fadatey);
|
|
|
+ }
|
|
|
+ mapData.put(fadatey+custclass,cnum);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ logger.info("有效客户报错时间:" + DateUtils.getTime());
|
|
|
+ e.printStackTrace();
|
|
|
+ return AjaxResult.error("获取数据失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i <xaxisData.size() ; i++) {
|
|
|
+ list0.add(mapData.get(xaxisData.get(i)+"0"));
|
|
|
+ list1.add(mapData.get(xaxisData.get(i)+"1"));
|
|
|
+ list2.add(mapData.get(xaxisData.get(i)+"2"));
|
|
|
+ list3.add(mapData.get(xaxisData.get(i)+"3"));
|
|
|
+ list4.add(mapData.get(xaxisData.get(i)+"4"));
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ map1.put("name","钻石");
|
|
|
+ map1.put("data",list1);
|
|
|
+
|
|
|
+ map2.put("name","白金");
|
|
|
+ map2.put("data",list2);
|
|
|
+
|
|
|
+ map3.put("name","黄金");
|
|
|
+ map3.put("data",list3);
|
|
|
+
|
|
|
+ map4.put("name","普通");
|
|
|
+ map4.put("data",list4);
|
|
|
+
|
|
|
+ map0.put("name","无");
|
|
|
+ map0.put("data",list0);
|
|
|
+
|
|
|
+ seriesData.add(map1);
|
|
|
+ seriesData.add(map2);
|
|
|
+ seriesData.add(map3);
|
|
|
+ seriesData.add(map4);
|
|
|
+ seriesData.add(map0);
|
|
|
+ Map data = new HashMap();
|
|
|
+ data.put("xaxisData", xaxisData);
|
|
|
+ data.put("seriesData", seriesData);
|
|
|
+ logger.info("出有效客户时间:" + DateUtils.getTime());
|
|
|
+ return AjaxResult.success("有效客户数据返回成功!", data);
|
|
|
+ }
|
|
|
}
|