Browse Source

测试 签名 认证成功

zhangzhanping 5 years ago
parent
commit
8749ede7c8

+ 43 - 77
DataFusion/src/com/zskk/control/HttpTest.java

@@ -1,47 +1,61 @@
-package com.zskk.control;
+package com.zskk.control;//package com.java;
 
+import com.alibaba.fastjson.JSON;
 import org.apache.commons.codec.digest.DigestUtils;
 
 import java.io.*;
 import java.net.URLEncoder;
 import java.util.*;
 
-import static com.alibaba.fastjson.JSON.toJSONString;
-
 /**
  * 用于模拟HTTP请求中GET/POST方式
- * @author java
  *
+ * @author java
  */
 public class HttpTest {
 
-    public final static String url = "https://pacs.yunyikang.cn/pacs/zskk/writePatientReport";
+    public final static String url = "http://test99.yunyikang.cn/pacs/zskk/writePatientReport";
 
+    /**
+     * 主函数,测试请求
+     *
+     * @param args
+     */
+    public static void main(String[] args) {
+        Map<String, String> data = new HashMap<>(22);
+        getData(data);
+        Map<String, String> params = new HashMap<>(10);
+        params.put("timestamp", String.valueOf(getSecondTimestamp(new Date())));
+        params.put("signature", getSign(data, "YgpxjVeIx0yoK6Atz413IAj7hU9dygH4"));
+        params.put("data", JSON.toJSONString(data));
+        System.out.println(params);
+        String result = sendPost(url, params);
+        System.out.println("===============");
+        System.out.println(result);
+    }
 
     /**
      * 发送GET请求
      *
-     * @param url
-     *            目的地址
-     * @param parameters
-     *            请求参数,Map类型。
+     * @param url        目的地址
+     * @param parameters 请求参数,Map类型。
      * @return 远程响应结果
      */
     public static String sendGet(String url, Map<String, String> parameters) {
-        String result="";
+        String result = "";
         BufferedReader in = null;// 读取响应输入流
         StringBuffer sb = new StringBuffer();// 存储参数
         String params = "";// 编码之后的参数
         try {
             // 编码请求参数
-            if(parameters.size()==1){
-                for(String name:parameters.keySet()){
+            if (parameters.size() == 1) {
+                for (String name : parameters.keySet()) {
                     sb.append(name).append("=").append(
                             java.net.URLEncoder.encode(parameters.get(name),
                                     "UTF-8"));
                 }
-                params=sb.toString();
-            }else{
+                params = sb.toString();
+            } else {
                 for (String name : parameters.keySet()) {
                     sb.append(name).append("=").append(
                             java.net.URLEncoder.encode(parameters.get(name),
@@ -80,7 +94,7 @@ public class HttpTest {
             }
         } catch (Exception e) {
             e.printStackTrace();
-        }finally{
+        } finally {
             try {
                 if (in != null) {
                     in.close();
@@ -89,16 +103,14 @@ public class HttpTest {
                 ex.printStackTrace();
             }
         }
-        return result ;
+        return result;
     }
 
     /**
      * 发送POST请求
      *
-     * @param url
-     *            目的地址
-     * @param parameters
-     *            请求参数,Map类型。
+     * @param url        目的地址
+     * @param parameters 请求参数,Map类型。
      * @return 远程响应结果
      */
     public static String sendPost(String url, Map<String, String> parameters) {
@@ -169,25 +181,6 @@ public class HttpTest {
         return result;
     }
 
-    /**
-     * 主函数,测试请求
-     *
-     * @param args
-     */
-    public static void main(String[] args) {
-        Map<String, String> data = new HashMap<>(22);
-        getData(data);
-        Map<String, String> params = new HashMap<>(10);
-        params.put("timestamp", String.valueOf(getSecondTimestamp(new Date())));
-        params.put("signature", getSign(data, "YgpxjVeIx0yoK6Atz413IAj7hU9dygH4"));
-        params.put("data", toJSONString(data));
-        System.out.println(toJSONString(params));
-        String result =sendPost(url, params);
-        System.out.println(result);
-    }
-
-
-
 
     public static void getData(Map<String, String> data) {
         data.put("hospital_id", "12");
@@ -213,20 +206,12 @@ public class HttpTest {
         data.put("confirm_doctor_name", "的撒旦2");
     }
 
-    public static  String getSign(Map<String, String> param, String key) {
-        return DigestUtils.md5Hex(mapSortedByKey(param) + "." + key);
+    public static String getSign(Map<String, String> param, String key) {
+        return DigestUtils.md5Hex(Ksort(param) + key);
     }
-    /*/**
-     *
-     * 功能描述:
-     *
-     * @param: [map]  key = YgpxjVeIx0yoK6Atz413IAj7hU9dygH4
-     * @return: void
-     * @auther: xjh
-     * @date: 2019/11/29 17:49
-     */
-    public static String Ksort(Map<String, String> map) {
 
+
+    public static String Ksort(Map<String, String> map) {
         String sb = "";
         String[] key = new String[map.size()];
         int index = 0;
@@ -237,35 +222,16 @@ public class HttpTest {
         Arrays.sort(key);
         for (String s : key) {
             sb += s + "=" + map.get(s) + "&";
-            sb = sb.substring(0, sb.length() - 1);
-            // 将得到的字符串进行处理得到目标格式的字符串
-            try {
-                sb = URLEncoder.encode(sb, "UTF-8");
-            } catch (UnsupportedEncodingException e) {
-                // TODO Auto-generated catch block
-                e.printStackTrace();
-            }// 使用常见的UTF-8编码
-            sb = sb.replace("%3D", "=").replace("%26", "&");
-         //   return sb.toString();
-           // System.out.println(sb);
         }
-        return sb.toString();
+        sb = sb.substring(0, sb.length() - 1);
+        try {
+            sb = URLEncoder.encode(sb, "UTF-8");
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }// 使用常见的UTF-8编码
+        return sb.replace("%3D", "=").replace("%26", "&");
     }
 
-    public static String mapSortedByKey(Map<String, String> param) {
-        StringBuilder stringBuilder = new StringBuilder();
-        ArrayList<String> keyList = new ArrayList<>(param.keySet());
-        Collections.sort(keyList);
-        for (int i = 0; i < keyList.size(); i++) {
-            String key = keyList.get(i);
-            if (i == keyList.size() - 1) {
-                stringBuilder.append(key).append("=").append(param.getOrDefault(key, ""));
-            } else {
-                stringBuilder.append(key).append("=").append(param.getOrDefault(key, "")).append("&");
-            }
-        }
-        return stringBuilder.toString();
-    }
 
     public static int getSecondTimestamp(Date date) {
         if (null == date) {

+ 7 - 8
DataFusion/src/com/zskk/control/ViewController.java

@@ -1,11 +1,5 @@
 package com.zskk.control;
 
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.UUID;
 import com.jfinal.core.Controller;
 import com.jfinal.plugin.activerecord.Db;
 import com.jfinal.plugin.activerecord.Record;
@@ -13,8 +7,13 @@ import com.zskk.model.Doctors;
 import com.zskk.model.Exams;
 import com.zskk.model.PatientInfos;
 import com.zskk.model.Report;
-import com.zskk.model.Studies;
-import com.zskk.service.WeixinService;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.UUID;
 
 public class ViewController extends Controller {