package com.zskk.service; import java.io.IOException; import java.util.HashMap; import java.util.Map; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.jfinal.kit.PropKit; import okhttp3.FormBody; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class DataService { private static String GET_EXAM_URL = "https://risserver3.pacsonline.cn/butt/getExam"; private static String SAVE_REPORT_URL = "https://risserver3.pacsonline.cn/butt/saveReport"; private static String FEE_URL = "https://risserver3.pacsonline.cn/film/callback"; private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient(); private static final MediaType JSON_TYPE = MediaType.parse("application/json; charset=utf-8"); /** * 获取未出报告的检查列表 * * @param instutionId * @param number */ public JSONArray getExamList(Integer number) { Map map = new HashMap(); map.put("institution_id", PropKit.get("institution_id")); map.put("num", number.toString()); String content = postWithParameters(GET_EXAM_URL, map); JSONObject jsonObject = JSON.parseObject(content); if (!jsonObject.getString("msg").equals("success")) { return null; } JSONArray jsonArray = JSON.parseArray(jsonObject.getString("data")); return jsonArray; } /** * 写入报告 * * @param instutionId * @param number */ public void saveReport(Map map) { postWithParameters(SAVE_REPORT_URL, map); } public void fee(JSONObject jsonObject) { postWithJson(FEE_URL, jsonObject); } public String postWithParameters(String url, Map map) { FormBody.Builder formbody = new FormBody.Builder(); for (Map.Entry entry : map.entrySet()) { formbody.add(entry.getKey(), entry.getValue()); } RequestBody requestBody = formbody.build(); Request request = new Request.Builder().url(url).post(requestBody).build(); try (Response response = OKHTTP_CLIENT.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); String content = response.body().string(); return content; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } public String postWithJson(String url, JSONObject jsonObject) { RequestBody requestBody = RequestBody.create(JSON_TYPE, jsonObject.toJSONString()); Request request = new Request.Builder().url(url).post(requestBody).build(); try (Response response = OKHTTP_CLIENT.newCall(request).execute()) { if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); String content = response.body().string(); System.out.println(content); return content; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return null; } } public static void main(String[] args) { JSONObject jsonObject = new JSONObject(); jsonObject.put("institution_id", "04400005"); jsonObject.put("accession_num", "646750"); jsonObject.put("ins_type", "1"); JSONObject pJsonObject = new JSONObject(); pJsonObject.put("params", jsonObject.toJSONString()); // fee(pJsonObject); } }