diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java index e5f1460..20644af 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/Test.java @@ -1,11 +1,13 @@ package com.lyms.platform.operate.web; +import com.lyms.platform.common.utils.MD5; import com.lyms.platform.pojo.BasicConfig; import net.sourceforge.pinyin4j.PinyinHelper; import org.apache.log4j.Logger; import sun.misc.Unsafe; import java.lang.reflect.Field; +import java.text.SimpleDateFormat; import java.util.*; /** @@ -15,8 +17,42 @@ public class Test { private static org.apache.log4j.Logger log = Logger.getLogger("HTTP-INVOKE"); public static void main(String[] args) throws Exception { + + Map resutl = getSignParams("bisp-czsfy", "czsfy123$"); + System.out.println(resutl); + + } + + public static Map getSignParams(String syscode, String secret) { + Map signParams = new HashMap<>(); + signParams.put("syscode", syscode); + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + signParams.put("timestamp", sdf.format(new Date())); + String unencryptedStr = getUnencryptedStr(signParams); + String sign2 = MD5.getMD5(secret + unencryptedStr + secret);//获取数字签名 + signParams.put("sign", sign2); + return signParams; + } + + public static String getUnencryptedStr(Map signParams) { + List paramsList = new ArrayList<>(); + for (String key : signParams.keySet()) { + if ("sign".equals(key)) { + continue; + } + String value = (String) signParams.get(key); + paramsList.add(key + value);//将参数转换成key+value格式 + } + Object[] paramsArray = (Object[]) paramsList.toArray(); + Arrays.sort(paramsArray);//ascii码排序 + String unencryptedStr = "";//待加密字符串 + for (Object paramStr : paramsArray) { + unencryptedStr += paramStr; + } + return unencryptedStr; } + public static Integer getLevel(Integer total) { if (total == null) { return 0; diff --git a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java index 116488c..5eb852d 100644 --- a/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java +++ b/platform-operate-api/src/main/java/com/lyms/platform/operate/web/facade/ApplyOrderFacade.java @@ -1631,7 +1631,9 @@ public class ApplyOrderFacade { timestamp = timestamp.replaceAll(" ", "%20");//空格替换成 %20 String syscode = signParams.get("syscode").toString(); String sign = signParams.get("sign").toString(); - System.out.println(sign + " saveSampleInfo param="+JsonUtil.obj2JsonString(map)); + System.out.println("timestamp"+timestamp+" syscode="+" sign="+sign); + + System.out.println("saveSampleInfo param="+JsonUtil.obj2JsonString(map)); String s = HttpClientUtil.sendPost(HUADA_URL + "/intf?method=saveSampleInfo&" + "timestamp=" + timestamp + "&syscode=" + syscode + "&sign=" + sign, map); System.out.println(s); //{"code":"200","msg":"success","rows":{"successedList":[{"msg":"INSP190001417198 ,样例号: 18S4074733R 保存成功!","result":true,"canseqId":"2018101700007123"}],"failedList":[]}}