测试签名
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/APIRequestParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/APIRequestParam.java
index 8631571..5c89d17 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/APIRequestParam.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/APIRequestParam.java
@@ -129,14 +129,12 @@
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 @@
}
}
}
- 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;
diff --git a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/OpenUserParam.java b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/OpenUserParam.java
index 1cf44f7..e24a632 100644
--- a/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/OpenUserParam.java
+++ b/payapi-common/src/main/java/com/supwisdom/dlpay/api/bean/OpenUserParam.java
@@ -50,7 +50,7 @@
@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)) {
diff --git a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
index 8a720d3..0ae4a62 100644
--- a/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
+++ b/payapi-sdk/src/test/java/com/supwisdom/dlpay/paysdktest/CitizenCardPayProxyTest.java
@@ -3,10 +3,7 @@
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 @@
@Autowired
private ShopProxy shopProxy;
+ @Autowired
+ private UserProxy userProxy;
@org.junit.Test
public void citizencardPayinit() {
@@ -109,6 +108,27 @@
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) {