|
@@ -199,11 +199,11 @@ public class WithdrawSdk {
|
|
|
String resultJsonStr = HttpUtil.postForHttp(apiUrl + "/bpotop_trade/single", JSONObject.toJSONString(mapParam), null);
|
|
|
logger.info("单笔请求返回参数:{}", resultJsonStr);
|
|
|
|
|
|
- Map<String,Object> mapTypes = JSON.parseObject(resultJsonStr);
|
|
|
+ Map<String, Object> mapTypes = JSON.parseObject(resultJsonStr);
|
|
|
String returnCode = String.valueOf(mapTypes.get("return_code"));
|
|
|
- if (returnCode.equals("T")){
|
|
|
+ if (returnCode.equals("T")) {
|
|
|
return HttpResponseResult.succeed(true);
|
|
|
- }else{
|
|
|
+ } else {
|
|
|
return HttpResponseResult.failed(String.valueOf(mapTypes.get("return_message")));
|
|
|
}
|
|
|
} catch (IOException e) {
|
|
@@ -251,9 +251,10 @@ public class WithdrawSdk {
|
|
|
|
|
|
/**
|
|
|
* 查询商户余额(单位为:分,范围:1~10000000000)
|
|
|
+ *
|
|
|
* @return
|
|
|
*/
|
|
|
- public BigDecimal balanceQuery(){
|
|
|
+ public BigDecimal balanceQuery() {
|
|
|
Map<String, Object> requestMap = new HashMap<>();
|
|
|
requestMap.put("outMemberNo", memberNo);
|
|
|
requestMap.put("charset", "UTF-8");
|
|
@@ -270,18 +271,31 @@ public class WithdrawSdk {
|
|
|
} catch (Exception e) {
|
|
|
throw new ThirdpartyException("加密失败:{}", e.getMessage());
|
|
|
}
|
|
|
-
|
|
|
String resultJsonStr = null;
|
|
|
try {
|
|
|
resultJsonStr = HttpUtil.postForHttp(apiUrl + "/bpotop_trade/balance_query", JSONObject.toJSONString(requestMap), null);
|
|
|
- logger.info("查询余额响应参数:{}", resultJsonStr);
|
|
|
-
|
|
|
- String decryptStr = RSA.decryptPri(resultJsonStr, privateKey);
|
|
|
- Map stringToMap = JSONObject.parseObject(decryptStr);
|
|
|
- return new BigDecimal(String.valueOf(stringToMap.get("balance"))).divide(new BigDecimal("100"));
|
|
|
+ logger.info("查询余额响应参数(未解析):{}", resultJsonStr);
|
|
|
+ JSONObject resData = JSONObject.parseObject(resultJsonStr);
|
|
|
+ if("100".equals(resData.getString("code"))){
|
|
|
+ String sign = resData.getJSONObject("details").getJSONObject("data").getString("sign");
|
|
|
+ String decryptStr = RSA.decryptPri(sign, privateKey);
|
|
|
+ logger.info("查询余额响应参数(已解析):{}", decryptStr);
|
|
|
+ Map stringToMap = JSONObject.parseObject(decryptStr);
|
|
|
+ return new BigDecimal(String.valueOf(stringToMap.get("balance"))).divide(new BigDecimal("100"));
|
|
|
+ }
|
|
|
} catch (Exception e) {
|
|
|
e.printStackTrace();
|
|
|
}
|
|
|
return BigDecimal.ZERO;
|
|
|
}
|
|
|
+
|
|
|
+ public static void main(String[] args) throws Exception {
|
|
|
+ String privateKey = "MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBANf/X1s2raYQAmY5VY929XqOIRESFlpLzWbltA08EI2i0jnJY3/kcCpo1sCHqkyWpDFGRgM1WYE90ayzEpS6EdZpyJ2/N5JFJzx4wMil5KHLdtQUmVv9si+xuYNOKfJW6Xn6zI/Wh81J1+hMlUY4WigU5Qci7DjdOjg5OD6e5DO3AgMBAAECgYEAor9ENhII3SsK48MneKWFaQZWW+po9ThQV8uT0rUDM/UOuYPIeMDC0vGTfhW6d2K57Haqohg8jGjr51g2E+HvNV+fARaBfCwy00DGcxjI6N8gEInj2AppsGV6a0ZtzGBh3BxGhEFV7x3NmTylDk3WkGnkGDqDNyrBUgK0BzCJEmECQQD+gYckYRevVfrZEHDQHRNzzMUlV9/ljA9x8dt0LoCNbd/wFvs0Ekjhas/2lUBkewEd4Kr0jaFcYzlUO/qihcpNAkEA2UP5W44yLuIo8ttPpdsfkH/8Ax64IywQHrXWq+thH7I91VwY2vomTduw8x0PafZtp8xryF3LixTZwQ7gsYbwEwJAQbb8SB5x2SogPVALcREw5qOm+/92pnTFwCws+BDRzLLkMcAdWNKn0tybmhXrrIY+QZKzUbYIRiywrtlV3AUjuQJBAJbnFnfX4NUdchGT79Mjyd2kdxZ3rK+JOD0MUWkhWFkahMX/bKgTXK1xLIr/ISiY53rHigkl1Gzqc4Aa5EeJkI8CQFlzlBOfoVnq3fPMZCCZcZSm97L12MgHho0AzoNj9sw9YYn9WPM7bw2HT8GUheiU3aiZGCyGGpYuVHMiBGa7l9U=";
|
|
|
+
|
|
|
+ String sign = "zZi6+qN0+6cvyE3TO6BsggISgmZGuEkZYbz6POOJVNqY1r2ZvEL63rjAHoSB0vfrq7DJVdIb2kNWFOqVPNwH3OkTdkALlamxwFxMfL/Wg2VXKDxJpHKSqUPEGprcyIPcI+KZ2QbS9jj2P7NnVXBOlijRg/SZKfyX53zIipitg4uISV/5xuQVIvkLPAlHss1D5N0efRd9eep9PhxKAJ6g6GYgerDoSCAWZqBFCS2KdGQeg9Jvzj15xWsDAXMCgha9TS+YBZPvLpAbioaPO2PLfEEp8GAwHW1zdNw35O/6z3i0CQz6cJYCMRGAtGcnbK22rAiTAB5pZt7CLMdNhkNAGg==";
|
|
|
+
|
|
|
+ String decryptStr = RSA.decryptPri(sign, privateKey);
|
|
|
+ System.out.println(decryptStr);
|
|
|
+
|
|
|
+ }
|
|
|
}
|