package org.diagbot.graphWeb.controller;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.diagbot.graph.javabean.GdbResponse;
import org.diagbot.graph.jdbc.DriverManager;
import org.diagbot.graph.jdbc.Neo4jAPI;
import org.diagbot.common.work.FeatureRate;
import org.diagbot.graphWeb.work.GraphCalculate;
import org.diagbot.graphWeb.work.HighRiskCalculate;
import org.diagbot.graphWeb.work.ParamsDataProxy;
import org.diagbot.common.work.ResponseData;
import org.diagbot.common.work.SearchData;
import org.diagbot.nlp.feature.FeatureAnalyze;
import org.diagbot.nlp.feature.FeatureType;
import org.diagbot.pub.api.Response;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.servlet.http.HttpServletRequest;
import java.util.*;

@Controller
@RequestMapping("/graph")
public class GraphController {
    @RequestMapping(value = "/push", method = RequestMethod.POST)
    @ResponseBody
    public Response<ResponseData> bayesPageData(HttpServletRequest request, @RequestBody SearchData searchData) throws Exception {
        Response<ResponseData> response = new Response();
        GraphCalculate graphCalculate = new GraphCalculate();
        ResponseData responseData = graphCalculate.calculate(request, searchData);
        response.setData(responseData);
        return response;
    }
    @RequestMapping(value = "/highRisk", method = RequestMethod.POST)
    @ResponseBody
    public  Response<GdbResponse> getHighRisk(HttpServletRequest request, @RequestBody SearchData searchData) throws Exception {
        HighRiskCalculate highRiskCalculate = new HighRiskCalculate();
        Response<GdbResponse> gdbResponseResponse = highRiskCalculate.calculateHighRisk(request, searchData);
        return gdbResponseResponse;
    }
}

