Java 访问 DataInsight Demo

GkycAction.java (挂科预测)

 1 package com.bp.gkyc.action;
 2 
 3 import java.io.IOException;
 4 import java.util.List;
 5 import java.util.Map;
 6 
 7 import org.apache.http.HttpEntity;
 8 import org.apache.http.ParseException;
 9 import org.apache.http.client.methods.CloseableHttpResponse;
10 import org.apache.http.client.methods.HttpPost;
11 import org.apache.http.entity.ContentType;
12 import org.apache.http.entity.StringEntity;
13 import org.apache.http.impl.client.CloseableHttpClient;
14 import org.apache.http.impl.client.HttpClients;
15 import org.apache.http.util.EntityUtils;
16 import org.springframework.stereotype.Controller;
17 import org.springframework.ui.ModelMap;
18 import org.springframework.web.bind.annotation.RequestMapping;
19 import org.springframework.web.bind.annotation.RequestMethod;
20 import org.springframework.web.bind.annotation.ResponseBody;
21 
22 import com.alibaba.fastjson.JSONObject;
23 
24 @Controller
25 @RequestMapping("/bp/gkyc")
26 public class GkycAction {
27 
28     @RequestMapping
29     public String index(ModelMap map) {
30         return "bp/gkyc/gkyc";
31     }
32 
33     @ResponseBody
34     @RequestMapping(value = "gkuser", method = RequestMethod.POST)
35     public String getGkUser() {
36         String res ="";
37         try {
38             JSONObject body = new JSONObject();
39             String dsl = "es "stu-model" --maxevent=1000 | where score==-1 | applymodel "BpNeural","stuScoreModel" --inputFields="clubtime,schoolAbsent,classAbsent,entertainmentInternet" --predictField="PredictScore" | keep "name","PredictScore" | sort PredictScore";
40             JSONObject params = new JSONObject();
41             params.put("sync", true);
42             body.put("dsl", dsl);
43             body.put("params", params);
44             String str = body.toJSONString();
45             String url = "http://localhost:9000/explorer/query/";
46             CloseableHttpClient client = HttpClients.createDefault();
47             HttpPost post = new HttpPost(url);
48             if (!str.isEmpty()) {
49                 post.setEntity(new StringEntity(str, ContentType.APPLICATION_JSON));
50             }
51             CloseableHttpResponse response = client.execute(post);
52             HttpEntity entity = response.getEntity();
53 
54             res = EntityUtils.toString(entity);
55 
56             if (entity != null) {
57                 EntityUtils.consume(entity);
58             }
59             client.close();
60         } catch (ParseException e) {
61             // TODO Auto-generated catch block
62             e.printStackTrace();
63         } catch (IOException e) {
64             // TODO Auto-generated catch block
65             e.printStackTrace();
66         }
67         return res;
68     }
69 
70 }

js

 1     Util.ajax({
 2         url : contextpath + "/bp/gk/gkuser" ,//请求后台的路径
 3         success : function(data){
 4             var gkxs = "";
 5             for(var i=1;i<11;i++){
 6                 if(i==1){
 7                     gkxs += "<a href="#" name="xslb" id="xs"+i+"" onclick="clickxs("+i+")" class="list-group-item active">"+data.content.data[i+1].values[0]+"<span class="badge badge-primary">"+i+"</span></a>";
 8                 }else{
 9                     gkxs += "<a href="#" name="xslb" id="xs"+i+"" onclick="clickxs("+i+")" class="list-group-item">"+data.content.data[i+1].values[0]+"<span class="badge badge-primary">"+i+"</span></a>";
10                 }
11             }
12             $("#gkxs").html(gkxs);
13         }
14     });
原文地址:https://www.cnblogs.com/livon/p/6993720.html