diff --git a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxPayController.java b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxPayController.java index 33c00af53..f13144468 100644 --- a/mallinkCallback/src/main/java/com/iformall/controller/callback/WxPayController.java +++ b/mallinkCallback/src/main/java/com/iformall/controller/callback/WxPayController.java @@ -1,6 +1,7 @@ package com.iformall.controller.callback; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; import com.iformall.controller.base.BaseController; import com.iformall.domain.po.msg.FmInsideNotifyPaySuccessMsg; import com.iformall.domain.po.msg.FmInsideNotifyRefundSuccessMsg; @@ -196,7 +197,17 @@ public class WxPayController extends BaseController { try { json = IOUtils.toString(request.getInputStream(), Charset.forName("UTF-8")); logger.info(json); - paramMap = JSON.parseObject(json,Map.class); + Map jsonMap = JSON.parseObject(json, Map.class); + for(String key:jsonMap.keySet()){ + Object o = jsonMap.get(key); + if(o instanceof String){ + paramMap.put(key,(String) o); + }else if(o instanceof JSONObject){ + paramMap.put(key,JSON.toJSONString(o)); + }else{ + paramMap.put(key,String.valueOf(o)); + } + } // paramMap = WxPayment.xmlToMap(xml); paramMap.put("tenantId", tenantId); String jsonMsg = JSON.toJSONString(paramMap);