测试签名
authorqiaowei <jov123@163.com>
Thu, 18 Jul 2019 08:51:40 +0000 (16:51 +0800)
committerqiaowei <jov123@163.com>
Thu, 18 Jul 2019 08:51:40 +0000 (16:51 +0800)
payapi-common/src/main/java/com/supwisdom/dlpay/api/APIRequestParam.java
payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/OpenUserParam.java
payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java

index 8631571..5c89d17 100644 (file)
@@ -129,14 +129,12 @@ public abstract class APIRequestParam {
     if ("MD5".equalsIgnoreCase(signType)) {
       calcSign = md5(signdata + key); //默认MD5
     }
-
     if (sign.equalsIgnoreCase(calcSign)) {
       return true;
     }
     return false;
   }
-
-  public boolean checkSign(String key) {
+  private Map getParam(){
     Class clazz = this.getClass();
     Map<String, String> paramMap = new HashMap<>();
     Method[] allGetter = clazz.getMethods();
@@ -167,7 +165,16 @@ public abstract class APIRequestParam {
         }
       }
     }
-    return calcSignAndCheck(paramMap, key);
+    return  paramMap;
+  }
+
+  public boolean checkSign(String key) {
+    return calcSignAndCheck(getParam(), key);
+  }
+  public void generalSign(String key){
+    String signdata =   createLinkString(paraFilter(getParam()));
+    String sign = md5(signdata + key);
+    this.sign = sign;
   }
 
   public abstract boolean checkParam() throws RequestParamCheckException;
index 1cf44f7..e24a632 100644 (file)
@@ -50,7 +50,7 @@ public class OpenUserParam extends APIRequestParam {
 
   @Override
   public boolean checkParam() throws RequestParamCheckException {
-    if (!Constants.SEX_MALE.equals(sex) && !Constants.SEX_FEMALE.equals(sex)) {
+    if (!StringUtils.isEmpty(sex)&&!Constants.SEX_MALE.equals(sex) && !Constants.SEX_FEMALE.equals(sex)) {
       throw new RequestParamCheckException("性别非法[male|female]");
     }
     if (StringUtils.isEmpty(idno) || !StringUtils.isAlphanumeric(idno)) {
index 8a720d3..0ae4a62 100644 (file)
@@ -3,10 +3,7 @@ package com.supwisdom.dlpay.paysdktest;
 
 import com.supwisdom.dlpay.api.bean.*;
 import com.supwisdom.dlpay.paysdk.ApiLoginHelper;
-import com.supwisdom.dlpay.paysdk.proxy.ApiCommonProxy;
-import com.supwisdom.dlpay.paysdk.proxy.ApiLoginProxy;
-import com.supwisdom.dlpay.paysdk.proxy.CitizenCardPayProxy;
-import com.supwisdom.dlpay.paysdk.proxy.ShopProxy;
+import com.supwisdom.dlpay.paysdk.proxy.*;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -50,6 +47,8 @@ public class CitizenCardPayProxyTest {
 
   @Autowired
   private ShopProxy shopProxy;
+  @Autowired
+  private UserProxy userProxy;
 
   @org.junit.Test
   public void citizencardPayinit() {
@@ -109,6 +108,27 @@ sign = "23AE31C973EA8CC79A82B03C6DF48F9C"
     assertThat("shop open " + response.getRetmsg() + response.getException(),
             response.getRetcode(), equalTo(0));
   }
+  @Test
+  public void openUserAccount(){
+
+    ApiLoginHelper helper = new ApiLoginHelper(apiLoginProxy);
+    helper.login(appid, secret);
+    ApiVersionResponse version = apiCommonProxy.apiVersion();
+
+    assertThat("get version error " + version.getException(),
+            version.getVersion(), notNullValue());
+    OpenUserParam param = new OpenUserParam();
+    param.setUid("testuid1");
+    param.setIdtype("student_idcard");
+    param.setIdno("100016");
+    param.setName("100016");
+    param.setTenantid("default");
+    param.generalSign(secret);
+    System.out.println(param.getSign());
+    UserResponse response = userProxy.openAccount(param);
+    assertThat("user open " + response.getRetmsg() + response.getException(),
+            response.getRetcode(), equalTo(0));
+  }
 
   public static void main(String[] args) {